Solve merge conflicts

This commit is contained in:
Jack Ha 2017-10-02 16:13:32 +02:00
commit 2ae5334dde
25 changed files with 306 additions and 47 deletions

View File

@ -354,11 +354,14 @@ class MachineManager(QObject):
if containers: if containers:
Application.getInstance().setGlobalContainerStack(containers[0]) Application.getInstance().setGlobalContainerStack(containers[0])
self.__onInstanceContainersChanged()
@pyqtSlot(str, str) @pyqtSlot(str, str)
def addMachine(self, name: str, definition_id: str) -> None: def addMachine(self, name: str, definition_id: str) -> None:
new_stack = CuraStackBuilder.createMachine(name, definition_id) new_stack = CuraStackBuilder.createMachine(name, definition_id)
if new_stack: if new_stack:
Application.getInstance().setGlobalContainerStack(new_stack) # Instead of setting the global container stack here, we set the active machine and so the signals are emitted
self.setActiveMachine(new_stack.getId())
else: else:
Logger.log("w", "Failed creating a new machine!") Logger.log("w", "Failed creating a new machine!")

View File

@ -6,11 +6,13 @@ import Cura 1.0 as Cura
Component Component
{ {
Item Rectangle
{ {
id: base id: base
property var manager: Cura.MachineManager.printerOutputDevices[0] property var manager: Cura.MachineManager.printerOutputDevices[0]
anchors.fill: parent anchors.fill: parent
color: UM.Theme.getColor("viewport_background")
property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. property var lineColor: "#DCDCDC" // TODO: Should be linked to theme.
property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme. property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme.
@ -27,24 +29,17 @@ Component
id: activePrintersLabel id: activePrintersLabel
font: UM.Theme.getFont("large") font: UM.Theme.getFont("large")
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.top: parent.top
text: Cura.MachineManager.printerOutputDevices[0].name text: Cura.MachineManager.printerOutputDevices[0].name
} }
Label
{
id: printerGroupLabel
anchors.top: activePrintersLabel.bottom
text: catalog.i18nc("@label", "PRINTER GROUP")
anchors.horizontalCenter: parent.horizontalCenter
font: UM.Theme.getFont("very_small")
opacity: 0.65
}
Rectangle Rectangle
{ {
id: printJobArea id: printJobArea
border.width: UM.Theme.getSize("default_lining").width border.width: UM.Theme.getSize("default_lining").width
border.color: lineColor border.color: lineColor
anchors.top: printerGroupLabel.bottom anchors.top: activePrintersLabel.bottom
anchors.topMargin: UM.Theme.getSize("default_margin").height anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width anchors.leftMargin: UM.Theme.getSize("default_margin").width

View File

@ -11,7 +11,7 @@ Component
{ {
width: maximumWidth width: maximumWidth
height: maximumHeight height: maximumHeight
color: "#FFFFFF" // TODO; Should not be hardcoded. color: UM.Theme.getColor("viewport_background")
property var emphasisColor: "#44c0ff" //TODO: should be linked to theme. property var emphasisColor: "#44c0ff" //TODO: should be linked to theme.
property var lineColor: "#DCDCDC" // TODO: Should be linked to theme. property var lineColor: "#DCDCDC" // TODO: Should be linked to theme.

View File

@ -17,6 +17,7 @@ from UM.Logger import Logger
from UM.Message import Message from UM.Message import Message
from UM.OutputDevice import OutputDeviceError from UM.OutputDevice import OutputDeviceError
from UM.i18n import i18nCatalog from UM.i18n import i18nCatalog
from UM.Qt.Duration import Duration, DurationFormat
from . import NetworkPrinterOutputDevice from . import NetworkPrinterOutputDevice
@ -700,3 +701,7 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
self._reply.abort() self._reply.abort()
self._reply = None self._reply = None
Application.getInstance().showPrintMonitor.emit(False) Application.getInstance().showPrintMonitor.emit(False)
@pyqtSlot(int, result=str)
def formatDuration(self, seconds):
return Duration(seconds).getDisplayString(DurationFormat.Format.Short)

View File

@ -14,5 +14,58 @@ Button {
tooltip: catalog.i18nc("@info:tooltip", "Opens the print jobs page with your default web browser.") tooltip: catalog.i18nc("@info:tooltip", "Opens the print jobs page with your default web browser.")
text: catalog.i18nc("@action:button", "View print jobs") text: catalog.i18nc("@action:button", "View print jobs")
style: UM.Theme.styles.sidebar_action_button // FIXME: This button style is copied and duplicated from SaveButton.qml
style: ButtonStyle {
background: Rectangle
{
border.width: UM.Theme.getSize("default_lining").width
border.color:
{
if(!control.enabled)
return UM.Theme.getColor("action_button_disabled_border");
else if(control.pressed)
return UM.Theme.getColor("print_button_ready_pressed_border");
else if(control.hovered)
return UM.Theme.getColor("print_button_ready_hovered_border");
else
return UM.Theme.getColor("print_button_ready_border");
}
color:
{
if(!control.enabled)
return UM.Theme.getColor("action_button_disabled");
else if(control.pressed)
return UM.Theme.getColor("print_button_ready_pressed");
else if(control.hovered)
return UM.Theme.getColor("print_button_ready_hovered");
else
return UM.Theme.getColor("print_button_ready");
}
Behavior on color { ColorAnimation { duration: 50; } }
implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("sidebar_margin").width * 2)
Label {
id: actualLabel
anchors.centerIn: parent
color:
{
if(!control.enabled)
return UM.Theme.getColor("action_button_disabled_text");
else if(control.pressed)
return UM.Theme.getColor("print_button_ready_text");
else if(control.hovered)
return UM.Theme.getColor("print_button_ready_text");
else
return UM.Theme.getColor("print_button_ready_text");
}
font: UM.Theme.getFont("action_button")
text: control.text;
}
}
label: Item { }
}
} }

View File

@ -14,14 +14,7 @@ Rectangle
function getPrettyTime(time) function getPrettyTime(time)
{ {
var hours = Math.floor(time / 3600) return OutputDevice.formatDuration(time)
time -= hours * 3600
var minutes = Math.floor(time / 60);
time -= minutes * 60
var seconds = Math.floor(time);
var finalTime = strPadLeft(hours, "0", 2) + ':' + strPadLeft(minutes,'0',2)+ ':' + strPadLeft(seconds,'0',2);
return finalTime;
} }
function formatPrintJobPercent(printJob) function formatPrintJobPercent(printJob)
@ -160,14 +153,14 @@ Rectangle
anchors.right: printProgressArea.left anchors.right: printProgressArea.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width anchors.rightMargin: UM.Theme.getSize("default_margin").width
color: emphasisColor color: emphasisColor
UM.RecolorImage
Image
{ {
anchors.verticalCenter: parent.verticalCenter width: 40 * screenScaleFactor
anchors.horizontalCenter: parent.horizontalCenter height: width
anchors.right: parent.right
anchors.rightMargin: parent.rightMargin
source: "camera-icon.svg" source: "camera-icon.svg"
width: sourceSize.width
height: sourceSize.height * width / sourceSize.width
color: "white"
} }
} }
@ -234,6 +227,9 @@ Rectangle
//border.color: lineColor //border.color: lineColor
height: 40 * screenScaleFactor height: 40 * screenScaleFactor
anchors.left: parent.left anchors.left: parent.left
property var showPercent: {
return printJob != null && (["printing", "post_print", "pre_print", "sent_to_printer"].indexOf(printJob.status) !== -1);
}
Label Label
{ {
@ -290,6 +286,7 @@ Rectangle
font: UM.Theme.getFont("small") font: UM.Theme.getFont("small")
} }
Label Label
{ {
id: progressText id: progressText
@ -299,10 +296,44 @@ Rectangle
anchors.top: statusText.top anchors.top: statusText.top
text: formatPrintJobPercent(printJob) text: formatPrintJobPercent(printJob)
visible: printJob != null && (["printing", "post_print", "pre_print", "sent_to_printer"].indexOf(printJob.status) !== -1) visible: printProgressTitleBar.showPercent
opacity: 0.65 opacity: 0.65
font: UM.Theme.getFont("very_small") font: UM.Theme.getFont("very_small")
} }
Image
{
width: statusText.height
height: width
anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.top: statusText.top
visible: ! printProgressTitleBar.showPercent
source: {
if ( ! printer.enabled)
{
return "blocked-icon.svg";
}
if (printJob != null)
{
if(printJob.status === "queued")
{
if (printJob.configuration_changes_required != null && printJob.configuration_changes_required.length !== 0)
{
return "action-required-icon.svg";
}
}
else if (printJob.status === "wait_cleanup")
{
return "checkmark-icon.svg";
}
}
return ""; // We're not going to show it, so it will not be resolved as a url.
}
}
Rectangle Rectangle
{ {
//TODO: This will become a progress bar in the future //TODO: This will become a progress bar in the future
@ -325,7 +356,7 @@ Rectangle
width: parent.width - 2 * UM.Theme.getSize("default_margin").width width: parent.width - 2 * UM.Theme.getSize("default_margin").width
visible: showExtended visible: printProgressArea.showExtended
Label // Status detail Label // Status detail
{ {

View File

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24">
<defs>
<path id="a" d="M13.774 1.412l9.706 18.665A2 2 0 0 1 21.706 23H2.294A2 2 0 0 1 .52 20.077l9.706-18.665a2 2 0 0 1 3.548 0z"/>
</defs>
<g fill="none" fill-rule="evenodd">
<use fill="#FFF" xlink:href="#a"/>
<path stroke="#000" stroke-width="2.4" d="M12.71 1.966a.8.8 0 0 0-1.42 0L1.584 20.631a.8.8 0 0 0 .71 1.169h19.412a.8.8 0 0 0 .71-1.17L12.71 1.967z"/>
<path fill="#000" d="M13.144 14.995h-2.29L10.5 8h2.998l-.354 6.995zm-2.612 2.502c0-.475.13-.844.388-1.108.258-.263.633-.395 1.125-.395.488 0 .857.132 1.108.395.251.264.377.633.377 1.108 0 .47-.13.836-.39 1.1-.261.263-.626.395-1.095.395-.473 0-.843-.132-1.111-.396-.268-.263-.402-.63-.402-1.1z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 844 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="#000" fill-rule="evenodd" d="M6 10h12v4H6v-4zm6 14c6.627 0 12-5.373 12-12S18.627 0 12 0 0 5.373 0 12s5.373 12 12 12z"/>
</svg>

After

Width:  |  Height:  |  Size: 227 B

View File

@ -1,3 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="21" height="14" viewBox="0 0 21 14"> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
<path fill="none" fill-rule="evenodd" stroke="#464B4E" stroke-width="1.5" d="M19.295 2.83L16.25 4.31V2c0-.69-.56-1.25-1.25-1.25H2C1.31.75.75 1.31.75 2v10c0 .69.56 1.25 1.25 1.25h13c.69 0 1.25-.56 1.25-1.25V9.69l3.045 1.48a.85.85 0 0 0 .367.08c.355 0 .584-.181.584-.31V3.06c0-.026-.011-.058-.04-.096-.16-.206-.592-.289-.911-.134z" opacity=".85"/> <g fill="none" fill-rule="evenodd">
<!-- <rect width="48" height="48" fill="#00A6EC" rx="24"/>-->
<path stroke="#FFF" stroke-width="2.5" d="M32.75 16.25h-19.5v15.5h19.5v-4.51l3.501 1.397c.181.072.405.113.638.113.333 0 .627-.081.81-.2.036-.024.048-.028.051-.011V18.487c-.26-.23-.976-.332-1.499-.124L32.75 19.76v-3.51z"/>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 441 B

After

Width:  |  Height:  |  Size: 438 B

View File

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
<path fill="none" fill-rule="evenodd" stroke="#000" stroke-width="3" d="M3 10.71L10.068 17 21 5"/>
</svg>

After

Width:  |  Height:  |  Size: 194 B

View File

@ -14,6 +14,7 @@
"platform_texture": "Ultimaker2backplate.png", "platform_texture": "Ultimaker2backplate.png",
"platform_offset": [9, 0, 0], "platform_offset": [9, 0, 0],
"has_materials": false, "has_materials": false,
"has_machine_quality": true,
"first_start_actions": ["UM2UpgradeSelection"], "first_start_actions": ["UM2UpgradeSelection"],
"supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"] "supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"]
}, },

View File

@ -18,12 +18,25 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml #: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status" msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "" msgstr ""
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr ""
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr ""
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr ""
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Drucken wurde abgebrochen" msgstr "Drucken wurde abgebrochen"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "Blockiert"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Handlung erforderlich"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "Druck startet nicht"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Impresión cancelada" msgstr "Impresión cancelada"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "Deshabilitada"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Acción requerida"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "No se puede imprimir"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Tulostus keskeytetty" msgstr "Tulostus keskeytetty"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "Tukossa"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Vaatii toimenpiteitä"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "Tulostus ei käynnisty"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Abandon de l'impression" msgstr "Abandon de l'impression"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "Bloqué"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Action requise"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "Ne peux pas imprimer"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Stampa interrotta" msgstr "Stampa interrotta"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "Ostacolato"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Richiede un'azione"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "Impossibile avviare la stampa"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Print afgebroken" msgstr "Print afgebroken"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "Geblokkeerd"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Handeling nodig"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "Print start niet"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -23,6 +23,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Печать прервана" msgstr "Печать прервана"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "блокированный"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Необходимое действие"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "Не удается начать печать"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "Yazdırma durduruldu" msgstr "Yazdırma durduruldu"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "Tıkalı"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "Eylem gerekli"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "Baskı başlatılamıyor"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -23,6 +23,21 @@ msgctxt "@label:status"
msgid "Print aborted" msgid "Print aborted"
msgstr "打印已中止" msgstr "打印已中止"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Blocked"
msgstr "冻结操作"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Action required"
msgstr "需要采取行动"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Can't start print"
msgstr "不能开始打印"
#: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29 #: /home/ruben/Projects/Cura/plugins/MachineSettingsAction/MachineSettingsAction.py:29
msgctxt "@action" msgctxt "@action"
msgid "Machine Settings" msgid "Machine Settings"

View File

@ -386,8 +386,6 @@ UM.MainWindow
visible: opacity > 0 visible: opacity > 0
opacity: base.showPrintMonitor ? 1 : 0 opacity: base.showPrintMonitor ? 1 : 0
Behavior on opacity { NumberAnimation { duration: 100; } }
MouseArea { MouseArea {
anchors.fill: parent anchors.fill: parent
acceptedButtons: Qt.AllButtons acceptedButtons: Qt.AllButtons
@ -818,7 +816,7 @@ UM.MainWindow
Connections Connections
{ {
target: Printer target: CuraApplication
onShowDiscardOrKeepProfileChanges: onShowDiscardOrKeepProfileChanges:
{ {
discardOrKeepProfileChangesDialog.show() discardOrKeepProfileChangesDialog.show()

View File

@ -67,6 +67,7 @@ Item
target: Cura.MachineManager target: Cura.MachineManager
onActiveQualityChanged: qualityModel.update() onActiveQualityChanged: qualityModel.update()
onActiveMaterialChanged: qualityModel.update() onActiveMaterialChanged: qualityModel.update()
onActiveVariantChanged: qualityModel.update()
} }
ListModel ListModel
@ -75,7 +76,7 @@ Item
property var totalTicks: 0 property var totalTicks: 0
property var availableTotalTicks: 0 property var availableTotalTicks: 0
property var activeQualityId: 0 property var activeQualityIndex: 0
property var qualitySliderStepWidth: 0 property var qualitySliderStepWidth: 0
property var qualitySliderAvailableMin : 0 property var qualitySliderAvailableMin : 0
@ -96,7 +97,7 @@ Item
// Set selected value // Set selected value
if (Cura.MachineManager.activeQualityId == qualityItem.id) { if (Cura.MachineManager.activeQualityId == qualityItem.id) {
qualityModel.activeQualityId = i qualityModel.activeQualityIndex = i
} }
// Set min available // Set min available
@ -143,11 +144,15 @@ Item
// check, the ticks count cannot be less than zero // check, the ticks count cannot be less than zero
if(Cura.ProfilesModel.rowCount() != 0) if(Cura.ProfilesModel.rowCount() != 0)
{
qualityModel.totalTicks = Cura.ProfilesModel.rowCount() - 1 // minus one, because slider starts from 0 qualityModel.totalTicks = Cura.ProfilesModel.rowCount() - 1 // minus one, because slider starts from 0
}
else else
{
qualityModel.totalTicks = 0 qualityModel.totalTicks = 0
} }
} }
}
Text Text
{ {
@ -263,7 +268,7 @@ Item
maximumValue: qualityModel.qualitySliderAvailableMax >= 0 ? qualityModel.qualitySliderAvailableMax : 0 maximumValue: qualityModel.qualitySliderAvailableMax >= 0 ? qualityModel.qualitySliderAvailableMax : 0
stepSize: 1 stepSize: 1
value: qualityModel.activeQualityId value: qualityModel.activeQualityIndex
width: qualityModel.qualitySliderStepWidth * qualityModel.availableTotalTicks width: qualityModel.qualitySliderStepWidth * qualityModel.availableTotalTicks
@ -291,10 +296,11 @@ Item
} }
onValueChanged: { onValueChanged: {
if(Cura.MachineManager.activeMachine != null) // Only change if an active machine is set and the slider is visible at all.
if(Cura.MachineManager.activeMachine != null && visible)
{ {
//Prevent updating during view initializing. Trigger only if the value changed by user //Prevent updating during view initializing. Trigger only if the value changed by user
if(qualitySlider.value != qualityModel.activeQualityId) if(qualitySlider.value != qualityModel.activeQualityIndex)
{ {
//start updating with short delay //start updating with short delay
qualitySliderChangeTimer.start(); qualitySliderChangeTimer.start();

View File

@ -16,7 +16,7 @@
"secondary": [241, 242, 242, 255], "secondary": [241, 242, 242, 255],
"topbar_background_color": [0, 0, 0, 0], "topbar_background_color": [0, 0, 0, 0],
"topbar_background_color_monitoring": [39, 44, 48, 255], "topbar_background_color_monitoring": [0, 0, 0, 0],
"topbar_button_text_active": [255, 255, 255, 255], "topbar_button_text_active": [255, 255, 255, 255],
"topbar_button_text_inactive": [128, 128, 128, 255], "topbar_button_text_inactive": [128, 128, 128, 255],

View File

@ -59,7 +59,7 @@
"colors": { "colors": {
"sidebar": [255, 255, 255, 255], "sidebar": [255, 255, 255, 255],
"lining": [192, 193, 194, 255], "lining": [192, 193, 194, 255],
"viewport_overlay": [24, 41, 77, 192], "viewport_overlay": [0, 0, 0, 192],
"primary": [12, 169, 227, 255], "primary": [12, 169, 227, 255],
"primary_hover": [48, 182, 231, 255], "primary_hover": [48, 182, 231, 255],
@ -68,7 +68,7 @@
"secondary": [245, 245, 245, 255], "secondary": [245, 245, 245, 255],
"topbar_background_color": [255, 255, 255, 0], "topbar_background_color": [255, 255, 255, 0],
"topbar_background_color_monitoring": [255, 255, 255, 255], "topbar_background_color_monitoring": [255, 255, 255, 0],
"topbar_button_text_active": [0, 0, 0, 255], "topbar_button_text_active": [0, 0, 0, 255],
"topbar_button_text_inactive": [128, 128, 128, 255], "topbar_button_text_inactive": [128, 128, 128, 255],