Merge remote-tracking branch 'origin/4.0' into CL-1165_missing_cloud_info

This commit is contained in:
Ian Paschal 2019-01-23 12:05:06 +01:00
commit 32072e3bfe
38 changed files with 243 additions and 233 deletions

View file

@ -1043,6 +1043,12 @@ class BuildVolume(SceneNode):
else:
raise Exception("Unknown bed adhesion type. Did you forget to update the build volume calculations for your new bed adhesion type?")
max_length_available = 0.5 * min(
self._global_container_stack.getProperty("machine_width", "value"),
self._global_container_stack.getProperty("machine_depth", "value")
)
bed_adhesion_size = min(bed_adhesion_size, max_length_available)
support_expansion = 0
support_enabled = self._global_container_stack.getProperty("support_enable", "value")
support_offset = self._global_container_stack.getProperty("support_offset", "value")

View file

@ -289,16 +289,21 @@ class ConvexHullDecorator(SceneNodeDecorator):
# Add extra margin depending on adhesion type
adhesion_type = self._global_stack.getProperty("adhesion_type", "value")
max_length_available = 0.5 * min(
self._getSettingProperty("machine_width", "value"),
self._getSettingProperty("machine_depth", "value")
)
if adhesion_type == "raft":
extra_margin = max(0, self._getSettingProperty("raft_margin", "value"))
extra_margin = min(max_length_available, max(0, self._getSettingProperty("raft_margin", "value")))
elif adhesion_type == "brim":
extra_margin = max(0, self._getSettingProperty("brim_line_count", "value") * self._getSettingProperty("skirt_brim_line_width", "value"))
extra_margin = min(max_length_available, max(0, self._getSettingProperty("brim_line_count", "value") * self._getSettingProperty("skirt_brim_line_width", "value")))
elif adhesion_type == "none":
extra_margin = 0
elif adhesion_type == "skirt":
extra_margin = max(
extra_margin = min(max_length_available, max(
0, self._getSettingProperty("skirt_gap", "value") +
self._getSettingProperty("skirt_line_count", "value") * self._getSettingProperty("skirt_brim_line_width", "value"))
self._getSettingProperty("skirt_line_count", "value") * self._getSettingProperty("skirt_brim_line_width", "value")))
else:
raise Exception("Unknown bed adhesion type. Did you forget to update the convex hull calculations for your new bed adhesion type?")

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

View file

@ -151,7 +151,7 @@ class CuraEngineBackend(QObject, Backend):
if self._multi_build_plate_model:
self._multi_build_plate_model.activeBuildPlateChanged.connect(self._onActiveViewChanged)
self._application.globalContainerStackChanged.connect(self._onGlobalStackChanged)
self._application.getMachineManager().globalContainerChanged.connect(self._onGlobalStackChanged)
self._onGlobalStackChanged()
# extruder enable / disable. Actually wanted to use machine manager here, but the initialization order causes it to crash
@ -821,7 +821,7 @@ class CuraEngineBackend(QObject, Backend):
extruder.propertyChanged.disconnect(self._onSettingChanged)
extruder.containersChanged.disconnect(self._onChanged)
self._global_container_stack = self._application.getGlobalContainerStack()
self._global_container_stack = self._application.getMachineManager().activeMachine
if self._global_container_stack:
self._global_container_stack.propertyChanged.connect(self._onSettingChanged) # Note: Only starts slicing when the value changed.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

View file

@ -1 +0,0 @@
<svg width="200px" height="200px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="lds-rolling" style="animation-play-state: running; animation-delay: 0s; background-image: none; background-position: initial initial; background-repeat: initial initial;"><circle cx="50" cy="50" fill="none" ng-attr-stroke="{{config.color}}" ng-attr-stroke-width="{{config.width}}" ng-attr-r="{{config.radius}}" ng-attr-stroke-dasharray="{{config.dasharray}}" stroke="#0CA9E3" stroke-width="13" r="43" stroke-dasharray="202.63272615654165 69.54424205218055" style="animation-play-state: running; animation-delay: 0s;"><animateTransform attributeName="transform" type="rotate" calcMode="linear" values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite" style="animation-play-state: running; animation-delay: 0s;"></animateTransform></circle></svg>

Before

Width:  |  Height:  |  Size: 903 B

View file

@ -62,17 +62,6 @@ Item
readyAction()
}
}
}
AnimatedImage
{
id: loader
visible: active
source: visible ? "../images/loading.gif" : ""
width: UM.Theme.getSize("toolbox_loader").width
height: UM.Theme.getSize("toolbox_loader").height
anchors.right: button.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.verticalCenter: button.verticalCenter
busy: active
}
}

View file

