mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-25 07:33:57 -06:00
Merge branch 'master' into CURA-8943_tool_panel_icon_size
# Conflicts: # resources/qml/ToolTip.qml
This commit is contained in:
commit
f58411d086
28 changed files with 320 additions and 157 deletions
|
@ -53,7 +53,7 @@ class FlavorParser:
|
|||
|
||||
def _clearValues(self) -> None:
|
||||
self._extruder_number = 0
|
||||
self._extrusion_length_offset = [0] # type: List[float]
|
||||
self._extrusion_length_offset = [0] * 8 # type: List[float]
|
||||
self._layer_type = LayerPolygon.Inset0Type
|
||||
self._layer_number = 0
|
||||
self._previous_z = 0 # type: float
|
||||
|
@ -283,8 +283,9 @@ class FlavorParser:
|
|||
return func(position, params, path)
|
||||
return position
|
||||
|
||||
def processTCode(self, T: int, line: str, position: Position, path: List[List[Union[float, int]]]) -> Position:
|
||||
def processTCode(self, global_stack, T: int, line: str, position: Position, path: List[List[Union[float, int]]]) -> Position:
|
||||
self._extruder_number = T
|
||||
self._filament_diameter = global_stack.extruderList[self._extruder_number].getProperty("material_diameter", "value")
|
||||
if self._extruder_number + 1 > len(position.e):
|
||||
self._extrusion_length_offset.extend([0] * (self._extruder_number - len(position.e) + 1))
|
||||
position.e.extend([0] * (self._extruder_number - len(position.e) + 1))
|
||||
|
@ -354,7 +355,7 @@ class FlavorParser:
|
|||
|
||||
Logger.log("d", "Parsing g-code...")
|
||||
|
||||
current_position = Position(0, 0, 0, 0, [0])
|
||||
current_position = Position(0, 0, 0, 0, [0] * 8)
|
||||
current_path = [] #type: List[List[float]]
|
||||
min_layer_number = 0
|
||||
negative_layers = 0
|
||||
|
@ -444,7 +445,7 @@ class FlavorParser:
|
|||
# When changing tool, store the end point of the previous path, then process the code and finally
|
||||
# add another point with the new position of the head.
|
||||
current_path.append([current_position.x, current_position.y, current_position.z, current_position.f, current_position.e[self._extruder_number], LayerPolygon.MoveCombingType])
|
||||
current_position = self.processTCode(T, line, current_position, current_path)
|
||||
current_position = self.processTCode(global_stack, T, line, current_position, current_path)
|
||||
current_path.append([current_position.x, current_position.y, current_position.z, current_position.f, current_position.e[self._extruder_number], LayerPolygon.MoveCombingType])
|
||||
|
||||
if line.startswith("M"):
|
||||
|
|
|
@ -29,9 +29,10 @@ class VersionUpgrade48to49(VersionUpgrade):
|
|||
parser["general"]["version"] = "7"
|
||||
|
||||
# Update visibility settings to include new top_bottom category
|
||||
parser["general"]["visible_settings"] += ";top_bottom"
|
||||
if "visible_settings" in parser["general"]:
|
||||
parser["general"]["visible_settings"] += ";top_bottom"
|
||||
|
||||
if "categories_expanded" in parser["cura"] and any([setting in parser["cura"]["categories_expanded"] for setting in self._moved_visibility_settings]):
|
||||
if "cura" in parser and "categories_expanded" in parser["cura"] and any([setting in parser["cura"]["categories_expanded"] for setting in self._moved_visibility_settings]):
|
||||
parser["cura"]["categories_expanded"] += ";top_bottom"
|
||||
|
||||
# If the account scope in 4.8 is outdated, delete it so that the user is enforced to log in again and get the
|
||||
|
|
|
@ -6963,7 +6963,6 @@
|
|||
"type": "bool",
|
||||
"default_value": false,
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"enabled": false,
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"magic_fuzzy_skin_outside_only":
|
||||
|
@ -6972,7 +6971,7 @@
|
|||
"description": "Jitter only the parts' outlines and not the parts' holes.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"enabled": "magic_fuzzy_skin_enabled and False" ,
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -6985,7 +6984,7 @@
|
|||
"default_value": 0.3,
|
||||
"minimum_value": "0.001",
|
||||
"maximum_value_warning": "wall_line_width_0",
|
||||
"enabled": "magic_fuzzy_skin_enabled and False",
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -7000,7 +6999,7 @@
|
|||
"minimum_value_warning": "0.1",
|
||||
"maximum_value_warning": "10",
|
||||
"maximum_value": "2 / magic_fuzzy_skin_thickness",
|
||||
"enabled": "magic_fuzzy_skin_enabled and False",
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
|
@ -7016,7 +7015,7 @@
|
|||
"minimum_value_warning": "0.1",
|
||||
"maximum_value_warning": "10",
|
||||
"value": "10000 if magic_fuzzy_skin_point_density == 0 else 1 / magic_fuzzy_skin_point_density",
|
||||
"enabled": "magic_fuzzy_skin_enabled and False",
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
|
|
|
@ -222,7 +222,7 @@ Item
|
|||
id: updateProfileAction
|
||||
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings && Cura.MachineManager.activeQualityChangesGroup != null
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Update profile with current settings/overrides");
|
||||
onTriggered: Cura.ContainerManager.updateQualityChanges();
|
||||
onTriggered: Cura.ContainerManager.updateQualityChanges()
|
||||
}
|
||||
|
||||
Action
|
||||
|
|
|
@ -17,61 +17,132 @@ UM.Dialog
|
|||
|
||||
property variant catalog: UM.I18nCatalog { name: "cura" }
|
||||
|
||||
minimumHeight: UM.Theme.getSize("small_popup_dialog").height
|
||||
minimumWidth: UM.Theme.getSize("small_popup_dialog").width / 1.5
|
||||
height: minimumHeight
|
||||
margin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
property alias swatchGridColumns: colorSwatchGrid.columns
|
||||
|
||||
// In this case we would like to let the content of the dialog determine the size of the dialog
|
||||
// however with the current implementation of the dialog this is not possible, so instead we calculate
|
||||
// the size of the dialog ourselves.
|
||||
minimumWidth: content.width + 4 * margin
|
||||
minimumHeight:
|
||||
content.height // content height
|
||||
+ buttonRow.height // button row height
|
||||
+ 5 * margin // top and bottom margin and margin between buttons and content
|
||||
width: minimumWidth
|
||||
height: minimumHeight
|
||||
|
||||
property alias color: colorInput.text
|
||||
property var swatchColors: [
|
||||
"#2161AF", "#57AFB2", "#F7B32D", "#E33D4A", "#C088AD",
|
||||
"#5D88BE", "#5ABD0E", "#E17239", "#F74E46", "#874AF9",
|
||||
"#50C2EC", "#8DC15A", "#C3977A", "#CD7776", "#9086BA",
|
||||
"#FFFFFF", "#D3D3D3", "#9E9E9E", "#5A5A5A", "#000000",
|
||||
]
|
||||
|
||||
margin: UM.Theme.getSize("default_margin").width
|
||||
buttonSpacing: UM.Theme.getSize("default_margin").width
|
||||
Component.onCompleted: updateSwatches()
|
||||
onSwatchColorsChanged: updateSwatches()
|
||||
|
||||
UM.Label
|
||||
function updateSwatches()
|
||||
{
|
||||
id: colorLabel
|
||||
font: UM.Theme.getFont("large")
|
||||
text: catalog.i18nc("@label", "Color Code (HEX)")
|
||||
swatchColorsModel.clear();
|
||||
for (const swatchColor of base.swatchColors)
|
||||
{
|
||||
swatchColorsModel.append({ swatchColor });
|
||||
}
|
||||
}
|
||||
|
||||
TextField
|
||||
Column
|
||||
{
|
||||
id: colorInput
|
||||
text: "#FFFFFF"
|
||||
selectByMouse: true
|
||||
anchors.top: colorLabel.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
onTextChanged: {
|
||||
if (!text.startsWith("#"))
|
||||
id: content
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
spacing: UM.Theme.getSize("wide_margin").height
|
||||
|
||||
GridLayout {
|
||||
id: colorSwatchGrid
|
||||
columns: 5
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
columnSpacing: UM.Theme.getSize("thick_margin").width
|
||||
rowSpacing: UM.Theme.getSize("thick_margin").height
|
||||
|
||||
Repeater
|
||||
{
|
||||
text = `#${text}`;
|
||||
model: ListModel
|
||||
{
|
||||
id: swatchColorsModel
|
||||
}
|
||||
|
||||
delegate: Rectangle
|
||||
{
|
||||
color: swatchColor
|
||||
implicitWidth: UM.Theme.getSize("medium_button_icon").width
|
||||
implicitHeight: UM.Theme.getSize("medium_button_icon").height
|
||||
radius: width / 2
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
anchors.fill: parent
|
||||
visible: swatchColor == base.color
|
||||
source: UM.Theme.getIcon("Check", "low")
|
||||
color: UM.Theme.getColor("checkbox")
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
onClicked: base.color = swatchColor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout
|
||||
{
|
||||
width: parent.width
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Hex")
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
id: colorInput
|
||||
Layout.fillWidth: true
|
||||
text: "#FFFFFF"
|
||||
selectByMouse: true
|
||||
onTextChanged: {
|
||||
if (!text.startsWith("#"))
|
||||
{
|
||||
text = `#${text}`;
|
||||
}
|
||||
}
|
||||
validator: RegExpValidator { regExp: /^#([a-fA-F0-9]{0,6})$/ }
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
color: base.color
|
||||
Layout.preferredHeight: parent.height
|
||||
Layout.preferredWidth: height
|
||||
}
|
||||
}
|
||||
validator: RegExpValidator { regExp: /^#([a-fA-F0-9]{0,6})$/ }
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: swatch
|
||||
color: base.color
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors {
|
||||
left: colorInput.right
|
||||
top: colorInput.top
|
||||
bottom: colorInput.bottom
|
||||
}
|
||||
width: height
|
||||
}
|
||||
buttonSpacing: UM.Theme.getSize("thin_margin").width
|
||||
|
||||
rightButtons:
|
||||
[
|
||||
Cura.TertiaryButton {
|
||||
text: catalog.i18nc("@action:button", "Cancel")
|
||||
onClicked: base.close()
|
||||
},
|
||||
Cura.PrimaryButton {
|
||||
text: catalog.i18nc("@action:button", "OK")
|
||||
onClicked: base.accept()
|
||||
},
|
||||
Cura.SecondaryButton {
|
||||
text: catalog.i18nc("@action:button", "Cancel")
|
||||
onClicked: base.close()
|
||||
}
|
||||
]
|
||||
}
|
|
@ -27,6 +27,11 @@ UM.Dialog
|
|||
property var fileUrls: []
|
||||
property var addToRecent: true
|
||||
|
||||
function loadProjectFile(projectFile)
|
||||
{
|
||||
UM.WorkspaceFileHandler.readLocalFile(projectFile, base.addToRecent);
|
||||
}
|
||||
|
||||
function loadModelFiles(fileUrls)
|
||||
{
|
||||
for (var i in fileUrls)
|
||||
|
|
|
@ -21,6 +21,7 @@ Item
|
|||
property alias font: label.font
|
||||
property alias elide: label.elide
|
||||
property real margin: UM.Theme.getSize("narrow_margin").width
|
||||
property alias wrapMode: label.wrapMode
|
||||
|
||||
// These properties can be used in combination with layouts.
|
||||
readonly property real contentWidth: icon.width + margin + label.contentWidth
|
||||
|
|
|
@ -35,23 +35,24 @@ UM.TooltipArea
|
|||
watchedProperties: [ "value", "description" ]
|
||||
}
|
||||
|
||||
Label // Title Label
|
||||
UM.Label
|
||||
{
|
||||
id: titleLabel
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
font: UM.Theme.getFont("medium_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
Flickable
|
||||
{
|
||||
anchors.top: titleLabel.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors
|
||||
{
|
||||
top: titleLabel.bottom
|
||||
topMargin: UM.Theme.getSize("default_margin").height
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
ScrollBar.vertical: UM.ScrollBar {}
|
||||
|
||||
|
@ -78,10 +79,10 @@ UM.TooltipArea
|
|||
|
||||
background: Rectangle
|
||||
{
|
||||
color: UM.Theme.getColor("main_background")
|
||||
anchors.fill: parent
|
||||
anchors.margins: -border.width //Wrap the border around the parent.
|
||||
|
||||
color: UM.Theme.getColor("detail_background")
|
||||
border.color:
|
||||
{
|
||||
if (!gcodeTextArea.enabled)
|
||||
|
@ -90,9 +91,9 @@ UM.TooltipArea
|
|||
}
|
||||
if (gcodeTextArea.hovered || gcodeTextArea.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
return UM.Theme.getColor("border_main")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
return UM.Theme.getColor("border_field_light")
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
}
|
||||
|
|
|
@ -77,6 +77,8 @@ UM.TooltipArea
|
|||
anchors.left: fieldLabel.right
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
selectionColor: UM.Theme.getColor("text_selection")
|
||||
selectedTextColor: UM.Theme.getColor("setting_control_text")
|
||||
padding: 0
|
||||
leftPadding: UM.Theme.getSize("narrow_margin").width
|
||||
width: numericTextFieldWithUnit.controlWidth
|
||||
|
@ -107,7 +109,7 @@ UM.TooltipArea
|
|||
// Validation is OK.
|
||||
if (textFieldWithUnit.hovered || textFieldWithUnit.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("border_main_light")
|
||||
return UM.Theme.getColor("border_main")
|
||||
}
|
||||
return UM.Theme.getColor("border_field_light")
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ ToolButton
|
|||
{
|
||||
target: background
|
||||
color: UM.Theme.getColor("setting_control")
|
||||
liningColor: UM.Theme.getColor("border_main_light")
|
||||
liningColor: UM.Theme.getColor("border_main")
|
||||
}
|
||||
},
|
||||
State
|
||||
|
|
|
@ -129,7 +129,7 @@ Item
|
|||
background: UM.UnderlineBackground
|
||||
{
|
||||
id: backgroundItem
|
||||
liningColor: intentSelection.hovered ? UM.Theme.getColor("border_main_light") : UM.Theme.getColor("border_field_light")
|
||||
liningColor: intentSelection.hovered ? UM.Theme.getColor("border_main") : UM.Theme.getColor("border_field_light")
|
||||
}
|
||||
|
||||
UM.SimpleButton
|
||||
|
|
|
@ -18,15 +18,15 @@ Button
|
|||
property string labelText: ""
|
||||
id: button
|
||||
hoverEnabled: true
|
||||
leftPadding:UM.Theme.getSize("wide_margin").width
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
implicitWidth: UM.Theme.getSize("menu").width
|
||||
implicitHeight: UM.Theme.getSize("menu").height + UM.Theme.getSize("narrow_margin").height
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
id: backgroundRectangle
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: button.checked ? UM.Theme.getColor("setting_control_border_highlight") : "transparent"
|
||||
color: button.hovered ? UM.Theme.getColor("action_button_hovered") : "transparent"
|
||||
radius: UM.Theme.getSize("action_button_radius").width
|
||||
height: button.height
|
||||
width: button.width
|
||||
color: button.hovered ? UM.Theme.getColor("background_2") : UM.Theme.getColor("background_1")
|
||||
}
|
||||
|
||||
// Workaround to ensure that the mnemonic highlighting happens correctly
|
||||
|
@ -40,11 +40,29 @@ Button
|
|||
return txt
|
||||
}
|
||||
|
||||
contentItem: UM.Label
|
||||
contentItem: Item
|
||||
{
|
||||
id: textLabel
|
||||
text: button.text != "" ? replaceText(button.text) : replaceText(button.labelText)
|
||||
height: contentHeight
|
||||
color: button.enabled ? UM.Theme.getColor("text") :UM.Theme.getColor("text_inactive")
|
||||
height: button.height
|
||||
width: button.width
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: check
|
||||
height: UM.Theme.getSize("default_arrow").height
|
||||
width: height
|
||||
source: UM.Theme.getIcon("Check", "low")
|
||||
color: UM.Theme.getColor("setting_control_text")
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: button.checked
|
||||
}
|
||||
UM.Label
|
||||
{
|
||||
id: textLabel
|
||||
text: button.text != "" ? replaceText(button.text) : replaceText(button.labelText)
|
||||
height: contentHeight
|
||||
color: button.enabled ? UM.Theme.getColor("text") :UM.Theme.getColor("text_inactive")
|
||||
anchors.left: check.right
|
||||
anchors.leftMargin: UM.Theme.getSize("narrow_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
|
@ -130,6 +130,7 @@ Popup
|
|||
checkable: true
|
||||
visible: model.available
|
||||
text: model.name + " - " + model.layer_height + " mm"
|
||||
leftPadding: UM.Theme.getSize("default_margin").width + UM.Theme.getSize("narrow_margin").width
|
||||
checked:
|
||||
{
|
||||
if (Cura.MachineManager.hasCustomQuality)
|
||||
|
@ -195,6 +196,7 @@ Popup
|
|||
checkable: true
|
||||
visible: model.available
|
||||
text: model.name
|
||||
leftPadding: UM.Theme.getSize("default_margin").width + UM.Theme.getSize("narrow_margin").width
|
||||
checked:
|
||||
{
|
||||
var active_quality_group = Cura.MachineManager.activeQualityChangesGroup
|
||||
|
@ -295,13 +297,12 @@ Popup
|
|||
id: textLabel
|
||||
text: manageProfilesButton.text
|
||||
height: contentHeight
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width + UM.Theme.getSize("narrow_margin").width
|
||||
}
|
||||
UM.Label
|
||||
{
|
||||
id: shortcutLabel
|
||||
text: Cura.Actions.manageProfiles.shortcut
|
||||
color: UM.Theme.getColor("text_lighter")
|
||||
height: contentHeight
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
|
|
|
@ -39,7 +39,7 @@ RowLayout
|
|||
}
|
||||
font: UM.Theme.getFont("medium")
|
||||
elide: Text.ElideMiddle
|
||||
|
||||
wrapMode: Text.NoWrap
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: layerHeight
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.2
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Item
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
|
|
@ -5,7 +5,7 @@ import QtQuick 2.2
|
|||
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ SettingItem
|
|||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("checkbox_border")
|
||||
return UM.Theme.getColor("checkbox_border_disabled")
|
||||
}
|
||||
switch (propertyProvider.properties.validationState)
|
||||
{
|
||||
|
@ -116,7 +116,7 @@ SettingItem
|
|||
{
|
||||
return UM.Theme.getColor("checkbox_border_hover")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
return UM.Theme.getColor("checkbox_border")
|
||||
}
|
||||
|
||||
color: {
|
||||
|
@ -138,7 +138,7 @@ SettingItem
|
|||
// Validation is OK.
|
||||
if (control.containsMouse || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_highlight")
|
||||
return UM.Theme.getColor("checkbox_hover")
|
||||
}
|
||||
return UM.Theme.getColor("checkbox")
|
||||
}
|
||||
|
@ -150,7 +150,7 @@ SettingItem
|
|||
height: UM.Theme.getSize("checkbox_mark").height
|
||||
width: UM.Theme.getSize("checkbox_mark").width
|
||||
sourceSize.height: width
|
||||
color: !enabled ? UM.Theme.getColor("setting_control_disabled_text") : UM.Theme.getColor("setting_control_text");
|
||||
color: !enabled ? UM.Theme.getColor("checkbox_mark_disabled") : UM.Theme.getColor("checkbox_mark");
|
||||
source: UM.Theme.getIcon("Check", "low")
|
||||
opacity: control.checked ? 1 : 0
|
||||
Behavior on opacity { NumberAnimation { duration: 100; } }
|
||||
|
|
|
@ -135,7 +135,7 @@ SettingItem
|
|||
}
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("border_main_light")
|
||||
return UM.Theme.getColor("border_main")
|
||||
}
|
||||
return UM.Theme.getColor("border_field_light")
|
||||
}
|
||||
|
|
|
@ -136,7 +136,7 @@ SettingItem
|
|||
}
|
||||
if (control.hovered || control.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("border_main_light")
|
||||
return UM.Theme.getColor("border_main")
|
||||
}
|
||||
return UM.Theme.getColor("border_field_light")
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ SettingItem
|
|||
{
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
return UM.Theme.getColor("text_field_border_disabled")
|
||||
}
|
||||
switch(propertyProvider.properties.validationState)
|
||||
{
|
||||
|
@ -52,15 +52,15 @@ SettingItem
|
|||
//Validation is OK.
|
||||
if(hovered || input.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("border_main_light")
|
||||
return UM.Theme.getColor("text_field_border_hovered")
|
||||
}
|
||||
return UM.Theme.getColor("border_field_light")
|
||||
return UM.Theme.getColor("text_field_border")
|
||||
}
|
||||
|
||||
color: {
|
||||
if(!enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled")
|
||||
return UM.Theme.getColor("text_field")
|
||||
}
|
||||
switch(propertyProvider.properties.validationState)
|
||||
{
|
||||
|
@ -76,18 +76,10 @@ SettingItem
|
|||
return UM.Theme.getColor("setting_validation_ok")
|
||||
|
||||
default:
|
||||
return UM.Theme.getColor("setting_control")
|
||||
return UM.Theme.getColor("text_field")
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.margins: Math.round(UM.Theme.getSize("default_lining").width)
|
||||
color: UM.Theme.getColor("setting_control_highlight")
|
||||
opacity: !control.hovered ? 0 : propertyProvider.properties.validationState == "ValidatorState.Valid" ? 1.0 : 0.35
|
||||
}
|
||||
|
||||
UM.Label
|
||||
{
|
||||
anchors
|
||||
|
|
0
resources/qml/ToolTip.qml
Normal file
0
resources/qml/ToolTip.qml
Normal file
|
@ -33,7 +33,7 @@ ComboBox
|
|||
{
|
||||
name: "highlighted"
|
||||
when: control.hovered || control.activeFocus
|
||||
PropertyChanges { target: background; liningColor: UM.Theme.getColor("border_main_light")}
|
||||
PropertyChanges { target: background; liningColor: UM.Theme.getColor("border_main")}
|
||||
}
|
||||
]
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2019 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.10
|
||||
|
@ -13,32 +13,58 @@ import Cura 1.0 as Cura
|
|||
//
|
||||
RadioButton
|
||||
{
|
||||
id: radioButton
|
||||
id: control
|
||||
|
||||
font: UM.Theme.getFont("default")
|
||||
|
||||
states: [
|
||||
State {
|
||||
name: "checked"
|
||||
when: radioButton.checked
|
||||
name: "selected-hover"
|
||||
when: control.enabled && control.checked && control.hovered
|
||||
PropertyChanges
|
||||
{
|
||||
target: indicator
|
||||
color: UM.Theme.getColor("accent_1")
|
||||
border.width: 0
|
||||
target: indicator_background
|
||||
color: UM.Theme.getColor("radio_selected")
|
||||
border.color: UM.Theme.getColor("radio_border_hover")
|
||||
}
|
||||
},
|
||||
State
|
||||
{
|
||||
name: "disabled"
|
||||
when: !radioButton.enabled
|
||||
PropertyChanges { target: indicator; color: UM.Theme.getColor("background_1")}
|
||||
State {
|
||||
name: "selected"
|
||||
when: control.enabled && control.checked
|
||||
PropertyChanges
|
||||
{
|
||||
target: indicator_background
|
||||
color: UM.Theme.getColor("radio_selected")
|
||||
}
|
||||
},
|
||||
State
|
||||
{
|
||||
name: "highlighted"
|
||||
when: radioButton.hovered || radioButton.activeFocus
|
||||
PropertyChanges { target: indicator; border.color: UM.Theme.getColor("border_main_light")}
|
||||
State {
|
||||
name: "hovered"
|
||||
when: control.enabled && control.hovered
|
||||
PropertyChanges
|
||||
{
|
||||
target: indicator_background
|
||||
border.color: UM.Theme.getColor("radio_border_hover")
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "selected_disabled"
|
||||
when: !control.enabled && control.checked
|
||||
PropertyChanges
|
||||
{
|
||||
target: indicator_background
|
||||
color: UM.Theme.getColor("radio_selected_disabled")
|
||||
border.color: UM.Theme.getColor("radio_border_disabled")
|
||||
}
|
||||
},
|
||||
State {
|
||||
name: "disabled"
|
||||
when: !control.enabled
|
||||
PropertyChanges
|
||||
{
|
||||
target: indicator_background
|
||||
color: UM.Theme.getColor("radio_disabled")
|
||||
border.color: UM.Theme.getColor("radio_border_disabled")
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -49,30 +75,35 @@ RadioButton
|
|||
|
||||
indicator: Rectangle
|
||||
{
|
||||
id: indicator_background
|
||||
implicitWidth: UM.Theme.getSize("radio_button").width
|
||||
implicitHeight: UM.Theme.getSize("radio_button").height
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.alignWhenCentered: false
|
||||
radius: width / 2
|
||||
color: UM.Theme.getColor("background_2")
|
||||
color: UM.Theme.getColor("radio")
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: UM.Theme.getColor("text_disabled")
|
||||
border.color: UM.Theme.getColor("radio_border")
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: indicator_dot
|
||||
width: (parent.width / 2) | 0
|
||||
height: width
|
||||
anchors.centerIn: parent
|
||||
radius: width / 2
|
||||
color: radioButton.enabled ? UM.Theme.getColor("background_2") : UM.Theme.getColor("background_1")
|
||||
visible: radioButton.checked
|
||||
color: control.enabled ? UM.Theme.getColor("radio_dot") : UM.Theme.getColor("radio_dot_disabled")
|
||||
visible: control.checked
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: UM.Label
|
||||
{
|
||||
leftPadding: radioButton.indicator.width + radioButton.spacing
|
||||
text: radioButton.text
|
||||
font: radioButton.font
|
||||
leftPadding: control.indicator.width + control.spacing
|
||||
text: control.text
|
||||
font: control.font
|
||||
color: control.enabled ? UM.Theme.getColor("radio_text"): UM.Theme.getColor("radio_text_disabled")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.10
|
||||
|
@ -13,7 +13,7 @@ import Cura 1.1 as Cura
|
|||
//
|
||||
TextField
|
||||
{
|
||||
id: textField
|
||||
id: control
|
||||
|
||||
property alias leftIcon: iconLeft.source
|
||||
|
||||
|
@ -22,7 +22,7 @@ TextField
|
|||
hoverEnabled: true
|
||||
selectByMouse: true
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
color: UM.Theme.getColor("text_field_text")
|
||||
renderType: Text.NativeRendering
|
||||
selectionColor: UM.Theme.getColor("text_selection")
|
||||
leftPadding: iconLeft.visible ? iconLeft.width + UM.Theme.getSize("default_margin").width * 2 : UM.Theme.getSize("thin_margin").width
|
||||
|
@ -31,20 +31,21 @@ TextField
|
|||
State
|
||||
{
|
||||
name: "disabled"
|
||||
when: !textField.enabled
|
||||
PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_control_disabled")}
|
||||
when: !control.enabled
|
||||
PropertyChanges { target: control; color: UM.Theme.getColor("text_field_text_disabled")}
|
||||
PropertyChanges { target: backgroundRectangle; liningColor: UM.Theme.getColor("text_field_border_disabled")}
|
||||
},
|
||||
State
|
||||
{
|
||||
name: "invalid"
|
||||
when: !textField.acceptableInput
|
||||
when: !control.acceptableInput
|
||||
PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_validation_error_background")}
|
||||
},
|
||||
State
|
||||
{
|
||||
name: "hovered"
|
||||
when: textField.hovered || textField.activeFocus
|
||||
PropertyChanges { target: backgroundRectangle; liningColor: UM.Theme.getColor("border_main_light")}
|
||||
when: control.hovered || control.activeFocus
|
||||
PropertyChanges { target: backgroundRectangle; liningColor: UM.Theme.getColor("text_field_border_hovered")}
|
||||
}
|
||||
]
|
||||
|
||||
|
@ -66,7 +67,7 @@ TextField
|
|||
visible: source != ""
|
||||
height: UM.Theme.getSize("small_button_icon").height
|
||||
width: visible ? height : 0
|
||||
color: textField.color
|
||||
color: control.color
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
"accent_1": [25, 110, 240, 255],
|
||||
"accent_2": [16, 70, 156, 255],
|
||||
"border_main": [212, 212, 212, 255],
|
||||
"border_main": [118, 118, 119, 255],
|
||||
"border_accent_1": [255, 255, 255, 255],
|
||||
"border_accent_2": [16, 70, 156, 255],
|
||||
"border_field": [57, 57, 58, 255],
|
||||
|
@ -23,7 +23,20 @@
|
|||
"text_primary_button": [255, 255, 255, 255],
|
||||
"text_secondary_button": [255, 255, 255, 255],
|
||||
"text_link_hover": [156, 195, 255, 255],
|
||||
"text_lighter": [243, 243, 243, 255]
|
||||
"text_lighter": [243, 243, 243, 255],
|
||||
|
||||
"um_green_1": [233, 245, 237, 255],
|
||||
"um_green_5": [36, 162, 73, 255],
|
||||
"um_green_9": [31, 44, 36, 255],
|
||||
"um_red_1": [251, 232, 233, 255],
|
||||
"um_red_5": [218, 30, 40, 255],
|
||||
"um_red_9": [59, 31, 33, 255],
|
||||
"um_orange_1": [255, 235, 221, 255],
|
||||
"um_orange_5": [252, 123, 30, 255],
|
||||
"um_orange_9": [64, 45, 32, 255],
|
||||
"um_yellow_1": [255, 248, 225, 255],
|
||||
"um_yellow_5": [253, 209, 58, 255],
|
||||
"um_yellow_9": [64, 58, 36, 255]
|
||||
},
|
||||
|
||||
"colors": {
|
||||
|
@ -140,10 +153,8 @@
|
|||
"setting_control_disabled_text": [255, 255, 255, 101],
|
||||
"setting_control_disabled_border": [255, 255, 255, 101],
|
||||
"setting_unit": [255, 255, 255, 127],
|
||||
"setting_validation_error_background": [59, 31, 53, 255],
|
||||
"setting_validation_error": [212, 31, 53, 255],
|
||||
"setting_validation_warning_background": [62, 54, 46, 255],
|
||||
"setting_validation_warning": [245, 166, 35, 255],
|
||||
"setting_validation_error_background": "um_red_9",
|
||||
"setting_validation_warning_background": "um_yellow_9",
|
||||
"setting_validation_ok": "background_2",
|
||||
|
||||
"progressbar_background": [255, 255, 255, 48],
|
||||
|
@ -155,15 +166,6 @@
|
|||
"slider_handle": [255, 255, 255, 255],
|
||||
"slider_handle_active": [68, 192, 255, 255],
|
||||
|
||||
"checkbox": "background_1",
|
||||
"checkbox_hover": [43, 48, 52, 255],
|
||||
"checkbox_border": "text_disabled",
|
||||
"checkbox_border_hover": "border_main",
|
||||
"checkbox_mark": "text_default",
|
||||
"checkbox_square": "text_disabled",
|
||||
"checkbox_text": "text_default",
|
||||
"checkbox_disabled": "background_2",
|
||||
|
||||
"category_background": "background_3",
|
||||
|
||||
"tooltip": "background_2",
|
||||
|
|
|
@ -188,7 +188,20 @@
|
|||
"text_primary_button": [255, 255, 255, 255],
|
||||
"text_secondary_button": [25, 110, 240, 255],
|
||||
"text_link_hover": [16, 70, 156, 255],
|
||||
"text_lighter": [108, 108, 108, 255]
|
||||
"text_lighter": [108, 108, 108, 255],
|
||||
|
||||
"um_green_1": [233, 245, 237, 255],
|
||||
"um_green_5": [36, 162, 73, 255],
|
||||
"um_green_9": [31, 44, 36, 255],
|
||||
"um_red_1": [251, 232, 233, 255],
|
||||
"um_red_5": [218, 30, 40, 255],
|
||||
"um_red_9": [59, 31, 33, 255],
|
||||
"um_orange_1": [255, 235, 221, 255],
|
||||
"um_orange_5": [252, 123, 30, 255],
|
||||
"um_orange_9": [64, 45, 32, 255],
|
||||
"um_yellow_1": [255, 248, 225, 255],
|
||||
"um_yellow_5": [253, 209, 58, 255],
|
||||
"um_yellow_9": [64, 58, 36, 255]
|
||||
},
|
||||
|
||||
"colors": {
|
||||
|
@ -304,10 +317,10 @@
|
|||
"setting_control_disabled_text": [127, 127, 127, 255],
|
||||
"setting_control_disabled_border": [127, 127, 127, 255],
|
||||
"setting_unit": [127, 127, 127, 255],
|
||||
"setting_validation_error_background": [255, 66, 60, 255],
|
||||
"setting_validation_error": [127, 127, 127, 255],
|
||||
"setting_validation_warning_background": [255, 145, 62, 255],
|
||||
"setting_validation_warning": [127, 127, 127, 255],
|
||||
"setting_validation_error_background": "um_red_1",
|
||||
"setting_validation_error": "um_red_5",
|
||||
"setting_validation_warning_background": "um_yellow_1",
|
||||
"setting_validation_warning": "um_yellow_5",
|
||||
"setting_validation_ok": "background_2",
|
||||
|
||||
"material_compatibility_warning": [243, 166, 59, 255],
|
||||
|
@ -324,13 +337,36 @@
|
|||
"quality_slider_unavailable": [179, 179, 179, 255],
|
||||
"quality_slider_available": [0, 0, 0, 255],
|
||||
|
||||
"checkbox": [255, 255, 255, 255],
|
||||
"checkbox_hover": "border_main",
|
||||
"checkbox_border": [180, 180, 180, 255],
|
||||
"checkbox_border_hover": [25, 110, 240, 255],
|
||||
"checkbox_mark": [35, 35, 35, 255],
|
||||
"checkbox": "background_1",
|
||||
"checkbox_hover": "background_1",
|
||||
"checkbox_disabled": "background_2",
|
||||
"checkbox_text": [0, 12, 26, 255],
|
||||
"checkbox_border": [180, 180, 180, 255],
|
||||
"checkbox_border_hover": "border_main",
|
||||
"checkbox_border_disabled": "text_disabled",
|
||||
"checkbox_mark": "text_default",
|
||||
"checkbox_mark_disabled": "text_disabled",
|
||||
"checkbox_square": [180, 180, 180, 255],
|
||||
"checkbox_text": "text_default",
|
||||
"checkbox_text_disabled": "text_disabled",
|
||||
|
||||
"radio": "background_1",
|
||||
"radio_disabled": "background_2",
|
||||
"radio_selected": "accent_1",
|
||||
"radio_selected_disabled": "text_disabled",
|
||||
"radio_border": [180, 180, 180, 255],
|
||||
"radio_border_hover": "border_main",
|
||||
"radio_border_disabled": "text_disabled",
|
||||
"radio_dot": "background_1",
|
||||
"radio_dot_disabled": "background_2",
|
||||
"radio_text": "text_default",
|
||||
"radio_text_disabled": "text_disabled",
|
||||
|
||||
"text_field": "background_1",
|
||||
"text_field_border": [180, 180, 180, 255],
|
||||
"text_field_border_hovered": "border_main",
|
||||
"text_field_border_disabled": "border_main",
|
||||
"text_field_text": "text_default",
|
||||
"text_field_text_disabled": "text_disabled",
|
||||
|
||||
"category_background": "background_2",
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue