Page MenuHomePhorge

About.qml
No OneTemporary

Size
4 KB
Referenced Files
None
Subscribers
None

About.qml

/*
* This file is part of kazv.
* SPDX-FileCopyrightText: 2024 tusooa <tusooa@kazv.moe>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.formcard as FormCard
import org.kde.coreaddons as CoreAddons
import moe.kazv.mxc.kazv as MK
import 'matrix-helpers.js' as Helpers
FormCard.FormCardPage {
id: aboutPage
title: l10n.get('about-page-title')
property var aboutData: CoreAddons.AboutData
property var authors: [
{
name: 'tusooa',
task: l10n.get('about-author-task-maintainer'),
emailAddress: 'tusooa@kazv.moe',
website: 'https://blog.tusooa.xyz',
},
{
name: 'nannanko',
task: l10n.get('about-author-task-developer'),
emailAddress: 'nannanko@kazv.moe',
},
{
name: 'April Simone',
task: l10n.get('about-author-task-developer'),
emailAddress: 'apr3vau@outlook.com',
website: 'https://apr3vau.github.io',
},
]
property var libraries: [
{
name: 'libkazv',
website: 'https://lily-is.land/kazv/libkazv',
},
{
name: 'cmark',
website: 'https://github.com/commonmark/cmark',
},
{
name: 'nlohmann::json',
website: 'https://github.com/nlohmann/json',
},
{
name: 'zug',
website: 'https://github.com/arximboldi/zug',
},
{
name: 'immer',
website: 'https://github.com/arximboldi/immer',
},
{
name: 'lager',
website: 'https://github.com/arximboldi/lager',
},
{
name: 'crypto++',
website: 'https://github.com/weidai11/cryptopp',
},
]
FormCard.FormCard {
Layout.topMargin: Kirigami.Units.gridUnit
FormCard.FormTextDelegate {
text: l10n.get('about-display-name', { version: aboutData.version })
}
FormCard.FormButtonDelegate {
text: aboutData.homepage
onClicked: Qt.openUrlExternally(aboutData.homepage)
}
FormCard.FormTextDelegate {
text: l10n.get('about-short-description')
}
FormCard.FormTextDelegate {
text: l10n.get('about-copyright')
}
FormCard.FormButtonDelegate {
text: l10n.get('about-license')
onClicked: Qt.openUrlExternally('https://www.gnu.org/licenses/agpl-3.0.html')
}
}
FormCard.FormHeader {
Layout.topMargin: Kirigami.Units.gridUnit
title: l10n.get('about-used-libraries')
}
FormCard.FormCard {
Repeater {
model: Kirigami.Settings.information
delegate: FormCard.FormTextDelegate {
required property string modelData
text: modelData
}
}
Repeater {
model: aboutPage.libraries
delegate: FormCard.FormButtonDelegate {
required property string name
required property string website
text: name
description: website
onClicked: Qt.openUrlExternally(website)
}
}
}
FormCard.FormHeader {
Layout.topMargin: Kirigami.Units.gridUnit
title: l10n.get('about-authors')
}
FormCard.FormCard {
objectName: 'authorsCard'
Repeater {
model: aboutPage.authors
delegate: FormCard.FormTextDelegate {
id: author
required property string name
required property string task
required property var modelData
required property int index
objectName: `authors${index}`
text: name
description: task
trailing: RowLayout {
ToolButton {
objectName: 'emailButton'
visible: !!author.modelData.emailAddress
display: AbstractButton.IconOnly
icon.name: 'mail-send'
text: l10n.get('about-author-email-action')
ToolTip.text: author.modelData.emailAddress
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.timeout: Helpers.toolTipTimeout
ToolTip.visible: hovered
onClicked: Qt.openUrlExternally('mailto:' + author.modelData.emailAddress)
}
ToolButton {
objectName: 'websiteButton'
visible: !!author.modelData.website
display: AbstractButton.IconOnly
icon.name: 'internet-services'
text: l10n.get('about-author-website-action')
ToolTip.text: author.modelData.website
ToolTip.delay: Kirigami.Units.toolTipDelay
ToolTip.timeout: Helpers.toolTipTimeout
ToolTip.visible: hovered
onClicked: Qt.openUrlExternally(author.modelData.website)
}
}
}
}
}
}

File Metadata

Mime Type
text/plain
Expires
Tue, Jun 24, 2:28 PM (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
226843
Default Alt Text
About.qml (4 KB)

Event Timeline