@ -13,7 +13,7 @@ Rectangle {
property var enabled: true
property var iconSource: null;
color: !enabled ? "#cccccc" : "#0a0850" // TODO: Theme!
color: UM.Theme.getColor("monitor_icon_primary")
height: width;
radius: Math.round(0.5 * width);
width: 24 * screenScaleFactor;
@ -24,7 +24,7 @@ Rectangle {
horizontalCenter: parent.horizontalCenter;
verticalCenter: parent.verticalCenter;
}
color: UM.Theme.getColor("primary_text");
color: UM.Theme.getColor("monitor_icon_accent");
height: width;
source: iconSource;
width: Math.round(parent.width / 2);

View file

@ -6,10 +6,11 @@ import QtQuick.Controls 2.0
import UM 1.3 as UM
import Cura 1.0 as Cura
// TODO: Theme & documentation!
// The expandable component has 3 major sub components:
// * The headerItem Always visible and should hold some info about what happens if the component is expanded
// * The popupItem The content that needs to be shown if the component is expanded.
/**
* The expandable component has 3 major sub components:
* - The headerItem Always visible and should hold some info about what happens if the component is expanded
* - The popupItem The content that needs to be shown if the component is expanded.
*/
Item
{
id: base
@ -17,10 +18,10 @@ Item
property bool expanded: false
property bool enabled: true
property var borderWidth: 1
property color borderColor: "#CCCCCC"
property color headerBackgroundColor: "white"
property color headerHoverColor: "#e8f2fc"
property color drawerBackgroundColor: "white"
property color borderColor: UM.Theme.getColor("monitor_card_border")
property color headerBackgroundColor: UM.Theme.getColor("monitor_icon_accent")
property color headerHoverColor: UM.Theme.getColor("monitor_card_hover")
property color drawerBackgroundColor: UM.Theme.getColor("monitor_icon_accent")
property alias headerItem: header.children
property alias drawerItem: drawer.children

View file

@ -41,7 +41,7 @@ Item
anchors.centerIn: parent
height: parent.height
width: height
color: buildplateIcon.visible > 0 ? "transparent" : "#eeeeee" // TODO: Theme!
color: buildplateIcon.visible > 0 ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
radius: Math.floor(height / 2)
}
@ -49,7 +49,7 @@ Item
{
id: buildplateIcon
anchors.centerIn: parent
color: "#0a0850" // TODO: Theme! (Standard purple)
color: UM.Theme.getColor("monitor_icon_primary")
height: parent.height
source: "../svg/icons/buildplate.svg"
width: height
@ -60,7 +60,7 @@ Item
Label
{
id: buildplateLabel
color: "#191919" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("default") // 12pt, regular
text: buildplate ? buildplate : ""

View file

@ -49,12 +49,12 @@ Item
GradientStop
{
position: 0.0
color: "#fff6f6f6" // TODO: Theme!
color: UM.Theme.getColor("monitor_stage_background")
}
GradientStop
{
position: 1.0
color: "#66f6f6f6" // TODO: Theme!
color: UM.Theme.getColor("monitor_stage_background_fade")
}
}
}
@ -82,9 +82,9 @@ Item
onClicked: navigateTo(currentIndex - 1)
background: Rectangle
{
color: leftButton.hovered ? "#e8f2fc" : "#ffffff" // TODO: Theme!
color: leftButton.hovered ? UM.Theme.getColor("monitor_card_hover") : UM.Theme.getColor("monitor_card_background")
border.width: 1 * screenScaleFactor // TODO: Theme!
border.color: "#cccccc" // TODO: Theme!
border.color: UM.Theme.getColor("monitor_card_border")
radius: 2 * screenScaleFactor // TODO: Theme!
}
contentItem: Item
@ -97,7 +97,7 @@ Item
height: width // TODO: Theme!
sourceSize.width: width // TODO: Theme!
sourceSize.height: width // TODO: Theme!
color: "#152950" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
source: UM.Theme.getIcon("arrow_left")
}
}
@ -161,9 +161,9 @@ Item
hoverEnabled: true
background: Rectangle
{
color: rightButton.hovered ? "#e8f2fc" : "#ffffff" // TODO: Theme!
color: rightButton.hovered ? UM.Theme.getColor("monitor_card_hover") : UM.Theme.getColor("monitor_card_background")
border.width: 1 * screenScaleFactor // TODO: Theme!
border.color: "#cccccc" // TODO: Theme!
border.color: UM.Theme.getColor("monitor_card_border")
radius: 2 * screenScaleFactor // TODO: Theme!
}
contentItem: Item
@ -176,7 +176,7 @@ Item
height: width // TODO: Theme!
sourceSize.width: width // TODO: Theme!
sourceSize.height: width // TODO: Theme!
color: "#152950" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
source: UM.Theme.getIcon("arrow_right")
}
}
@ -204,12 +204,12 @@ Item
GradientStop
{
position: 0.0
color: "#66f6f6f6" // TODO: Theme!
color: UM.Theme.getColor("monitor_stage_background_fade")
}
GradientStop
{
position: 1.0
color: "#fff6f6f6" // TODO: Theme!
color: UM.Theme.getColor("monitor_stage_background")
}
}
}
@ -238,7 +238,7 @@ Item
{
background: Rectangle
{
color: model.index == currentIndex ? "#777777" : "#d8d8d8" // TODO: Theme!
color: model.index == currentIndex ? UM.Theme.getColor("monitor_carousel_dot_current") : UM.Theme.getColor("monitor_carousel_dot")
radius: Math.floor(width / 2)
width: 12 * screenScaleFactor // TODO: Theme!
height: width // TODO: Theme!

View file

@ -36,7 +36,7 @@ Item
MonitorIconExtruder
{
id: extruderIcon
color: "#eeeeee" // TODO: Theme!
color: UM.Theme.getColor("monitor_skeleton_loading")
position: 0
}
@ -48,7 +48,7 @@ Item
left: extruderIcon.right
leftMargin: 12 * screenScaleFactor // TODO: Theme!
}
color: materialLabel.visible > 0 ? "transparent" : "#eeeeee" // TODO: Theme!
color: materialLabel.visible > 0 ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
height: 18 * screenScaleFactor // TODO: Theme!
width: Math.max(materialLabel.contentWidth, 60 * screenScaleFactor) // TODO: Theme!
radius: 2 * screenScaleFactor // TODO: Theme!
@ -57,7 +57,7 @@ Item
{
id: materialLabel
color: "#191919" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("default") // 12pt, regular
text: ""
@ -77,7 +77,7 @@ Item
left: materialLabelWrapper.left
bottom: parent.bottom
}
color: printCoreLabel.visible > 0 ? "transparent" : "#eeeeee" // TODO: Theme!
color: printCoreLabel.visible > 0 ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
height: 18 * screenScaleFactor // TODO: Theme!
width: Math.max(printCoreLabel.contentWidth, 36 * screenScaleFactor) // TODO: Theme!
radius: 2 * screenScaleFactor // TODO: Theme!
@ -86,7 +86,7 @@ Item
{
id: printCoreLabel
color: "#191919" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("default_bold") // 12pt, bold
text: ""

View file

@ -19,7 +19,7 @@ Item
property int position: 0
// The extruder icon size; NOTE: This shouldn't need to be changed
property int size: 32 // TODO: Theme!
property int size: 32 * screenScaleFactor // TODO: Theme!
// THe extruder icon source; NOTE: This shouldn't need to be changed
property string iconSource: "../svg/icons/extruder.svg"
@ -35,27 +35,18 @@ Item
width: size
}
/*
* The label uses some "fancy" math to ensure that if you change the overall
* icon size, the number scales with it. That is to say, the font properties
* are linked to the icon size, NOT the theme. And that's intentional.
*/
Label
{
id: positionLabel
font
{
pointSize: Math.round(size * 0.3125)
weight: Font.Bold
}
height: Math.round(size / 2) * screenScaleFactor
font: UM.Theme.getFont("small")
color: UM.Theme.getColor("monitor_text_primary")
height: Math.round(size / 2)
horizontalAlignment: Text.AlignHCenter
text: position + 1
verticalAlignment: Text.AlignVCenter
width: Math.round(size / 2) * screenScaleFactor
x: Math.round(size * 0.25) * screenScaleFactor
y: Math.round(size * 0.15625) * screenScaleFactor
// TODO: Once 'size' is themed, screenScaleFactor won't be needed
width: Math.round(size / 2)
x: Math.round(size * 0.25)
y: Math.round(size * 0.15625)
visible: position >= 0
}
}

