1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
// SPDX-FileCopyrightText: 2024 Carl Schwan <carl@carlschwan.eu>
// SPDX-License-Identifier: LGPL-2.1-or-later
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls as Controls
import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.delegates as Delegates
import org.kde.kirigamiaddons.components as Components
Controls.ApplicationWindow {
id: root
visible: true
width: contentRow.implicitWidth + Kirigami.Units.largeSpacing * 4
height: contentRow.implicitHeight + Kirigami.Units.largeSpacing * 4
background: Controls.Control {
background: Components.DialogRoundedBackground {}
leftInset: Kirigami.Units.largeSpacing
topInset: Kirigami.Units.largeSpacing
rightInset: Kirigami.Units.largeSpacing
bottomInset: Kirigami.Units.largeSpacing
}
flags: Qt.Window | Qt.FramelessWindowHint | Qt.WA_TranslucentBackground | Qt.NoDropShadowWindowHint
color: "transparent"
Shortcut {
sequence: StandardKey.Cancel
onActivated: Qt.quit()
}
Helper {
id: helper
}
RowLayout {
id: contentRow
x: Kirigami.Units.largeSpacing * 2
y: Kirigami.Units.largeSpacing * 2
spacing: Kirigami.Units.smallSpacing
Repeater {
model: [
{
name: i18n("Calligra Words"),
icon: "calligrawords",
desktopId: "calligrawords"
},
{
name: i18n("Calligra Stage"),
icon: "calligrastage",
desktopId: "calligrastage"
},
{
name: i18n("Calligra Sheets"),
icon: "calligrasheets",
desktopId: "calligrasheets"
},
{
name: i18n("Karbon"),
icon: "karbon",
desktopId: "karbon"
},
{
name: i18n("Quit"),
icon: "application-exit-symbolic",
desktopId: ""
}
]
Delegates.RoundedItemDelegate {
leftPadding: Kirigami.Units.largeSpacing
topPadding: Kirigami.Units.largeSpacing
rightPadding: Kirigami.Units.largeSpacing
bottomPadding: Kirigami.Units.largeSpacing
onClicked: helper.execute(modelData.desktopId)
Kirigami.Theme.colorSet: Kirigami.Theme.View
Kirigami.Theme.inherit: false
contentItem: ColumnLayout {
Kirigami.Icon {
source: modelData.icon
Layout.preferredWidth: Kirigami.Units.iconSizes.huge * 2
Layout.preferredHeight: Kirigami.Units.iconSizes.huge * 2
}
Kirigami.Heading {
level: 2
text: modelData.name
Layout.fillWidth: true
horizontalAlignment: Qt.AlignHCenter
}
}
}
}
}
}
|