Warning, /frameworks/kirigami/src/controls/AboutPage.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *  SPDX-FileCopyrightText: 2018 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 import QtQuick 2.1
0008 import QtQuick.Controls 2.4 as QQC2
0009 import QtQuick.Window 2.15
0010 import QtQuick.Layouts 1.3
0011 import org.kde.kirigami 2.19 as Kirigami
0012 
0013 //TODO KF6: move somewhere else? kirigami addons?
0014 /**
0015  * @brief This component is an "About" page that displays data about the application.
0016  *
0017  * It allows showing the defined copyright notice of the application together
0018  * with the contributors and some information of which platform it's running on.
0019  *
0020  * @see <a href="https://develop.kde.org/docs/getting-started/kirigami/advanced-add_about_page">About Page in Kirigami</a>
0021  * @see <a href="https://develop.kde.org/hig/components/assistance/aboutview">KDE Human Interface Guidelines on Application Information</a>
0022  * @see kirigami::AboutItem
0023  * @since KDE Frameworks 5.52
0024  * @since org.kde.kirigami 2.6
0025  * @inherit kirigami::ScrollablePage
0026  */
0027 Kirigami.ScrollablePage {
0028     id: page
0029 
0030 //BEGIN properties
0031     /**
0032      * @brief This property holds a JSON object with the structure of KAboutData
0033      * that will be displayed by the AboutPage.
0034      *
0035      * @see KAboutData
0036      *
0037      * Note that ``displayName``, ``version``, ``description``, and ``authors``
0038      * keys are mandatory, while the rest of the keys are optional. Make sure
0039      * to fill out as many optional keys as you can to provide more accurate
0040      * crediting information, especially ``copyrightStatement``, which
0041      * facilitates the management of the licenses used in your program.
0042      *
0043      * Example usage:
0044      * @code{.json}
0045      * aboutData: {
0046      *    "displayName" : "KirigamiApp",
0047      *    "productName" : "kirigami/app",
0048      *    "componentName" : "kirigamiapp",
0049      *    "shortDescription" : "A Kirigami example",
0050      *    "homepage" : "",
0051      *    "bugAddress" : "submit@bugs.kde.org",
0052      *    "version" : "5.14.80",
0053      *    "otherText" : "",
0054      *    "authors" : [
0055      *        {
0056      *            "name" : "...",
0057      *            "task" : "",
0058      *            "emailAddress" : "somebody@kde.org",
0059      *            "webAddress" : "",
0060      *            "ocsUsername" : ""
0061      *        }
0062      *    ],
0063      *    "credits" : [],
0064      *    "translators" : [],
0065      *    "licenses" : [
0066      *        {
0067      *            "name" : "GPL v2",
0068      *            "text" : "long, boring, license text",
0069      *            "spdx" : "GPL-2.0"
0070      *        }
0071      *    ],
0072      *    "copyrightStatement" : "© 2010-2018 Plasma Development Team",
0073      *    "desktopFileName" : "org.kde.kirigamiapp"
0074      * }
0075      * @endcode
0076      * @property KAboutData aboutData
0077      */
0078     property alias aboutData: aboutItem.aboutData
0079 
0080     /**
0081      * @brief This property holds a link to a "Get Involved" page.
0082      *
0083      * default: `"https://community.kde.org/Get_Involved" when your application id starts with "org.kde.", otherwise is empty`
0084      *
0085      * @property url getInvolvedUrl
0086      */
0087     property alias getInvolvedUrl: aboutItem.getInvolvedUrl
0088 
0089     /**
0090      * @brief This property holds a link to a "Donate" page.
0091      * @since KDE Frameworks 5.101
0092      *
0093      * default: `"https://kde.org/community/donations" when application id starts with "org.kde.", otherwise it is empty.`
0094      */
0095     property alias donateUrl: aboutItem.donateUrl
0096 
0097     /** @internal */
0098     default property alias _content: aboutItem._content
0099 //END properties
0100 
0101     title: qsTr("About %1").arg(page.aboutData.displayName)
0102 
0103     Kirigami.AboutItem {
0104         id: aboutItem
0105         wideMode: page.width >= aboutItem.implicitWidth
0106 
0107         _usePageStack: applicationWindow().pageStack ? true : false
0108     }
0109 }