forked from asztalosdani/substance-painter-to-deadline
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ConfigurePanel.qml
125 lines (107 loc) · 3.26 KB
/
ConfigurePanel.qml
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import QtQuick 2.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Controls 1.4
import QtQuick.Layouts 1.3
import AlgWidgets 1.0
import "deadline.js" as Deadline
AlgDialog {
id: configureDialog
visible: false
title: "configure"
width: 500
minimumWidth: width
maximumWidth: width
height: 150
minimumHeight: height
maximumHeight: height
onAccepted: {
internal.save()
}
QtObject {
id: internal
function save() {
alg.settings.setValue("Host", hostTextEdit.text)
alg.settings.setValue("Port", portTextEdit.text)
alg.settings.setValue("User", usernameTextEdit.text)
}
function testConnection() {
testButton.enabled = false
Deadline.getUser(usernameTextEdit.text, onSuccess, onError)
}
function onSuccess(user) {
if (user.length == 0) {
messageDialog.title = "Warning"
messageDialog.text = "Connection to deadline was successful, but no such user found"
messageDialog.icon = StandardIcon.Warning
} else {
messageDialog.title = "Success"
messageDialog.text = "Connection to deadline was successful, user found"
messageDialog.icon = StandardIcon.Information
}
messageDialog.open()
testButton.enabled = true
}
function onError() {
messageDialog.title = "Error"
messageDialog.text = "Connection to deadline was not successful"
messageDialog.icon = StandardIcon.Critical
messageDialog.open()
testButton.enabled = true
}
}
Rectangle {
id: content
parent: contentItem
anchors.fill: parent
anchors.margins: 12
color: "transparent"
clip: true
GridLayout {
columns: 2
anchors {
top: parent.top
right: parent.right
left: parent.left
}
AlgLabel { text: "Host" }
AlgTextEdit {
id: hostTextEdit
Layout.fillWidth: true
Layout.preferredHeight: 20
text: alg.settings.value("Host", "")
}
AlgLabel { text: "Port" }
AlgTextEdit {
id: portTextEdit
Layout.fillWidth: true
Layout.preferredHeight: 20
text: alg.settings.value("Port", "")
}
AlgLabel { text: "Deadline username" }
AlgTextEdit {
id: usernameTextEdit
Layout.fillWidth: true
Layout.preferredHeight: 20
text: alg.settings.value("User", "")
}
AlgButton {
id: testButton
Layout.row: 3
Layout.column: 1
text: "Test connection"
anchors {
right: parent.right
}
onClicked: {
internal.save()
internal.testConnection()
}
}
}
}
MessageDialog {
id: messageDialog
visible: false
}
}