7import QtQuick.Controls 2.10
8import QtQuick.Layouts 1.1
10import org.kde.purpose 1.0
11import org.kde.kirigami 2.10 as Kirigami
15 property alias model: jobController.model
16 property alias index: jobController.index
18 readonly property alias state: jobController.state
19 readonly property alias job: jobController.job
21 implicitHeight: mainLoader.implicitHeight
24 jobController.configure()
27 PurposeJobController {
36 switch (jobController.state) {
37 case PurposeJobController.Configuring: return configuring
38 case PurposeJobController.Running: return running
50 anchors.centerIn: parent
62 Layout.leftMargin: Kirigami.Units.largeSpacing
63 Layout.rightMargin: Kirigami.Units.largeSpacing
64 Layout.topMargin: Kirigami.Units.largeSpacing
66 Layout.fillHeight: true
67 Layout.fillWidth: true
69 Component.onCompleted: setSource(jobController.configuration.configSourceCode, jobController.configuration.data)
72 var initialData = jobController.configuration.data;
73 for(var i in jobController.configuration.neededArguments) {
74 var arg = jobController.configuration.neededArguments[i]
75 if (arg in configLoader.item) {
76 item[arg+
"Changed"].connect(dataHasChanged);
77 initialData[arg] = item[arg];
79 console.warn(
"property not found", arg);
82 jobController.configuration.data = initialData;
85 function dataHasChanged()
87 var jobData = jobController.configuration.data;
88 for(var i in jobController.configuration.neededArguments) {
89 var arg = jobController.configuration.neededArguments[i]
90 if (arg in configLoader.item) {
91 jobData[arg] = configLoader.item[arg];
93 console.warn(
"property not found", arg);
95 jobController.configuration.data = jobData;
100 textFormat:
Text.PlainText
101 Layout.fillWidth:
true
102 Layout.fillHeight:
true
103 horizontalAlignment:
Text.AlignHCenter
104 verticalAlignment:
Text.AlignVCenter
105 visible: configLoader.status === Loader.Error
106 wrapMode:
Text.WordWrap
107 text: configLoader.status === Loader.Error
108 ?
i18nd(
"libpurpose6_quick",
"Failed to load the configuration page for this action:\n\n%1", configLoader.sourceComponent.errorString())
121 text:
i18nd(
"libpurpose6_quick",
"Send")
122 icon.
name:
"document-send"
123 enabled: jobController.configuration
124 && jobController.configuration.isReady
125 onClicked: jobController.startJob()
129 text:
i18nd(
"libpurpose6_quick",
"Cancel")
130 icon.
name:
"dialog-cancel"
131 onClicked: jobController.
cancel()
QString i18nd(const char *domain, const char *text, const TYPE &arg...)
QString name(StandardShortcut id)