58 lines
2.1 KiB
QML
58 lines
2.1 KiB
QML
// SPDX-License-Identifier: MIT
|
|
import QtQuick
|
|
import QtQuick.Controls as Controls
|
|
import QtQuick.Layouts
|
|
import org.kde.kirigami as Kirigami
|
|
|
|
Kirigami.ApplicationWindow {
|
|
id: window
|
|
title: i18n("Panel Actions")
|
|
width: 760
|
|
height: 840
|
|
minimumWidth: 600
|
|
minimumHeight: 400
|
|
visible: true
|
|
pageStack.initialPage: Kirigami.ScrollablePage {
|
|
title: window.title
|
|
ColumnLayout {
|
|
Kirigami.InlineMessage {
|
|
id: result
|
|
Layout.fillWidth: true
|
|
}
|
|
ConfigGeneral {
|
|
id: form
|
|
objectName: "settingsForm"
|
|
applications: panelSettings.applications
|
|
Layout.fillWidth: true
|
|
function load() {
|
|
for (const key in panelSettings.values) form["cfg_" + key] = panelSettings.values[key];
|
|
}
|
|
Component.onCompleted: load()
|
|
}
|
|
}
|
|
footer: Controls.ToolBar {
|
|
contentItem: RowLayout {
|
|
spacing: Kirigami.Units.smallSpacing
|
|
Item { Layout.fillWidth: true }
|
|
Controls.Button {
|
|
objectName: "saveSettings"
|
|
text: i18n("Save")
|
|
icon.name: "document-save"
|
|
onClicked: {
|
|
const values = {};
|
|
for (const key in panelSettings.values) values[key] = form["cfg_" + key];
|
|
const saved = panelSettings.save(values);
|
|
result.type = saved ? Kirigami.MessageType.Positive : Kirigami.MessageType.Error;
|
|
result.text = saved ? i18n("Settings saved. Changes apply immediately.") : i18n("Could not save settings. Select an application or enter a command for each launch action, and check that the configuration file is writable.");
|
|
result.visible = true;
|
|
}
|
|
}
|
|
Controls.Button {
|
|
text: i18n("Close")
|
|
onClicked: window.close()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|