صفحات حول FormCard
ملحقات كيريغامي هي مجموعة إضافية من المكونات البصرية التي تعمل بشكل جيد على الجوال والحاسوب المكتبي ومضمونة أن تكون عبر المنصات. تستخدم كيريغامي في الخلفية لإنشاء مكوناتها.
تسمح لك بعض تلك المكونات بنسب الفضل لعملك وعمل المساهمين الآخرين في مشروعك، بالإضافة إلى ذكر الأطر المستخدمة في تطبيقك: AboutKDE و AboutPage.
حول كيدي
ينبغي أن يفتح كل زر جديد أنشأناه في الخطوة السابقة صفحة جديدة. يمكنك إضافة صفحات جديدة عن طريق إنشاء مثيلات لها كمكونات Components ثم استخدام pageStack.layers.push() لكل زر لتحميل تلك الصفحة في ملف Main.qml الخاص بنا:
| |
هذا كل شيء حقاً! كل ما يلزم هو إنشاء مثيل لـ FormCard.AboutKDE. ينبغي أن ترى شيئاً كهذا بعد النقر على زر AboutKDE:

صفحة حول
AboutPage الخاصة بالتطبيق أكثر تعقيداً قليلاً، لكنها لا تزال بسيطة جداً في الاستخدام.
للحصول على صفحة حول بسيطة تستخدم البيانات المُعينة بواسطة KAboutData::setApplicationData(aboutData); في main.cpp أضف التالي إلى ملف Main.qml الخاص بك:
| |
ينبغي أن تبدو صفحة حول لتطبيقنا هكذا:

استخدام JSON بدلاً من KAboutData
بدلاً من ترك صفحة حول تحصل على المعلومات من KAboutData، من الممكن تمرير كائن JSON مباشرة. ستظل بحاجة إلى استخدام QApplication::setWindowIcon() في ملف main.cpp الخاص بك لكي يظهر أيقونة تطبيقك.
أنشئ ملف MyAboutPage.qml هكذا:
import org.kde.kirigamiaddons.formcard as FormCard
import org.kde.about
FormCard.AboutPage {
title: i18nc("@action:button", "About")
aboutData: {
"displayName" : "Addons Example",
"productName" : "",
"componentName" : "addonsexample",
"shortDescription" : "This program shows how to use AboutKDE and AboutPage",
"homepage" : "https://kde.org",
"bugAddress" : "",
"version" : "1.0",
"otherText" : "Optional text shown in the About",
"authors" : [
{
"name" : "John Doe",
"task" : "Maintainer",
"emailAddress" : "",
"webAddress" : "",
"ocsUsername" : ""
}
],
"credits" : [],
"translators" : [],
"licenses" : [
{
"name" : "GPL v3",
"text" : "Long license text goes here",
"spdx" : "GPL-3.0"
}
],
"copyrightStatement" : "© 2023",
"desktopFileName" : ""
}
}
ثم اضبط ملف Main.qml الخاص بك ليتضمن صفحة حول الجديدة:
| |
يحتوي كائن JSON الرئيسي هنا على المفاتيح displayName و productName و homepage وهكذا. يمكن تمرير مصفوفة من الكائنات لكل من المفاتيح authors و credits و translators و licenses. تشترك الكائنات الممررة إلى authors و credits و translators في نفس المفاتيح بحيث يمكن عرض كل منها في قسمه الخاص، بينما يتضمن licenses المفاتيح name و text و spdx لكل ترخيص مضاف، حيث أنه ليس من غير المألوف أن يتضمن نفس المشروع تراخيص متعددة.
هذه المفاتيح اختيارية، لكن يُتوقع حد أدنى معقول من المفاتيح لجعل تطبيقك لا يحتوي على حقول فارغة: displayName و version و description و homepage و copyrightStatement و authors. ومع ذلك، يُشجعك على ملء أكبر عدد ممكن من المفاتيح.