The monitor item is now actually used to display information on monitor page

The UM3 now provides camera image in this way

CURA-3826
This commit is contained in:
Jaime van Kessel 2017-05-29 13:47:41 +02:00
parent 5dbee706a7
commit ca922e9e9d
4 changed files with 47 additions and 32 deletions

View file

@ -132,7 +132,7 @@ class PrinterOutputDevice(QObject, OutputDevice):
return self._monitor_item return self._monitor_item
def _createMonitorViewFromQML(self): def _createMonitorViewFromQML(self):
path = QUrl.fromLocalFile(os.path.join(PluginRegistry.getInstance().getPluginPath(self.getPluginId()), self._monitor_view_qml_path)) path = QUrl.fromLocalFile(self._monitor_view_qml_path)
# Because of garbage collection we need to keep this referenced by python. # Because of garbage collection we need to keep this referenced by python.
self._monitor_component = QQmlComponent(Application.getInstance()._engine, path) self._monitor_component = QQmlComponent(Application.getInstance()._engine, path)

View file

@ -0,0 +1,40 @@
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.1
import UM 1.3 as UM
import Cura 1.0 as Cura
Component
{
Image
{
id: cameraImage
width: sourceSize.width
height: sourceSize.height * width / sourceSize.width
anchors.horizontalCenter: parent.horizontalCenter
//anchors.verticalCenter: parent.verticalCenter
//anchors.horizontalCenterOffset: - UM.Theme.getSize("sidebar").width / 2
//visible: base.monitoringPrint
onVisibleChanged:
{
if(visible)
{
OutputDevice.startCamera()
} else
{
OutputDevice.stopCamera()
}
}
source:
{
if(OutputDevice.cameraImage)
{
return OutputDevice.cameraImage;
}
return "";
}
}
}

View file

@ -178,6 +178,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice):
self._last_command = "" self._last_command = ""
self._compressing_print = False self._compressing_print = False
self._monitor_view_qml_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "MonitorItem.qml")
printer_type = self._properties.get(b"machine", b"").decode("utf-8") printer_type = self._properties.get(b"machine", b"").decode("utf-8")
if printer_type.startswith("9511"): if printer_type.startswith("9511"):

View file

@ -400,41 +400,15 @@ UM.MainWindow
} }
} }
Image Loader
{ {
id: cameraImage sourceComponent: Cura.MachineManager.printerOutputDevices.length > 0 ? Cura.MachineManager.printerOutputDevices[0].monitorItem: null
width: Math.min(viewportOverlay.width, sourceSize.width) visible: base.monitoringPrint
height: sourceSize.height * width / sourceSize.width
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenterOffset: - UM.Theme.getSize("sidebar").width / 2 anchors.horizontalCenterOffset: - UM.Theme.getSize("sidebar").width / 2
visible: base.monitoringPrint
onVisibleChanged:
{
if(Cura.MachineManager.printerOutputDevices.length == 0 )
{
return;
}
if(visible)
{
Cura.MachineManager.printerOutputDevices[0].startCamera()
} else
{
Cura.MachineManager.printerOutputDevices[0].stopCamera()
}
}
source:
{
if(!base.monitoringPrint)
{
return "";
}
if(Cura.MachineManager.printerOutputDevices.length > 0 && Cura.MachineManager.printerOutputDevices[0].cameraImage)
{
return Cura.MachineManager.printerOutputDevices[0].cameraImage;
}
return "";
}
} }
UM.MessageStack UM.MessageStack