View file

@ -32,7 +32,7 @@ Item
ExpandableCard
{
enabled: printJob != null
borderColor: printJob && printJob.configurationChanges.length !== 0 ? "#f5a623" : "#CCCCCC" // TODO: Theme!
borderColor: printJob && printJob.configurationChanges.length !== 0 ? UM.Theme.getColor("warning") : UM.Theme.getColor("monitor_card_border")
headerItem: Row
{
height: 48 * screenScaleFactor // TODO: Theme!
@ -54,7 +54,7 @@ Item
width: 216 * screenScaleFactor // TODO: Theme! (Should match column size)
Rectangle
{
color: "#eeeeee"
color: UM.Theme.getColor("monitor_skeleton_loading")
width: Math.round(parent.width / 2)
height: parent.height
visible: !printJob
@ -62,7 +62,7 @@ Item
Label
{
text: printJob && printJob.name ? printJob.name : ""
color: "#374355"
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
visible: printJob
@ -80,7 +80,7 @@ Item
width: 216 * screenScaleFactor // TODO: Theme! (Should match column size)
Rectangle
{
color: "#eeeeee"
color: UM.Theme.getColor("monitor_skeleton_loading")
width: Math.round(parent.width / 3)
height: parent.height
visible: !printJob
@ -88,7 +88,7 @@ Item
Label
{
text: printJob ? OutputDevice.formatDuration(printJob.timeTotal) : ""
color: "#374355"
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
visible: printJob
@ -107,7 +107,7 @@ Item
Rectangle
{
color: "#eeeeee"
color: UM.Theme.getColor("monitor_skeleton_loading")
width: 72 * screenScaleFactor // TODO: Theme!
height: parent.height
visible: !printJob
@ -117,7 +117,7 @@ Item
{
id: printerAssignmentLabel
anchors.verticalCenter: parent.verticalCenter
color: "#374355"
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
text: {
@ -181,8 +181,9 @@ Item
{
id: printerConfiguration
anchors.verticalCenter: parent.verticalCenter
buildplate: "Glass"
configurations: !base.printJob ? [null, null] : [
buildplate: catalog.i18nc("@label", "Glass")
configurations:
[
base.printJob.configuration.extruderConfigurations[0],
base.printJob.configuration.extruderConfigurations[1]
]
@ -190,7 +191,7 @@ Item
}
Label {
text: printJob && printJob.owner ? printJob.owner : ""
color: "#374355" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.top: printerConfiguration.top

View file

@ -19,7 +19,7 @@ Item
Rectangle
{
anchors.fill: parent
color: printJob ? "transparent" : "#eeeeee" // TODO: Theme!
color: printJob ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
radius: 8 // TODO: Theme!
Image
{

View file

@ -34,15 +34,15 @@ Item
{
background: Rectangle
{
color: "#f5f5f5" // TODO: Theme!
implicitHeight: visible ? 8 * screenScaleFactor : 0 // TODO: Theme!
color: UM.Theme.getColor("monitor_progress_bar_empty")
implicitHeight: visible ? 12 * screenScaleFactor : 0 // TODO: Theme!
implicitWidth: 180 * screenScaleFactor // TODO: Theme!
radius: 2 * screenScaleFactor // TODO: Theme!
}
progress: Rectangle
{
id: progressItem;
color: printJob && printJob.isActive ? "#3282ff" : "#CCCCCC" // TODO: Theme!
color: printJob && printJob.isActive ? UM.Theme.getColor("monitor_progress_bar_fill") : UM.Theme.getColor("monitor_progress_bar_deactive")
radius: 2 * screenScaleFactor // TODO: Theme!
}
}
@ -56,7 +56,7 @@ Item
leftMargin: 18 * screenScaleFactor // TODO: Theme!
}
text: printJob ? Math.round(printJob.progress * 100) + "%" : "0%"
color: printJob && printJob.isActive ? "#374355" : "#babac1" // TODO: Theme!
color: printJob && printJob.isActive ? UM.Theme.getColor("monitor_text_primary") : UM.Theme.getColor("monitor_text_disabled")
width: contentWidth
font: UM.Theme.getFont("medium") // 14pt, regular
@ -72,7 +72,7 @@ Item
left: percentLabel.right
leftMargin: 18 * screenScaleFactor // TODO: Theme!
}
color: "#374355" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
font: UM.Theme.getFont("medium") // 14pt, regular
text:
{

View file

@ -39,10 +39,10 @@ Item
{
id: background
anchors.fill: parent
color: "#FFFFFF" // TODO: Theme!
color: UM.Theme.getColor("monitor_card_background")
border
{
color: "#CCCCCC" // TODO: Theme!
color: UM.Theme.getColor("monitor_card_border")
width: borderSize // TODO: Remove once themed
}
radius: 2 * screenScaleFactor // TODO: Theme!
@ -71,7 +71,7 @@ Item
id: printerImage
width: 108 * screenScaleFactor // TODO: Theme!
height: 108 * screenScaleFactor // TODO: Theme!
color: printer ? "transparent" : "#eeeeee" // TODO: Theme!
color: printer ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
radius: 8 // TODO: Theme!
Image
{
@ -95,8 +95,7 @@ Item
Rectangle
{
id: printerNameLabel
// color: "#414054" // TODO: Theme!
color: printer ? "transparent" : "#eeeeee" // TODO: Theme!
color: printer ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading")
height: 18 * screenScaleFactor // TODO: Theme!
width: parent.width
radius: 2 * screenScaleFactor // TODO: Theme!
@ -104,7 +103,7 @@ Item
Label
{
text: printer && printer.name ? printer.name : ""
color: "#414054" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("large") // 16pt, bold
width: parent.width
@ -118,7 +117,7 @@ Item
Rectangle
{
color: "#eeeeee" // TODO: Theme!
color: UM.Theme.getColor("monitor_skeleton_loading")
height: 18 * screenScaleFactor // TODO: Theme!
radius: 2 * screenScaleFactor // TODO: Theme!
visible: !printer
@ -269,8 +268,7 @@ Item
}
border
{
// TODO: Fix line length
color: printer && printer.activePrintJob && printer.activePrintJob.configurationChanges.length > 0 ? "#f5a623" : "transparent" // TODO: Theme!
color: printer && printer.activePrintJob && printer.activePrintJob.configurationChanges.length > 0 ? UM.Theme.getColor("warning") : "transparent" // TODO: Theme!
width: borderSize // TODO: Remove once themed
}
color: "transparent" // TODO: Theme!
@ -296,7 +294,7 @@ Item
{
verticalCenter: parent.verticalCenter
}
color: printer ? "#414054" : "#aaaaaa" // TODO: Theme!
color: printer ? UM.Theme.getColor("monitor_text_primary") : UM.Theme.getColor("monitor_text_disabled")
font: UM.Theme.getFont("large_bold") // 16pt, bold
text: {
if (!printer) {
@ -349,10 +347,10 @@ Item
Label
{
id: printerJobNameLabel
color: printer && printer.activePrintJob && printer.activePrintJob.isActive ? "#414054" : "#babac1" // TODO: Theme!
color: printer && printer.activePrintJob && printer.activePrintJob.isActive ? UM.Theme.getColor("monitor_text_primary") : UM.Theme.getColor("monitor_text_disabled")
elide: Text.ElideRight
font: UM.Theme.getFont("large") // 16pt, bold
text: printer && printer.activePrintJob ? printer.activePrintJob.name : "Untitled" // TODO: I18N
text: printer && printer.activePrintJob ? printer.activePrintJob.name : catalog.i18nc("@label", "Untitled")
width: parent.width
// FIXED-LINE-HEIGHT:
@ -369,10 +367,10 @@ Item
topMargin: 6 * screenScaleFactor // TODO: Theme!
left: printerJobNameLabel.left
}
color: printer && printer.activePrintJob && printer.activePrintJob.isActive ? "#53657d" : "#babac1" // TODO: Theme!
color: printer && printer.activePrintJob && printer.activePrintJob.isActive ? UM.Theme.getColor("monitor_text_primary") : UM.Theme.getColor("monitor_text_disabled")
elide: Text.ElideRight
font: UM.Theme.getFont("default") // 12pt, regular
text: printer && printer.activePrintJob ? printer.activePrintJob.owner : "Anonymous" // TODO: I18N
text: printer && printer.activePrintJob ? printer.activePrintJob.owner : catalog.i18nc("@label", "Anonymous")
width: parent.width
// FIXED-LINE-HEIGHT:
@ -398,7 +396,7 @@ Item
verticalCenter: parent.verticalCenter
}
font: UM.Theme.getFont("default")
text: "Requires configuration changes"
text: catalog.i18nc("@label:status", "Requires configuration changes")
visible: printer && printer.activePrintJob && printer.activePrintJob.configurationChanges.length > 0 && !printerStatus.visible
// FIXED-LINE-HEIGHT:
@ -418,13 +416,13 @@ Item
}
background: Rectangle
{
color: "#d8d8d8" // TODO: Theme!
color: UM.Theme.getColor("monitor_secondary_button_shadow")
radius: 2 * screenScaleFactor // Todo: Theme!
Rectangle
{
anchors.fill: parent
anchors.bottomMargin: 2 * screenScaleFactor // TODO: Theme!
color: detailsButton.hovered ? "#e4e4e4" : "#f0f0f0" // TODO: Theme!
color: detailsButton.hovered ? UM.Theme.getColor("monitor_secondary_button_hover") : UM.Theme.getColor("monitor_secondary_button")
radius: 2 * screenScaleFactor // Todo: Theme!
}
}
@ -432,9 +430,9 @@ Item
{
anchors.fill: parent
anchors.bottomMargin: 2 * screenScaleFactor // TODO: Theme!
color: "#1e66d7" // TODO: Theme!
color: UM.Theme.getColor("monitor_secondary_button_text")
font: UM.Theme.getFont("medium") // 14pt, regular
text: "Details" // TODO: I18NC!
text: catalog.i18nc("@action:button","Details");
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
height: 18 * screenScaleFactor // TODO: Theme!

View file

@ -37,7 +37,7 @@ Item
MonitorExtruderConfiguration
{
color: modelData && modelData.activeMaterial ? modelData.activeMaterial.color : "#eeeeee" // TODO: Theme!
color: modelData && modelData.activeMaterial ? modelData.activeMaterial.color : UM.Theme.getColor("monitor_skeleton_loading")
material: modelData && modelData.activeMaterial ? modelData.activeMaterial.name : ""
position: modelData && typeof(modelData.position) === "number" ? modelData.position : -1 // Use negative one to create empty extruder number
printCore: modelData ? modelData.hotendID : ""

View file

@ -32,14 +32,14 @@ Item
Rectangle {
id: background
anchors.fill: parent
color: printerNameLabel.visible ? "#e4e4f2" : "#eeeeee"// TODO: Theme!
color: printerNameLabel.visible ? UM.Theme.getColor("monitor_printer_family_tag") : UM.Theme.getColor("monitor_skeleton_loading")
radius: 2 * screenScaleFactor // TODO: Theme!
}
Label {
id: printerNameLabel
anchors.centerIn: parent
color: "#535369" // TODO: Theme!
color: UM.Theme.getColor("monitor_text_primary")
text: tagText
font.pointSize: 10 // TODO: Theme!
visible: text !== ""

View file

@ -22,7 +22,7 @@ Item
left: queuedPrintJobs.left
top: parent.top
}
color: UM.Theme.getColor("text")
color: UM.Theme.getColor("monitor_text_primary")
font: UM.Theme.getFont("large")
text: catalog.i18nc("@label", "Queued")
}
@ -42,7 +42,7 @@ Item
{
id: externalLinkIcon
anchors.verticalCenter: manageQueueLabel.verticalCenter
color: UM.Theme.getColor("text_link")
color: UM.Theme.getColor("monitor_text_link")
source: UM.Theme.getIcon("external_link")
width: 16 * screenScaleFactor // TODO: Theme! (Y U NO USE 18 LIKE ALL OTHER ICONS?!)
height: 16 * screenScaleFactor // TODO: Theme! (Y U NO USE 18 LIKE ALL OTHER ICONS?!)
@ -56,9 +56,9 @@ Item
leftMargin: 6 * screenScaleFactor // TODO: Theme!
verticalCenter: externalLinkIcon.verticalCenter
}
color: UM.Theme.getColor("text_link")
color: UM.Theme.getColor("monitor_text_link")
font: UM.Theme.getFont("default") // 12pt, regular
linkColor: UM.Theme.getColor("text_link")
linkColor: UM.Theme.getColor("monitor_text_link")
text: catalog.i18nc("@label link to connect manager", "Manage queue in Cura Connect")
renderType: Text.NativeRendering
}
@ -94,7 +94,7 @@ Item
Label
{
text: catalog.i18nc("@label", "Print jobs")
color: "#666666"
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
@ -108,7 +108,7 @@ Item
Label
{
text: catalog.i18nc("@label", "Total print time")
color: "#666666"
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
@ -122,7 +122,7 @@ Item
Label
{
text: catalog.i18nc("@label", "Waiting for")
color: "#666666"
color: UM.Theme.getColor("monitor_text_primary")
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter

View file

@ -11,7 +11,7 @@ import QtGraphicalEffects 1.0
// This is the root component for the monitor stage.
Component
{
Item
Rectangle
{
id: monitorFrame
@ -24,6 +24,7 @@ Component
}
}
width: maximumWidth
color: UM.Theme.getColor("monitor_stage_background")
// Enable keyboard navigation. NOTE: This is done here so that we can also potentially
// forward to the queue items in the future. (Deleting selected print job, etc.)
@ -36,24 +37,6 @@ Component
name: "cura"
}
LinearGradient
{
anchors.fill: parent
gradient: Gradient
{
GradientStop
{
position: 0.0
color: "#f6f6f6" // TODO: Theme!
}
GradientStop
{
position: 1.0
color: "#ffffff" // TODO: Theme!
}
}
}
Item
{
id: printers

View file

@ -18,14 +18,14 @@ Item {
Button {
id: button;
background: Rectangle {
color: UM.Theme.getColor("viewport_background"); // TODO: Theme!
color: UM.Theme.getColor("monitor_card_hover")
height: button.height;
opacity: button.down || button.hovered ? 1 : 0;
radius: Math.round(0.5 * width);
width: button.width;
}
contentItem: Label {
color: UM.Theme.getColor("monitor_context_menu_dots");
color: UM.Theme.getColor("monitor_text_primary")
font.pixelSize: 32 * screenScaleFactor;
horizontalAlignment: Text.AlignHCenter;
text: button.text;
@ -74,7 +74,7 @@ Item {
right: bloop.right;
rightMargin: 24 * screenScaleFactor;
}
color: UM.Theme.getColor("monitor_context_menu_background");
color: UM.Theme.getColor("monitor_context_menu")
height: 14 * screenScaleFactor;
transform: Rotation {
angle: 45;
@ -91,7 +91,7 @@ Item {
top: parent.top;
topMargin: 8 * screenScaleFactor; // Because of the shadow + point
}
color: UM.Theme.getColor("monitor_context_menu_background");
color: UM.Theme.getColor("monitor_context_menu");
width: parent.width;
}
}

View file

@ -9,10 +9,10 @@ import UM 1.3 as UM
Button {
background: Rectangle {
opacity: parent.down || parent.hovered ? 1 : 0;
color: UM.Theme.getColor("monitor_context_menu_highlight");
color: UM.Theme.getColor("monitor_context_menu_hover")
}
contentItem: Label {
color: enabled ? UM.Theme.getColor("text") : UM.Theme.getColor("text_inactive");
color: enabled ? UM.Theme.getColor("monitor_text_primary") : UM.Theme.getColor("monitor_text_disabled");
text: parent.text
horizontalAlignment: Text.AlignLeft;
verticalAlignment: Text.AlignVCenter;

View file

@ -119,7 +119,7 @@ class CloudApiClient:
except (UnicodeDecodeError, JSONDecodeError, ValueError) as err:
error = CloudError(code=type(err).__name__, title=str(err), http_code=str(status_code),
id=str(time()), http_status="500")
Logger.logException("e", "Could not parse the stardust response: %s", error)
Logger.logException("e", "Could not parse the stardust response: %s", error.toDict())
return status_code, {"errors": [error.toDict()]}
## Parses the given models and calls the correct callback depending on the result.

View file

@ -138,10 +138,10 @@ class CloudOutputDeviceManager:
## Handles an API error received from the cloud.
# \param errors: The errors received
def _onApiError(self, errors: List[CloudError]) -> None:
text = ". ".join(e.title for e in errors) # TODO: translate errors
def _onApiError(self, errors: List[CloudError] = None) -> None:
Logger.log("w", str(errors))
message = Message(
text = text,
text = self.I18N_CATALOG.i18nc("@info:description", "There was an error connecting to the cloud."),
title = self.I18N_CATALOG.i18nc("@info:title", "Error"),
lifetime = 10
)

View file

@ -4690,6 +4690,7 @@
"default_value": 8.0,
"minimum_value": "0.0",
"maximum_value_warning": "50.0",
"maximum_value": "0.5 * min(machine_width, machine_depth)",
"enabled": "resolveOrValue('adhesion_type') == 'brim'",
"settable_per_mesh": false,
"settable_per_extruder": true,
@ -4704,6 +4705,7 @@
"default_value": 20,
"minimum_value": "0",
"maximum_value_warning": "50 / skirt_brim_line_width",
"maximum_value": "0.5 * min(machine_width, machine_depth) / skirt_brim_line_width",
"value": "math.ceil(brim_width / (skirt_brim_line_width * initial_layer_line_width_factor / 100.0))",
"enabled": "resolveOrValue('adhesion_type') == 'brim'",
"settable_per_mesh": false,

View file

@ -130,5 +130,15 @@ Button
height: parent.height
visible: false
RotationAnimator
{
target: busyIndicator.contentItem
running: busyIndicator.visible && busyIndicator.running
from: 0
to: 360
loops: Animation.Infinite
duration: 2500
}
}
}

View file

@ -58,6 +58,7 @@ Item
property alias showProfileFolder: showProfileFolderAction;
property alias documentation: documentationAction;
property alias showTroubleshooting: showTroubleShootingAction
property alias reportBug: reportBugAction;
property alias about: aboutAction;
@ -69,6 +70,14 @@ Item
UM.I18nCatalog{id: catalog; name: "cura"}
Action
{
id: showTroubleShootingAction
onTriggered: Qt.openUrlExternally("https://ultimaker.com/en/troubleshooting")
text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting Guide");
}
Action
{
id:toggleFullScreenAction

View file

@ -97,6 +97,7 @@ Item
title: catalog.i18nc("@title:menu menubar:toplevel", "&Help")
MenuItem { action: Cura.Actions.showProfileFolder }
MenuItem { action: Cura.Actions.showTroubleshooting}
MenuItem { action: Cura.Actions.documentation }
MenuItem { action: Cura.Actions.reportBug }
MenuSeparator { }

View file

@ -218,7 +218,8 @@ Button
{
if(isValidMaterial)
{
Cura.MachineManager.applyRemoteConfiguration(configuration);
toggleContent()
Cura.MachineManager.applyRemoteConfiguration(configuration)
}
}
}

View file

@ -97,6 +97,7 @@ Item
spacing: UM.Theme.getSize("narrow_margin").height
width: container.width - ((height > container.maximumHeight) ? container.ScrollBar.vertical.background.width : 0) //Make room for scroll bar if there is any.
height: childrenRect.height
interactive: false // let the ScrollView process scroll events.
section.property: "modelData.printerType"
section.criteria: ViewSection.FullString

View file

@ -109,7 +109,7 @@ Item
{
id: buttonRow
property real padding: UM.Theme.getSize("default_margin").width
height: childrenRect.height + 2 * padding
height: recommendedButton.height + 2 * padding + (draggableArea.visible ? draggableArea.height : 0)
anchors
{
@ -149,14 +149,14 @@ Item
//Invisible area at the bottom with which you can resize the panel.
MouseArea
{
id: draggableArea
anchors
{
left: parent.left
right: parent.right
bottom: parent.bottom
top: recommendedButton.bottom
topMargin: UM.Theme.getSize("default_lining").height
}
height: childrenRect.height
cursorShape: Qt.SplitVCursor
visible: currentModeIndex == PrintSetupSelectorContents.Mode.Custom
drag
@ -187,16 +187,30 @@ Item
}
}
UM.RecolorImage
Rectangle
{
width: parent.width * 0.05
height: parent.height * 0.3
width: parent.width
height: UM.Theme.getSize("narrow_margin").height
color: UM.Theme.getColor("secondary")
anchors.centerIn: parent
source: UM.Theme.getIcon("grip_lines")
Rectangle
{
anchors.bottom: parent.top
width: parent.width
height: UM.Theme.getSize("default_lining").height
color: UM.Theme.getColor("lining")
}
UM.RecolorImage
{
width: UM.Theme.getSize("drag_icon").width
height: UM.Theme.getSize("drag_icon").height
anchors.centerIn: parent
source: UM.Theme.getIcon("resize")
color: UM.Theme.getColor("small_button_text")
}
}
}
}
}

View file

@ -68,11 +68,6 @@ Item
// TODO Create a reusable component with these properties to not define them separately for each component
labelColumnWidth: parent.firstColumnWidth
}
RecommendedTroubleshootingGuides
{
width: parent.width
}
}
UM.SettingPropertyProvider

View file

@ -1,36 +0,0 @@
// Copyright (c) 2019 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import UM 1.2 as UM
import Cura 1.0 as Cura
Item
{
id: tipsCell
anchors.top: adhesionCheckBox.visible ? adhesionCheckBox.bottom : (enableSupportCheckBox.visible ? supportExtruderCombobox.bottom : infillCellRight.bottom)
anchors.topMargin: Math.round(UM.Theme.getSize("sidebar_margin").height * 2)
anchors.left: parent.left
width: parent.width
height: tipsText.contentHeight * tipsText.lineCount
Label
{
id: tipsText
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width
anchors.top: parent.top
wrapMode: Text.WordWrap
text: catalog.i18nc("@label", "Need help improving your prints?<br>Read the <a href='%1'>Ultimaker Troubleshooting Guides</a>").arg("https://ultimaker.com/en/troubleshooting")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
linkColor: UM.Theme.getColor("text_link")
onLinkActivated: Qt.openUrlExternally(link)
}
}

View file

@ -215,24 +215,39 @@
"toolbox_header_button_text_inactive": [128, 128, 128, 255],
"toolbox_header_button_text_hovered": [255, 255, 255, 255],
"monitor_card_background_inactive": [43, 48, 52, 255],
"monitor_card_background": [43, 48, 52, 255],
"monitor_context_menu_background": [80, 84, 87, 255],
"monitor_context_menu_dots": [0, 167, 233, 255],
"monitor_context_menu_highlight": [0, 167, 233, 255],
"monitor_image_overlay": [255, 255, 255, 255],
"monitor_lining_heavy": [255, 255, 255, 255],
"monitor_lining_light": [102, 102, 102, 255],
"monitor_pill_background": [102, 102, 102, 255],
"monitor_printer_family_tag": [86, 86, 106, 255],
"monitor_text_primary": [229, 229, 229, 255],
"monitor_text_disabled": [102, 102, 102, 255],
"monitor_text_link": [103, 160, 252, 255],
"monitor_icon_primary": [229, 229, 229, 255],
"monitor_icon_accent": [51, 53, 54, 255],
"monitor_secondary_button_hover": [80, 80, 80, 255],
"monitor_secondary_button": [92, 92, 92, 255],
"monitor_secondary_button_text": [250, 250, 250, 255],
"monitor_secondary_button_shadow": [74, 74, 74, 255],
"monitor_card_border": [102, 102, 102, 255],
"monitor_card_background": [51, 53, 54, 255],
"monitor_card_hover": [84, 89, 95, 255],
"monitor_stage_background": [30, 36, 39, 255],
"monitor_stage_background_fade": [30, 36, 39, 102],
"monitor_progress_bar_fill": [50, 130, 255, 255],
"monitor_progress_bar_deactive": [102, 102, 102, 255],
"monitor_progress_bar_empty": [67, 67, 67, 255],
"monitor_tooltips": [25, 25, 25, 255],
"monitor_context_menu": [67, 67, 67, 255],
"monitor_context_menu_hover": [30, 102, 215, 255],
"monitor_skeleton_loading": [102, 102, 102, 255],
"monitor_placeholder_image": [102, 102, 102, 255],
"monitor_printer_icon": [255, 255, 255, 255],
"monitor_progress_background_text": [102, 102, 102, 255],
"monitor_progress_background": [80, 84, 87, 255],
"monitor_progress_fill_inactive": [216, 216, 216, 255],
"monitor_progress_fill_text": [0, 0, 0, 255],
"monitor_progress_fill": [216, 216, 216, 255],
"monotir_printer_icon_inactive": [154, 154, 154, 255],
"monitor_skeleton_fill": [31, 36, 39, 255],
"monitor_skeleton_fill_dark": [31, 36, 39, 255]
"monitor_image_overlay": [0, 0, 0, 255],
"monitor_shadow": [4, 10, 13, 255],
"monitor_carousel_dot": [119, 119, 119, 255],
"monitor_carousel_dot_current": [216, 216, 216, 255]
}
}

View file

@ -1,4 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 6">
<rect width="30" height="2" rx="1" ry="1" />
<rect width="30" height="2" rx="1" ry="1" y="4" />
</svg>

Before

Width:  |  Height:  |  Size: 170 B

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="17px" height="3px" viewBox="0 0 17 3" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>Group</title>
<desc>Created with Sketch.</desc>
<g id="Print-settings" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1024_custom--1-ex-copy" transform="translate(-773.000000, -643.000000)" fill="#999999">
<g id="Group" transform="translate(773.000000, 643.000000)">
<circle id="Oval" cx="1.5" cy="1.5" r="1.5"></circle>
<circle id="Oval-Copy" cx="8.5" cy="1.5" r="1.5"></circle>
<circle id="Oval-Copy-2" cx="15.5" cy="1.5" r="1.5"></circle>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 863 B

View file

@ -399,27 +399,40 @@
"favorites_header_text_hover": [31, 36, 39, 255],
"favorites_row_selected": [196, 239, 255, 255],
"monitor_card_background_inactive": [240, 240, 240, 255],
"monitor_printer_family_tag": [228, 228, 242, 255],
"monitor_text_primary": [65, 64, 84, 255],
"monitor_text_disabled": [238, 238, 238, 255],
"monitor_text_link": [50, 130, 255, 255],
"monitor_icon_primary": [10, 8, 80, 255],
"monitor_icon_accent": [255, 255, 255, 255],
"monitor_secondary_button_hover": [228, 228, 228, 255],
"monitor_secondary_button": [240, 240, 240, 255],
"monitor_secondary_button_text": [30, 102, 215, 255],
"monitor_secondary_button_shadow": [216, 216, 216, 255],
"monitor_card_border": [192, 193, 194, 255],
"monitor_card_background": [255, 255, 255, 255],
"monitor_context_menu_background": [255, 255, 255, 255],
"monitor_context_menu_dots": [154, 154, 154, 255],
"monitor_context_menu_highlight": [245, 245, 245, 255],
"monitor_image_overlay": [0, 0, 0, 255],
"monitor_lining_heavy": [0, 0, 0, 255],
"monitor_lining_light": [230, 230, 230, 255],
"monitor_pill_background": [245, 245, 245, 255],
"monitor_card_hover": [232, 242, 252, 255],
"monitor_stage_background": [246, 246, 246, 255],
"monitor_stage_background_fade": [246, 246, 246, 102],
"monitor_progress_bar_fill": [50, 130, 255, 255],
"monitor_progress_bar_deactive": [192, 193, 194, 255],
"monitor_progress_bar_empty": [245, 245, 245, 255],
"monitor_tooltips": [25, 25, 25, 255],
"monitor_context_menu": [255, 255, 255, 255],
"monitor_context_menu_hover": [245, 245, 245, 255],
"monitor_skeleton_loading": [238, 238, 238, 255],
"monitor_placeholder_image": [230, 230, 230, 255],
"monitor_printer_icon_inactive": [154, 154, 154, 255],
"monitor_printer_icon": [50, 130, 255, 255],
"monitor_progress_background_text": [0,0,0,255],
"monitor_progress_background": [245, 245, 245, 255],
"monitor_progress_fill_inactive": [154, 154, 154, 255],
"monitor_progress_fill_text": [255,255,255,255],
"monitor_progress_fill": [50, 130, 255, 255],
"monitor_shadow": [0, 0, 0, 63],
"monitor_skeleton_fill": [245, 245, 245, 255],
"monitor_skeleton_fill_dark": [216, 216, 216, 255],
"monitor_text_inactive": [154, 154, 154, 255]
"monitor_image_overlay": [0, 0, 0, 255],
"monitor_shadow": [220, 220, 220, 255],
"monitor_carousel_dot": [216, 216, 216, 255],
"monitor_carousel_dot_current": [119, 119, 119, 255]
},
"sizes": {
@ -442,11 +455,12 @@
"print_setup_slider_tickmarks": [0.32, 0.32],
"print_setup_big_item": [28, 2.5],
"print_setup_icon": [1.2, 1.2],
"drag_icon": [1.416, 0.25],
"expandable_component_content_header": [0.0, 3.0],
"configuration_selector": [35.0, 4.0],
"configuration_selector_mode_tabs": [0.0, 3.0],
"configuration_selector_mode_tabs": [1.0, 3.0],
"action_panel_widget": [26.0, 0.0],
"action_panel_information_widget": [20.0, 0.0],