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:
Application.getInstance().setGlobalContainerStack(containers[0])
self.__onInstanceContainersChanged()
@pyqtSlot(str, str)
def addMachine(self, name: str, definition_id: str) -> None:
new_stack = CuraStackBuilder.createMachine(name, definition_id)
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:
Logger.log("w", "Failed creating a new machine!")

View File

@ -6,11 +6,13 @@ import Cura 1.0 as Cura
Component
{
Item
Rectangle
{
id: base
property var manager: Cura.MachineManager.printerOutputDevices[0]
anchors.fill: parent
color: UM.Theme.getColor("viewport_background")
property var lineColor: "#DCDCDC" // TODO: Should be linked to theme.
property var cornerRadius: 4 * screenScaleFactor // TODO: Should be linked to theme.
@ -27,24 +29,17 @@ Component
id: activePrintersLabel
font: UM.Theme.getFont("large")
anchors.horizontalCenter: parent.horizontalCenter
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.top: parent.top
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
{
id: printJobArea
border.width: UM.Theme.getSize("default_lining").width
border.color: lineColor
anchors.top: printerGroupLabel.bottom
anchors.top: activePrintersLabel.bottom
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width

View File

@ -11,7 +11,7 @@ Component
{
width: maximumWidth
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 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.OutputDevice import OutputDeviceError
from UM.i18n import i18nCatalog
from UM.Qt.Duration import Duration, DurationFormat
from . import NetworkPrinterOutputDevice
@ -700,3 +701,7 @@ class NetworkClusterPrinterOutputDevice(NetworkPrinterOutputDevice.NetworkPrinte
self._reply.abort()
self._reply = None
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.")
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)
{
var hours = Math.floor(time / 3600)
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;
return OutputDevice.formatDuration(time)
}
function formatPrintJobPercent(printJob)
@ -160,14 +153,14 @@ Rectangle
anchors.right: printProgressArea.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width
color: emphasisColor
UM.RecolorImage
Image
{
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
width: 40 * screenScaleFactor
height: width
anchors.right: parent.right
anchors.rightMargin: parent.rightMargin
source: "camera-icon.svg"
width: sourceSize.width
height: sourceSize.height * width / sourceSize.width
color: "white"
}
}
@ -234,6 +227,9 @@ Rectangle
//border.color: lineColor
height: 40 * screenScaleFactor
anchors.left: parent.left
property var showPercent: {
return printJob != null && (["printing", "post_print", "pre_print", "sent_to_printer"].indexOf(printJob.status) !== -1);
}
Label
{
@ -290,6 +286,7 @@ Rectangle
font: UM.Theme.getFont("small")
}
Label
{
id: progressText
@ -299,10 +296,44 @@ Rectangle
anchors.top: statusText.top
text: formatPrintJobPercent(printJob)
visible: printJob != null && (["printing", "post_print", "pre_print", "sent_to_printer"].indexOf(printJob.status) !== -1)
visible: printProgressTitleBar.showPercent
opacity: 0.65
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
{
//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
visible: showExtended
visible: printProgressArea.showExtended
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">
<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"/>
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48">
<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>

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_offset": [9, 0, 0],
"has_materials": false,
"has_machine_quality": true,
"first_start_actions": ["UM2UpgradeSelection"],
"supported_actions":["UM2UpgradeSelection", "UpgradeFirmware"]
},

View File

@ -18,12 +18,25 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: Manually added for plugins/UM3NetworkPrinting/PrinterInfoBlock.qml
msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -23,6 +23,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -21,6 +21,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

@ -23,6 +23,21 @@ msgctxt "@label:status"
msgid "Print aborted"
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
msgctxt "@action"
msgid "Machine Settings"

View File

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

View File

@ -67,6 +67,7 @@ Item
target: Cura.MachineManager
onActiveQualityChanged: qualityModel.update()
onActiveMaterialChanged: qualityModel.update()
onActiveVariantChanged: qualityModel.update()
}
ListModel
@ -75,7 +76,7 @@ Item
property var totalTicks: 0
property var availableTotalTicks: 0
property var activeQualityId: 0
property var activeQualityIndex: 0
property var qualitySliderStepWidth: 0
property var qualitySliderAvailableMin : 0
@ -96,7 +97,7 @@ Item
// Set selected value
if (Cura.MachineManager.activeQualityId == qualityItem.id) {
qualityModel.activeQualityId = i
qualityModel.activeQualityIndex = i
}
// Set min available
@ -143,11 +144,15 @@ Item
// check, the ticks count cannot be less than zero
if(Cura.ProfilesModel.rowCount() != 0)
{
qualityModel.totalTicks = Cura.ProfilesModel.rowCount() - 1 // minus one, because slider starts from 0
}
else
{
qualityModel.totalTicks = 0
}
}
}
Text
{
@ -263,7 +268,7 @@ Item
maximumValue: qualityModel.qualitySliderAvailableMax >= 0 ? qualityModel.qualitySliderAvailableMax : 0
stepSize: 1
value: qualityModel.activeQualityId
value: qualityModel.activeQualityIndex
width: qualityModel.qualitySliderStepWidth * qualityModel.availableTotalTicks
@ -291,10 +296,11 @@ Item
}
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
if(qualitySlider.value != qualityModel.activeQualityId)
if(qualitySlider.value != qualityModel.activeQualityIndex)
{
//start updating with short delay
qualitySliderChangeTimer.start();

View File

@ -16,7 +16,7 @@
"secondary": [241, 242, 242, 255],
"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_inactive": [128, 128, 128, 255],

View File

@ -59,7 +59,7 @@
"colors": {
"sidebar": [255, 255, 255, 255],
"lining": [192, 193, 194, 255],
"viewport_overlay": [24, 41, 77, 192],
"viewport_overlay": [0, 0, 0, 192],
"primary": [12, 169, 227, 255],
"primary_hover": [48, 182, 231, 255],
@ -68,7 +68,7 @@
"secondary": [245, 245, 245, 255],
"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_inactive": [128, 128, 128, 255],