More fixes for the Firmware update window

Now it works on MacOSX

Contributes to Ultimaker/Uranium#8
This commit is contained in:
Arjen Hiemstra 2015-07-01 02:49:44 +02:00
parent 9aa386c2b0
commit cc58f4d159
3 changed files with 85 additions and 71 deletions

View file

@ -5,59 +5,65 @@ import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
Rectangle
{
import UM 1.0 as UM
UM.Dialog {
width: 300; height: 100
ColumnLayout
Rectangle
{
RowLayout
anchors.fill: parent;
ColumnLayout
{
Text
RowLayout
{
//: USB Printing dialog label, %1 is head temperature
text: qsTr("Extruder Temperature %1").arg(manager.extruderTemperature)
Text
{
//: USB Printing dialog label, %1 is head temperature
text: qsTr("Extruder Temperature %1").arg(manager.extruderTemperature)
}
Text
{
//: USB Printing dialog label, %1 is bed temperature
text: qsTr("Bed Temperature %1").arg(manager.bedTemperature)
}
Text
{
text: "" + manager.error
}
}
Text
RowLayout
{
//: USB Printing dialog label, %1 is bed temperature
text: qsTr("Bed Temperature %1").arg(manager.bedTemperature)
Button
{
//: USB Printing dialog start print button
text: qsTr("Print");
onClicked: { manager.startPrint() }
enabled: manager.progress == 0 ? true : false
}
Button
{
//: USB Printing dialog cancel print button
text: qsTr("Cancel");
onClicked: { manager.cancelPrint() }
enabled: manager.progress == 0 ? false: true
}
}
Text
ProgressBar
{
text: "" + manager.error
id: prog;
value: manager.progress
minimumValue: 0;
maximumValue: 100;
Layout.maximumWidth:parent.width
Layout.preferredWidth:230
Layout.preferredHeight:25
Layout.minimumWidth:230
Layout.minimumHeight:25
width: 230
height: 25
}
}
RowLayout
{
Button
{
//: USB Printing dialog start print button
text: qsTr("Print");
onClicked: { manager.startPrint() }
enabled: manager.progress == 0 ? true : false
}
Button
{
//: USB Printing dialog cancel print button
text: qsTr("Cancel");
onClicked: { manager.cancelPrint() }
enabled: manager.progress == 0 ? false: true
}
}
ProgressBar
{
id: prog;
value: manager.progress
minimumValue: 0;
maximumValue: 100;
Layout.maximumWidth:parent.width
Layout.preferredWidth:230
Layout.preferredHeight:25
Layout.minimumWidth:230
Layout.minimumHeight:25
width: 230
height: 25
}
}
}

View file

@ -1,26 +1,27 @@
// Copyright (c) 2015 Ultimaker B.V.
// Cura is released under the terms of the AGPLv3 or higher.
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Window 2.1
import QtQuick 2.2
import QtQuick.Window 2.2
import QtQuick.Controls 1.2
Rectangle
import UM 1.0 as UM
UM.Dialog
{
id: base;
width: 500 * Screen.devicePixelRatio;
height: 100 * Screen.devicePixelRatio;
color: palette.window;
signal close();
visible: true;
modality: Qt.ApplicationModal;
Column
{
anchors.fill: parent;
anchors.margins: 8 * Screen.devicePixelRatio;
Label
Text
{
anchors {
left: parent.left;
@ -47,6 +48,7 @@ Rectangle
wrapMode: Text.Wrap;
}
ProgressBar
{
id: prog;
@ -59,14 +61,15 @@ Rectangle
}
}
Button {
anchors.right: parent.right;
text: qsTr("Close");
onClicked: base.close();
SystemPalette {
id: palette;
}
}
SystemPalette {
id: palette;
rightButtons: Button {
text: qsTr("Close");
enabled: true;
}
}

View file

@ -20,6 +20,7 @@ import sys
from UM.Extension import Extension
from PyQt5.QtQuick import QQuickView
from PyQt5.QtQml import QQmlComponent, QQmlContext
from PyQt5.QtCore import QUrl, QObject, pyqtSlot, pyqtProperty, pyqtSignal, Qt
from UM.i18n import i18nCatalog
@ -55,23 +56,27 @@ class USBPrinterManager(QObject, SignalEmitter, Extension):
# This will create the view if its not already created.
def spawnFirmwareInterface(self, serial_port):
if self._firmware_view is None:
self._firmware_view = QQuickView()
self._firmware_view.setFlags(Qt.Dialog)
self._firmware_view.setResizeMode(QQuickView.SizeRootObjectToView);
self._firmware_view.engine().rootContext().setContextProperty("manager",self)
self._firmware_view.setSource(QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "FirmwareUpdateWindow.qml")))
self._firmware_view.rootObject().close.connect(self._firmware_view.close)
path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "FirmwareUpdateWindow.qml"))
component = QQmlComponent(Application.getInstance()._engine, path)
context = QQmlContext(Application.getInstance()._engine.rootContext())
context.setContextProperty("manager", self)
self._firmware_view = component.create(context)
self._firmware_view.show()
## Show control interface.
# This will create the view if its not already created.
def spawnControlInterface(self,serial_port):
if self._control_view is None:
self._control_view = QQuickView()
self._control_view.setFlags(Qt.Dialog)
self._control_view.setResizeMode(QQuickView.SizeRootObjectToView);
self._control_view.engine().rootContext().setContextProperty("manager",self)
self._control_view.setSource(QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "ControlWindow.qml")))
path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath("USBPrinting"), "ControlWindow.qml"))
component = QQmlComponent(Application.getInstance()._engine, path)
context = QQmlContext(Application.getInstance()._engine.rootContext())
context.setContextProperty("manager", self)
self._control_view = component.create(context)
self._control_view.show()
@pyqtProperty(float,notify = processingProgress)