mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-30 06:45:14 +08:00
Merge pull request #3082 from Ultimaker/qtquick-controls-2.0
QtQuick controls 2.0 for settings sidebar
This commit is contained in:
commit
4b883f72d1
@ -1,18 +1,58 @@
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Button {
|
||||
id: base;
|
||||
|
||||
style: UM.Theme.styles.sidebar_category;
|
||||
Button
|
||||
{
|
||||
id: base
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
background: Rectangle
|
||||
{
|
||||
implicitHeight: UM.Theme.getSize("section").height
|
||||
color: {
|
||||
if (base.color) {
|
||||
return base.color;
|
||||
} else if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled");
|
||||
} else if (base.hovered && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active");
|
||||
} else if (base.hovered) {
|
||||
return UM.Theme.getColor("setting_category_hover");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category");
|
||||
}
|
||||
}
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
Rectangle
|
||||
{
|
||||
height: UM.Theme.getSize("default_lining").height
|
||||
width: parent.width
|
||||
anchors.bottom: parent.bottom
|
||||
color: {
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_border");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_border");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_border");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_border");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_border");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
signal showTooltip(string text)
|
||||
signal hideTooltip()
|
||||
@ -23,20 +63,102 @@ Button {
|
||||
|
||||
property var focusItem: base
|
||||
|
||||
text: definition.label
|
||||
iconSource: UM.Theme.getIcon(definition.icon)
|
||||
//text: definition.label
|
||||
|
||||
contentItem: Item {
|
||||
anchors.fill: parent
|
||||
anchors.left: parent.left
|
||||
|
||||
Label {
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
leftMargin: 2 * UM.Theme.getSize("default_margin").width + UM.Theme.getSize("section_icon").width
|
||||
right: parent.right;
|
||||
verticalCenter: parent.verticalCenter;
|
||||
}
|
||||
text: definition.label
|
||||
font: UM.Theme.getFont("setting_category")
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
fontSizeMode: Text.HorizontalFit
|
||||
minimumPointSize: 8
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: category_arrow
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
source: base.checked ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
|
||||
}
|
||||
}
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: icon
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if(base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if(base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
source: UM.Theme.getIcon(definition.icon)
|
||||
width: UM.Theme.getSize("section_icon").width;
|
||||
height: UM.Theme.getSize("section_icon").height;
|
||||
sourceSize.width: width + 15 * screenScaleFactor
|
||||
sourceSize.height: width + 15 * screenScaleFactor
|
||||
}
|
||||
|
||||
checkable: true
|
||||
checked: definition.expanded
|
||||
|
||||
onClicked:
|
||||
{
|
||||
if(definition.expanded)
|
||||
{
|
||||
if (definition.expanded) {
|
||||
settingDefinitionsModel.collapse(definition.key);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
settingDefinitionsModel.expandAll(definition.key);
|
||||
}
|
||||
//Set focus so that tab navigation continues from this point on.
|
||||
@ -70,13 +192,14 @@ Button {
|
||||
|
||||
anchors {
|
||||
right: inheritButton.visible ? inheritButton.left : parent.right
|
||||
rightMargin: inheritButton.visible? UM.Theme.getSize("default_margin").width / 2 : UM.Theme.getSize("setting_preferences_button_margin").width
|
||||
verticalCenter: parent.verticalCenter;
|
||||
// use 1.9 as the factor because there is a 0.1 difference between the settings and inheritance warning icons
|
||||
rightMargin: inheritButton.visible ? UM.Theme.getSize("default_margin").width / 2 : category_arrow.width + UM.Theme.getSize("default_margin").width * 1.9
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
color: UM.Theme.getColor("setting_control_button");
|
||||
color: UM.Theme.getColor("setting_control_button")
|
||||
hoverColor: UM.Theme.getColor("setting_control_button_hover")
|
||||
iconSource: UM.Theme.getIcon("settings");
|
||||
iconSource: UM.Theme.getIcon("settings")
|
||||
|
||||
onClicked: {
|
||||
Cura.Actions.configureSettingVisibility.trigger(definition)
|
||||
@ -85,20 +208,20 @@ Button {
|
||||
|
||||
UM.SimpleButton
|
||||
{
|
||||
id: inheritButton;
|
||||
id: inheritButton
|
||||
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("setting_preferences_button_margin").width
|
||||
anchors.rightMargin: category_arrow.width + UM.Theme.getSize("default_margin").width * 2
|
||||
|
||||
visible:
|
||||
{
|
||||
if(Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0)
|
||||
if (Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0)
|
||||
{
|
||||
var children_with_override = Cura.SettingInheritanceManager.getChildrenKeysWithOverride(definition.key)
|
||||
for(var i = 0; i < children_with_override.length; i++)
|
||||
for (var i = 0; i < children_with_override.length; i++)
|
||||
{
|
||||
if(!settingDefinitionsModel.getVisible(children_with_override[i]))
|
||||
if (!settingDefinitionsModel.getVisible(children_with_override[i]))
|
||||
{
|
||||
return true
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
@ -17,95 +16,103 @@ SettingItem
|
||||
id: control
|
||||
|
||||
model: definition.options
|
||||
textRole: "value";
|
||||
textRole: "value"
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent;
|
||||
acceptedButtons: Qt.NoButton;
|
||||
onWheel: wheel.accepted = true;
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.NoButton
|
||||
onWheel: wheel.accepted = true
|
||||
}
|
||||
|
||||
style: ComboBoxStyle
|
||||
background: Rectangle
|
||||
{
|
||||
background: Rectangle
|
||||
color:
|
||||
{
|
||||
color:
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control")
|
||||
if (!enabled) {
|
||||
return UM.Theme.getColor("setting_control_disabled")
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
|
||||
if (control.hovered || control.activeFocus) {
|
||||
return UM.Theme.getColor("setting_control_highlight")
|
||||
}
|
||||
|
||||
return UM.Theme.getColor("setting_control")
|
||||
}
|
||||
label: Item
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
Label
|
||||
{
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: UM.Theme.getSize("default_lining").width
|
||||
anchors.right: downArrow.left;
|
||||
anchors.rightMargin: UM.Theme.getSize("default_lining").width;
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
|
||||
text: control.currentText;
|
||||
font: UM.Theme.getFont("default");
|
||||
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text");
|
||||
|
||||
elide: Text.ElideRight;
|
||||
verticalAlignment: Text.AlignVCenter;
|
||||
if (!enabled) {
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: downArrow
|
||||
anchors.right: parent.right;
|
||||
anchors.rightMargin: UM.Theme.getSize("default_lining").width * 2;
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text");
|
||||
|
||||
if (control.hovered || control.activeFocus) {
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
}
|
||||
|
||||
indicator: UM.RecolorImage
|
||||
{
|
||||
id: downArrow
|
||||
x: control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
}
|
||||
|
||||
contentItem: Label
|
||||
{
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: downArrow.left
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text")
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
delegate: ItemDelegate
|
||||
{
|
||||
width: control.width
|
||||
height: control.height
|
||||
highlighted: control.highlightedIndex == index
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: modelData.value
|
||||
color: control.contentItem.color
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
|
||||
onActivated:
|
||||
{
|
||||
forceActiveFocus();
|
||||
propertyProvider.setPropertyValue("value", definition.options[index].key);
|
||||
forceActiveFocus()
|
||||
propertyProvider.setPropertyValue("value", definition.options[index].key)
|
||||
}
|
||||
|
||||
onActiveFocusChanged:
|
||||
{
|
||||
if(activeFocus)
|
||||
{
|
||||
base.focusReceived();
|
||||
base.focusReceived()
|
||||
}
|
||||
}
|
||||
|
||||
@ -113,6 +120,7 @@ SettingItem
|
||||
{
|
||||
base.setActiveFocusToNextSetting(true)
|
||||
}
|
||||
|
||||
Keys.onBacktabPressed:
|
||||
{
|
||||
base.setActiveFocusToNextSetting(false)
|
||||
@ -126,16 +134,14 @@ SettingItem
|
||||
{
|
||||
// FIXME this needs to go away once 'resolve' is combined with 'value' in our data model.
|
||||
var value = undefined;
|
||||
if ((base.resolve != "None") && (base.stackLevel != 0) && (base.stackLevel != 1))
|
||||
{
|
||||
if ((base.resolve != "None") && (base.stackLevel != 0) && (base.stackLevel != 1)) {
|
||||
// We have a resolve function. Indicates that the setting is not settable per extruder and that
|
||||
// we have to choose between the resolved value (default) and the global value
|
||||
// (if user has explicitly set this).
|
||||
value = base.resolve;
|
||||
}
|
||||
|
||||
if (value == undefined)
|
||||
{
|
||||
if (value == undefined) {
|
||||
value = propertyProvider.properties.value;
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
// Copyright (c) 2016 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
@ -65,83 +64,101 @@ SettingItem
|
||||
value: control.currentText != "" ? control.model.getItem(control.currentIndex).color : ""
|
||||
}
|
||||
|
||||
style: ComboBoxStyle
|
||||
indicator: UM.RecolorImage
|
||||
{
|
||||
background: Rectangle
|
||||
id: downArrow
|
||||
x: control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text");
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
color:
|
||||
{
|
||||
color:
|
||||
if (!enabled)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
if(control.hovered || base.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
if (control.hovered || base.activeFocus)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
}
|
||||
label: Item
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
Label
|
||||
if (!enabled)
|
||||
{
|
||||
id: extruderText
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
Rectangle
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors
|
||||
{
|
||||
right: arrow.left
|
||||
verticalCenter: parent.verticalCenter
|
||||
margins: UM.Theme.getSize("default_margin").width / 4
|
||||
}
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width * 2
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: arrow
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
}
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
contentItem: Item
|
||||
{
|
||||
Label
|
||||
{
|
||||
id: extruderText
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.right: swatch.left
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: downArrow.width + UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width / 4
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
}
|
||||
}
|
||||
|
||||
delegate: ItemDelegate
|
||||
{
|
||||
width: control.width
|
||||
height: control.height
|
||||
highlighted: control.highlightedIndex == index
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: model.name
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
@ -1,9 +1,8 @@
|
||||
// Copyright (c) 2016 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
@ -84,83 +83,101 @@ SettingItem
|
||||
value: control.currentText != "" ? control.model.getItem(control.currentIndex).color : ""
|
||||
}
|
||||
|
||||
style: ComboBoxStyle
|
||||
indicator: UM.RecolorImage
|
||||
{
|
||||
background: Rectangle
|
||||
id: downArrow
|
||||
x: control.width - width - control.rightPadding
|
||||
y: control.topPadding + (control.availableHeight - height) / 2
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text");
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
color:
|
||||
{
|
||||
color:
|
||||
if (!enabled)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
return UM.Theme.getColor("setting_control_disabled");
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
return UM.Theme.getColor("setting_control_highlight");
|
||||
}
|
||||
return UM.Theme.getColor("setting_control");
|
||||
}
|
||||
label: Item
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
Label
|
||||
if (!enabled)
|
||||
{
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: parent.width - swatch.width - arrow.width;
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
Rectangle
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors
|
||||
{
|
||||
right: arrow.left;
|
||||
verticalCenter: parent.verticalCenter
|
||||
margins: UM.Theme.getSize("default_margin").width / 4
|
||||
}
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width * 2
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: arrow
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
}
|
||||
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width + 5 * screenScaleFactor
|
||||
sourceSize.height: width + 5 * screenScaleFactor
|
||||
contentItem: Item
|
||||
{
|
||||
Label
|
||||
{
|
||||
id: extruderText
|
||||
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
}
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.right: swatch.left
|
||||
|
||||
text: control.currentText
|
||||
font: UM.Theme.getFont("default")
|
||||
color: enabled ? UM.Theme.getColor("setting_control_text") : UM.Theme.getColor("setting_control_disabled_text")
|
||||
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: swatch
|
||||
height: UM.Theme.getSize("setting_control").height / 2
|
||||
width: height
|
||||
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: downArrow.width + UM.Theme.getSize("setting_unit_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width / 4
|
||||
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: enabled ? UM.Theme.getColor("setting_control_border") : UM.Theme.getColor("setting_control_disabled_border")
|
||||
radius: width / 2
|
||||
|
||||
color: control.color
|
||||
}
|
||||
}
|
||||
|
||||
delegate: ItemDelegate
|
||||
{
|
||||
width: control.width
|
||||
height: control.height
|
||||
highlighted: control.highlightedIndex == index
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: model.name
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
// Copyright (c) 2015 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
@ -1,9 +1,8 @@
|
||||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick 2.8
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
@ -12,9 +11,9 @@ import "Menus"
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: base;
|
||||
id: base
|
||||
|
||||
property int currentModeIndex;
|
||||
property int currentModeIndex
|
||||
property bool hideSettings: PrintInformation.preSliced
|
||||
property bool hideView: Cura.MachineManager.activeMachineName == ""
|
||||
|
||||
@ -78,7 +77,7 @@ Rectangle
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.AllButtons;
|
||||
acceptedButtons: Qt.AllButtons
|
||||
|
||||
onWheel:
|
||||
{
|
||||
@ -119,13 +118,14 @@ Rectangle
|
||||
UM.Preferences.setValue("cura/active_mode", currentModeIndex);
|
||||
if(modesListModel.count > base.currentModeIndex)
|
||||
{
|
||||
sidebarContents.push({ "item": modesListModel.get(base.currentModeIndex).item, "replace": true });
|
||||
sidebarContents.replace(modesListModel.get(base.currentModeIndex).item, { "replace": true })
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
id: settingsModeLabel
|
||||
text: !hideSettings ? catalog.i18nc("@label:listbox", "Print Setup") : catalog.i18nc("@label:listbox","Print Setup disabled\nG-code files cannot be modified");
|
||||
text: !hideSettings ? catalog.i18nc("@label:listbox", "Print Setup") : catalog.i18nc("@label:listbox", "Print Setup disabled\nG-code files cannot be modified")
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
anchors.top: headerSeparator.bottom
|
||||
@ -136,13 +136,18 @@ Rectangle
|
||||
visible: !monitoringPrint && !hideView
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
// Settings mode selection toggle
|
||||
Rectangle
|
||||
{
|
||||
id: settingsModeSelection
|
||||
color: "transparent"
|
||||
|
||||
width: Math.floor(parent.width * 0.55)
|
||||
height: UM.Theme.getSize("sidebar_header_mode_toggle").height
|
||||
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width
|
||||
anchors.topMargin: UM.Theme.getSize("sidebar_margin").height
|
||||
anchors.top:
|
||||
{
|
||||
if (settingsModeLabel.contentWidth >= parent.width - width - UM.Theme.getSize("sidebar_margin").width * 2)
|
||||
@ -154,66 +159,69 @@ Rectangle
|
||||
return headerSeparator.bottom;
|
||||
}
|
||||
}
|
||||
anchors.topMargin: UM.Theme.getSize("sidebar_margin").height
|
||||
|
||||
visible: !monitoringPrint && !hideSettings && !hideView
|
||||
Component{
|
||||
|
||||
Component
|
||||
{
|
||||
id: wizardDelegate
|
||||
Button {
|
||||
|
||||
Button
|
||||
{
|
||||
id: control
|
||||
|
||||
height: settingsModeSelection.height
|
||||
width: Math.floor(0.5 * parent.width)
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: model.index * Math.floor(settingsModeSelection.width / 2)
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: Math.floor(0.5 * parent.width)
|
||||
text: model.text
|
||||
exclusiveGroup: modeMenuGroup;
|
||||
checkable: true;
|
||||
|
||||
ButtonGroup.group: modeMenuGroup
|
||||
|
||||
checkable: true
|
||||
checked: base.currentModeIndex == index
|
||||
onClicked: base.currentModeIndex = index
|
||||
|
||||
onHoveredChanged: {
|
||||
onHoveredChanged:
|
||||
{
|
||||
if (hovered)
|
||||
{
|
||||
tooltipDelayTimer.item = settingsModeSelection
|
||||
tooltipDelayTimer.text = model.tooltipText
|
||||
tooltipDelayTimer.start();
|
||||
tooltipDelayTimer.start()
|
||||
}
|
||||
else
|
||||
{
|
||||
tooltipDelayTimer.stop();
|
||||
base.hideTooltip();
|
||||
tooltipDelayTimer.stop()
|
||||
base.hideTooltip()
|
||||
}
|
||||
}
|
||||
|
||||
style: ButtonStyle {
|
||||
background: Rectangle {
|
||||
border.width: control.checked ? UM.Theme.getSize("default_lining").width * 2 : UM.Theme.getSize("default_lining").width
|
||||
border.color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_border") :
|
||||
control.hovered ? UM.Theme.getColor("action_button_hovered_border") :
|
||||
UM.Theme.getColor("action_button_border")
|
||||
color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active") :
|
||||
control.hovered ? UM.Theme.getColor("action_button_hovered") :
|
||||
UM.Theme.getColor("action_button")
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
Label {
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.leftMargin: UM.Theme.getSize("default_lining").width * 2
|
||||
anchors.rightMargin: UM.Theme.getSize("default_lining").width * 2
|
||||
color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_text") :
|
||||
control.hovered ? UM.Theme.getColor("action_button_hovered_text") :
|
||||
UM.Theme.getColor("action_button_text")
|
||||
font: UM.Theme.getFont("default")
|
||||
text: control.text
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
elide: Text.ElideMiddle
|
||||
}
|
||||
}
|
||||
label: Item { }
|
||||
background: Rectangle
|
||||
{
|
||||
border.width: control.checked ? UM.Theme.getSize("default_lining").width * 2 : UM.Theme.getSize("default_lining").width
|
||||
border.color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active_border") : control.hovered ? UM.Theme.getColor("action_button_hovered_border"): UM.Theme.getColor("action_button_border")
|
||||
|
||||
// for some reason, QtQuick decided to use the color of the background property as text color for the contentItem, so here it is
|
||||
color: (control.checked || control.pressed) ? UM.Theme.getColor("action_button_active") : control.hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button")
|
||||
}
|
||||
|
||||
contentItem: Text
|
||||
{
|
||||
text: model.text
|
||||
font: UM.Theme.getFont("default")
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
}
|
||||
}
|
||||
ExclusiveGroup { id: modeMenuGroup; }
|
||||
|
||||
ButtonGroup
|
||||
{
|
||||
id: modeMenuGroup
|
||||
}
|
||||
|
||||
ListView
|
||||
{
|
||||
@ -238,31 +246,21 @@ Rectangle
|
||||
anchors.right: base.right
|
||||
visible: !monitoringPrint && !hideSettings
|
||||
|
||||
delegate: StackViewDelegate
|
||||
{
|
||||
function transitionFinished(properties)
|
||||
{
|
||||
properties.exitItem.opacity = 1
|
||||
replaceEnter: Transition {
|
||||
PropertyAnimation {
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to:1
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
|
||||
pushTransition: StackViewTransition
|
||||
{
|
||||
PropertyAnimation
|
||||
{
|
||||
target: enterItem
|
||||
property: "opacity"
|
||||
from: 0
|
||||
to: 1
|
||||
duration: 100
|
||||
}
|
||||
PropertyAnimation
|
||||
{
|
||||
target: exitItem
|
||||
property: "opacity"
|
||||
from: 1
|
||||
to: 0
|
||||
duration: 100
|
||||
}
|
||||
replaceExit: Transition {
|
||||
PropertyAnimation {
|
||||
property: "opacity"
|
||||
from: 1
|
||||
to:0
|
||||
duration: 100
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -559,19 +557,19 @@ Rectangle
|
||||
|
||||
SidebarTooltip
|
||||
{
|
||||
id: tooltip;
|
||||
id: tooltip
|
||||
}
|
||||
|
||||
// Setting mode: Recommended or Custom
|
||||
ListModel
|
||||
{
|
||||
id: modesListModel;
|
||||
id: modesListModel
|
||||
}
|
||||
|
||||
SidebarSimple
|
||||
{
|
||||
id: sidebarSimple;
|
||||
visible: false;
|
||||
id: sidebarSimple
|
||||
visible: false
|
||||
|
||||
onShowTooltip: base.showTooltip(item, location, text)
|
||||
onHideTooltip: base.hideTooltip()
|
||||
@ -579,8 +577,8 @@ Rectangle
|
||||
|
||||
SidebarAdvanced
|
||||
{
|
||||
id: sidebarAdvanced;
|
||||
visible: false;
|
||||
id: sidebarAdvanced
|
||||
visible: false
|
||||
|
||||
onShowTooltip: base.showTooltip(item, location, text)
|
||||
onHideTooltip: base.hideTooltip()
|
||||
@ -598,7 +596,7 @@ Rectangle
|
||||
tooltipText: catalog.i18nc("@tooltip", "<b>Custom Print Setup</b><br/><br/>Print with finegrained control over every last bit of the slicing process."),
|
||||
item: sidebarAdvanced
|
||||
})
|
||||
sidebarContents.push({ "item": modesListModel.get(base.currentModeIndex).item, "immediate": true });
|
||||
sidebarContents.replace(modesListModel.get(base.currentModeIndex).item, { "immediate": true })
|
||||
|
||||
var index = Math.floor(UM.Preferences.getValue("cura/active_mode"))
|
||||
if(index)
|
||||
|
Loading…
x
Reference in New Issue
Block a user