110 lines
3.0 KiB
QML
110 lines
3.0 KiB
QML
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
// SPDX-FileCopyrightText: 2026 pluvium27 <pluvium27@outlook.com>
|
|
|
|
import QtQuick
|
|
import QtQuick.Controls as QQC2
|
|
import QtQuick.Layouts
|
|
|
|
import org.kde.kirigami as Kirigami
|
|
import org.kde.kirigamiaddons.statefulapp as StatefulApp
|
|
import org.kde.kirigamiaddons.formcard as FormCard
|
|
|
|
import org.kde.kirimemo
|
|
import org.kde.kirimemo.settings as Settings
|
|
|
|
StatefulApp.StatefulWindow {
|
|
id: root
|
|
|
|
property int counter: 0
|
|
|
|
title: i18nc("@title:window", "KiriMemo")
|
|
|
|
windowName: "KiriMemo"
|
|
|
|
minimumWidth: Kirigami.Units.gridUnit * 20
|
|
minimumHeight: Kirigami.Units.gridUnit * 20
|
|
|
|
application: KiriMemoApplication {
|
|
configurationView: Settings.KiriMemoConfigurationView {}
|
|
}
|
|
|
|
Connections {
|
|
target: root.application
|
|
|
|
function onIncrementCounter(): void {
|
|
root.counter += 1;
|
|
}
|
|
}
|
|
|
|
globalDrawer: Kirigami.GlobalDrawer {
|
|
isMenu: !Kirigami.Settings.isMobile
|
|
actions: [
|
|
Kirigami.Action {
|
|
id: incrementCounterAction
|
|
fromQAction: root.application.action("increment_counter")
|
|
},
|
|
Kirigami.Action {
|
|
separator: true
|
|
},
|
|
Kirigami.Action {
|
|
fromQAction: root.application.action("options_configure")
|
|
},
|
|
Kirigami.Action {
|
|
fromQAction: root.application.action("options_configure_keybinding")
|
|
},
|
|
Kirigami.Action {
|
|
separator: true
|
|
},
|
|
Kirigami.Action {
|
|
id: aboutAction
|
|
fromQAction: root.application.action("open_about_page")
|
|
},
|
|
Kirigami.Action {
|
|
fromQAction: root.application.action("open_about_kde_page")
|
|
},
|
|
Kirigami.Action {
|
|
fromQAction: root.application.action("file_quit")
|
|
}
|
|
]
|
|
}
|
|
|
|
pageStack.initialPage: FormCard.FormCardPage {
|
|
id: page
|
|
|
|
title: i18nc("@title", "KiriMemo")
|
|
|
|
actions: [incrementCounterAction]
|
|
|
|
Kirigami.Icon {
|
|
source: "applications-development"
|
|
implicitWidth: Math.round(Kirigami.Units.iconSizes.huge * 1.5)
|
|
implicitHeight: Math.round(Kirigami.Units.iconSizes.huge * 1.5)
|
|
|
|
Layout.alignment: Qt.AlignHCenter
|
|
Layout.topMargin: Kirigami.Units.largeSpacing * 4
|
|
}
|
|
|
|
Kirigami.Heading {
|
|
text: i18nc("@title", "Welcome to KiriMemo") + '\n' + i18nc("@info:status", "Counter: %1", root.counter)
|
|
horizontalAlignment: Qt.AlignHCenter
|
|
|
|
Layout.topMargin: Kirigami.Units.largeSpacing
|
|
Layout.fillWidth: true
|
|
}
|
|
|
|
FormCard.FormCard {
|
|
Layout.topMargin: Kirigami.Units.largeSpacing * 4
|
|
|
|
FormCard.FormButtonDelegate {
|
|
action: incrementCounterAction
|
|
}
|
|
|
|
FormCard.FormDelegateSeparator {}
|
|
|
|
FormCard.FormButtonDelegate {
|
|
action: aboutAction
|
|
}
|
|
}
|
|
}
|
|
}
|