blob: a1540c22ab170cd2cf565e5f7453fe90832bd4dd (
plain)
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
|
// Copyright (c) 2019 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.3
import UM 1.3 as UM
import Cura 1.1 as Cura
//
// This component contains the content for the "Welcome" page of the welcome on-boarding process.
//
Cura.MachineAction
{
UM.I18nCatalog { id: catalog; name: "cura" }
anchors.fill: parent
property var extrudersModel: Cura.ExtrudersModel {}
// If we create a TabButton for "Printer" and use Repeater for extruders, for some reason, once the component
// finishes it will automatically change "currentIndex = 1", and it is VERY difficult to change "currentIndex = 0"
// after that. Using a model and a Repeater to create both "Printer" and extruder TabButtons seem to solve this
// problem.
Connections
{
target: extrudersModel
onItemsChanged: tabNameModel.update()
}
ListModel
{
id: tabNameModel
Component.onCompleted: update()
function update()
{
clear()
append({ name: catalog.i18nc("@title:tab", "Printer") })
for (var i = 0; i < extrudersModel.count; i++)
{
const m = extrudersModel.getItem(i)
append({ name: m.name })
}
}
}
Cura.RoundedRectangle
{
anchors
{
top: tabBar.bottom
topMargin: -UM.Theme.getSize("default_lining").height
bottom: parent.bottom
left: parent.left
right: parent.right
}
cornerSide: Cura.RoundedRectangle.Direction.Down
border.color: UM.Theme.getColor("lining")
border.width: UM.Theme.getSize("default_lining").width
radius: UM.Theme.getSize("default_radius").width
color: UM.Theme.getColor("main_background")
StackLayout
{
id: tabStack
anchors.fill: parent
currentIndex: tabBar.currentIndex
MachineSettingsPrinterTab
{
id: printerTab
}
Repeater
{
model: extrudersModel
delegate: MachineSettingsExtruderTab
{
id: discoverTab
extruderPosition: model.index
extruderStackId: model.id
}
}
}
}
UM.TabRow
{
id: tabBar
width: parent.width
Repeater
{
model: tabNameModel
delegate: UM.TabRowButton
{
text: model.name
}
}
}
}
|