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
import { CheckBox, ScrollView } from "std-widgets.slint";
import { ProjectTabState, UserInterfaceTabState } from "../globals.slint";
import { Paper, FormField } from "../components/misc.slint";
export component UserInterfaceTab inherits Rectangle {
background: #ffffff;
VerticalLayout {
padding: 5px;
spacing: 0px;
// Title
Text {
text: "User Interface Settings";
font-size: 28px;
font-weight: 700;
color: #212529;
}
// Form in Paper
Paper {
with-border: true;
VerticalLayout {
padding: 16px;
spacing: 16px;
if ProjectTabState.language == "Rust" : VerticalLayout {
spacing: 16px;
Text {
text: "Rust User Interfaces";
font-size: 18px;
font-weight: 600;
}
CheckBox {
text: "CLI";
checked <=> UserInterfaceTabState.rust_cli;
toggled => {
UserInterfaceTabState.rust_cli_changed(self.checked);
}
}
CheckBox {
text: "Slint";
checked <=> UserInterfaceTabState.rust_slint;
toggled => {
UserInterfaceTabState.rust_slint_changed(self.checked);
}
}
CheckBox {
text: "iOS (UniFFI)";
checked <=> UserInterfaceTabState.rust_ios;
toggled => {
UserInterfaceTabState.rust_ios_changed(self.checked);
}
}
CheckBox {
text: "Android (UniFFI)";
checked <=> UserInterfaceTabState.rust_android;
toggled => {
UserInterfaceTabState.rust_android_changed(self.checked);
}
}
}
if ProjectTabState.language == "C++ / Qt" : VerticalLayout {
spacing: 16px;
Text {
text: "C++ / Qt User Interfaces";
font-size: 18px;
font-weight: 600;
}
CheckBox {
text: "Qt Widgets";
checked <=> UserInterfaceTabState.cpp_qt_qtwidgets;
toggled => {
UserInterfaceTabState.cpp_qt_qtwidgets_changed(self.checked);
}
}
CheckBox {
text: "Qt Quick";
checked <=> UserInterfaceTabState.cpp_qt_qtquick;
toggled => {
UserInterfaceTabState.cpp_qt_qtquick_changed(self.checked);
}
}
}
}
}
// Spacer
Rectangle { vertical-stretch: 1; }
}
}