mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-12 01:07:52 -06:00
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:
parent
5dbee706a7
commit
ca922e9e9d
4 changed files with 47 additions and 32 deletions
|
@ -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)
|
||||||
|
|
40
plugins/UM3NetworkPrinting/MonitorItem.qml
Normal file
40
plugins/UM3NetworkPrinting/MonitorItem.qml
Normal 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 "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"):
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue