Merge branch '4.0' into CURA-6005_cura_drive_plugin

Remove unused file.

Contributes to CURA-6005.
This commit is contained in:
Diego Prado Gesto 2018-12-18 07:17:37 +01:00
commit 3c99b69724
66 changed files with 786 additions and 2383 deletions

View file

@ -1,8 +1,8 @@
{
"name": "3MF Reader",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides support for reading 3MF files.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "3MF Writer",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides support for writing 3MF files.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Changelog",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Shows changes since latest checked version.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -2,7 +2,7 @@
"name": "CuraEngine Backend",
"author": "Ultimaker B.V.",
"description": "Provides the link to the CuraEngine slicing backend.",
"api": 5,
"version": "1.0.0",
"api": "6.0",
"version": "1.0.1",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Cura Profile Reader",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides support for importing Cura profiles.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Cura Profile Writer",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides support for exporting Cura profiles.",
"api": 5,
"api": "6.0",
"i18n-catalog":"cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Firmware Update Checker",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Checks for firmware updates.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Firmware Updater",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides a machine actions for updating firmware.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Compressed G-code Reader",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Reads g-code from a compressed archive.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Compressed G-code Writer",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Writes g-code to a compressed archive.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "G-code Profile Reader",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides support for importing profiles from g-code files.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -364,6 +364,8 @@ class FlavorParser:
self._layer_type = LayerPolygon.SupportType
elif type == "FILL":
self._layer_type = LayerPolygon.InfillType
elif type == "SUPPORT-INTERFACE":
self._layer_type = LayerPolygon.SupportInterfaceType
else:
Logger.log("w", "Encountered a unknown type (%s) while parsing g-code.", type)

View file

@ -1,8 +1,8 @@
{
"name": "G-code Reader",
"author": "Victor Larchenko",
"version": "1.0.0",
"author": "Victor Larchenko, Ultimaker",
"version": "1.0.1",
"description": "Allows loading and displaying G-code files.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "G-code Writer",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Writes g-code to a file.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Image Reader",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Enables ability to generate printable geometry from 2D image files.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Legacy Cura Profile Reader",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides support for importing profiles from legacy Cura versions.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Machine Settings action",
"author": "fieldOfView",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Model Checker",
"author": "Ultimaker B.V.",
"version": "0.1",
"api": 5,
"version": "1.0.1",
"api": "6.0",
"description": "Checks models and print configuration for possible printing issues and give suggestions.",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Monitor Stage",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides a monitor stage in Cura.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Per Model Settings Tool",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides the Per Model Settings.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Post Processing",
"author": "Ultimaker",
"version": "2.2",
"api": 5,
"version": "2.2.1",
"api": "6.0",
"description": "Extension that allows for user created scripts for post processing",
"catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Prepare Stage",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides a prepare stage in Cura.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Preview Stage",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides a preview stage in Cura.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -2,7 +2,7 @@
"name": "Removable Drive Output Device Plugin",
"author": "Ultimaker B.V.",
"description": "Provides removable drive hotplugging and writing support.",
"version": "1.0.0",
"api": 5,
"version": "1.0.1",
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Simulation View",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides the Simulation view.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Slice info",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Submits anonymous slice info. Can be disabled through preferences.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Solid View",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides a normal solid mesh view.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Support Eraser",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Creates an eraser mesh to block the printing of support in certain places",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,7 +1,7 @@
{
"name": "Toolbox",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"api": 5,
"version": "1.0.1",
"api": "6.0",
"description": "Find, manage and install new Cura packages."
}

View file

@ -75,6 +75,8 @@ Item
background: UM.RecolorImage
{
source: UM.Theme.getIcon(control.isStarFilled ? "star_filled" : "star_empty")
sourceSize.width: width
sourceSize.height: height
// Unfilled stars should always have the default color. Only filled stars should change on hover
color:

View file

@ -17,6 +17,8 @@ Row
color: model.user_rating == 0 ? UM.Theme.getColor("rating_star") : UM.Theme.getColor("primary")
height: UM.Theme.getSize("rating_star").height
width: UM.Theme.getSize("rating_star").width
sourceSize.height: height
sourceSize.width: width
}
Label

View file

@ -88,7 +88,7 @@ Item
height: childrenRect.height
Label
{
text: catalog.i18nc("@label", "Rating") + ":"
text: catalog.i18nc("@label", "Your rating") + ":"
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text_medium")
renderType: Text.NativeRendering

View file

@ -47,6 +47,7 @@ Rectangle
height: UM.Theme.getSize("toolbox_heading_label").height
width: parent.width - UM.Theme.getSize("default_margin").width
wrapMode: Text.WordWrap
elide: Text.ElideRight
font: UM.Theme.getFont("medium_bold")
}
UM.RecolorImage

View file

@ -1,8 +1,8 @@
{
"name": "UFP Writer",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides support for writing Ultimaker Format Packages.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -2,7 +2,7 @@
"name": "UM3 Network Connection",
"author": "Ultimaker B.V.",
"description": "Manages network connections to Ultimaker 3 printers.",
"version": "1.0.0",
"api": 5,
"version": "1.0.1",
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -8,11 +8,13 @@ import UM 1.3 as UM
import Cura 1.0 as Cura
Rectangle {
id: base
property var iconSource: null;
color: "#0a0850" // TODO: Theme!
height: width;
radius: Math.round(0.5 * width);
width: 24 * screenScaleFactor;
property var enabled: true
UM.RecolorImage {
id: icon;
@ -29,12 +31,18 @@ Rectangle {
MouseArea {
id: clickArea;
anchors.fill: parent;
hoverEnabled: true;
hoverEnabled: base.enabled
onClicked: {
if (OutputDevice.activeCameraUrl != "") {
OutputDevice.setActiveCameraUrl("");
} else {
OutputDevice.setActiveCameraUrl(modelData.cameraUrl);
if (base.enabled)
{
if (OutputDevice.activeCameraUrl != "")
{
OutputDevice.setActiveCameraUrl("")
}
else
{
OutputDevice.setActiveCameraUrl(modelData.cameraUrl)
}
}
}
}

View file

@ -16,9 +16,9 @@ Item
property bool expanded: false
property var borderWidth: 1
property color borderColor: "#EAEAEC"
property color borderColor: "#CCCCCC"
property color headerBackgroundColor: "white"
property color headerHoverColor: "#f5f5f5"
property color headerHoverColor: "#e8f2fc"
property color drawerBackgroundColor: "white"
property alias headerItem: header.children
property alias drawerItem: drawer.children

View file

@ -0,0 +1,251 @@
// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.3
import QtQuick.Controls 2.0
import QtGraphicalEffects 1.0
import UM 1.3 as UM
Item
{
id: base
property var currentIndex: 0
property var tileWidth: 834 * screenScaleFactor // TODO: Theme!
property var tileHeight: 216 * screenScaleFactor // TODO: Theme!
property var tileSpacing: 60 * screenScaleFactor // TODO: Theme!
property var maxOffset: (OutputDevice.printers.length - 1) * (tileWidth + tileSpacing)
height: centerSection.height
width: maximumWidth
Item
{
id: leftHint
anchors
{
right: leftButton.left
rightMargin: 12 * screenScaleFactor // TODO: Theme!
left: parent.left
}
height: parent.height
z: 10
LinearGradient
{
anchors.fill: parent
start: Qt.point(0, 0)
end: Qt.point(leftHint.width, 0)
gradient: Gradient
{
GradientStop
{
position: 0.0
color: "#fff6f6f6" // TODO: Theme!
}
GradientStop
{
position: 1.0
color: "#66f6f6f6" // TODO: Theme!
}
}
}
MouseArea
{
anchors.fill: parent
onClicked: navigateTo(currentIndex - 1)
}
}
Button
{
id: leftButton
anchors
{
verticalCenter: parent.verticalCenter
right: centerSection.left
rightMargin: 12 * screenScaleFactor // TODO: Theme!
}
width: 36 * screenScaleFactor // TODO: Theme!
height: 72 * screenScaleFactor // TODO: Theme!
visible: currentIndex > 0
hoverEnabled: true
z: 10
onClicked: navigateTo(currentIndex - 1)
background: Rectangle
{
color: leftButton.hovered ? "#e8f2fc" : "#ffffff" // TODO: Theme!
border.width: 1 * screenScaleFactor // TODO: Theme!
border.color: "#cccccc" // TODO: Theme!
radius: 2 * screenScaleFactor // TODO: Theme!
}
contentItem: Item
{
anchors.fill: parent
UM.RecolorImage
{
anchors.centerIn: parent
width: 18 // TODO: Theme!
height: width // TODO: Theme!
sourceSize.width: width // TODO: Theme!
sourceSize.height: width // TODO: Theme!
color: "#152950" // TODO: Theme!
source: UM.Theme.getIcon("arrow_left")
}
}
}
Item
{
id: centerSection
anchors
{
verticalCenter: parent.verticalCenter
horizontalCenter: parent.horizontalCenter
}
width: tileWidth
height: tiles.height
z: 1
Row
{
id: tiles
height: childrenRect.height
width: 5 * tileWidth + 4 * tileSpacing // TODO: Theme!
x: 0
z: 0
Behavior on x
{
NumberAnimation
{
duration: 200
easing.type: Easing.InOutCubic
}
}
spacing: 60 * screenScaleFactor // TODO: Theme!
Repeater
{
model: OutputDevice.printers
MonitorPrinterCard
{
printer: modelData
enabled: model.index == currentIndex
}
}
}
}
Button
{
id: rightButton
anchors
{
verticalCenter: parent.verticalCenter
left: centerSection.right
leftMargin: 12 * screenScaleFactor // TODO: Theme!
}
width: 36 * screenScaleFactor // TODO: Theme!
height: 72 * screenScaleFactor // TODO: Theme!
z: 10
visible: currentIndex < OutputDevice.printers.length - 1
onClicked: navigateTo(currentIndex + 1)
hoverEnabled: true
background: Rectangle
{
color: rightButton.hovered ? "#e8f2fc" : "#ffffff" // TODO: Theme!
border.width: 1 * screenScaleFactor // TODO: Theme!
border.color: "#cccccc" // TODO: Theme!
radius: 2 * screenScaleFactor // TODO: Theme!
}
contentItem: Item
{
anchors.fill: parent
UM.RecolorImage
{
anchors.centerIn: parent
width: 18 // TODO: Theme!
height: width // TODO: Theme!
sourceSize.width: width // TODO: Theme!
sourceSize.height: width // TODO: Theme!
color: "#152950" // TODO: Theme!
source: UM.Theme.getIcon("arrow_right")
}
}
}
Item
{
id: rightHint
anchors
{
left: rightButton.right
leftMargin: 12 * screenScaleFactor // TODO: Theme!
right: parent.right
}
height: centerSection.height
z: 10
LinearGradient
{
anchors.fill: parent
start: Qt.point(0, 0)
end: Qt.point(rightHint.width, 0)
gradient: Gradient
{
GradientStop
{
position: 0.0
color: "#66f6f6f6" // TODO: Theme!
}
GradientStop
{
position: 1.0
color: "#fff6f6f6" // TODO: Theme!
}
}
}
MouseArea
{
anchors.fill: parent
onClicked: navigateTo(currentIndex + 1)
}
}
Item
{
id: navigationDots
anchors
{
horizontalCenter: centerSection.horizontalCenter
top: centerSection.bottom
topMargin: 36 * screenScaleFactor // TODO: Theme!
}
Row
{
spacing: 8 * screenScaleFactor // TODO: Theme!
Repeater
{
model: OutputDevice.printers
Button
{
background: Rectangle
{
color: model.index == currentIndex ? "#777777" : "#d8d8d8" // TODO: Theme!
radius: Math.floor(width / 2)
width: 12 * screenScaleFactor // TODO: Theme!
height: width // TODO: Theme!
}
onClicked: navigateTo(model.index)
}
}
}
}
function navigateTo( i ) {
if (i >= 0 && i < OutputDevice.printers.length)
{
tiles.x = -1 * i * (tileWidth + tileSpacing)
currentIndex = i
}
}
}

View file

@ -26,7 +26,7 @@ Item
ExpandableCard
{
borderColor: printJob.configurationChanges.length !== 0 ? "#f5a623" : "#EAEAEC" // TODO: Theme!
borderColor: printJob.configurationChanges.length !== 0 ? "#f5a623" : "#CCCCCC" // TODO: Theme!
headerItem: Row
{
height: 48 * screenScaleFactor // TODO: Theme!

View file

@ -25,8 +25,13 @@ Item
property var borderSize: 1 * screenScaleFactor // TODO: Theme, and remove from here
// If the printer card's controls are enabled. This is used by the carousel
// to prevent opening the context menu or camera while the printer card is not
// "in focus"
property var enabled: true
width: 834 * screenScaleFactor // TODO: Theme!
height: 216 * screenScaleFactor // TODO: Theme!
height: childrenRect.height
// Printer portion
Rectangle
@ -34,7 +39,7 @@ Item
id: printerInfo
border
{
color: "#EAEAEC" // TODO: Theme!
color: "#CCCCCC" // TODO: Theme!
width: borderSize // TODO: Remove once themed
}
color: "white" // TODO: Theme!
@ -124,6 +129,7 @@ Item
printJob: printer.activePrintJob
width: 36 * screenScaleFactor // TODO: Theme!
height: 36 * screenScaleFactor // TODO: Theme!
enabled: base.enabled
}
CameraButton
{
@ -136,6 +142,7 @@ Item
bottomMargin: 20 * screenScaleFactor // TODO: Theme!
}
iconSource: "../svg/icons/camera.svg"
enabled: base.enabled
}
}
@ -151,7 +158,7 @@ Item
}
border
{
color: printer.activePrintJob && printer.activePrintJob.configurationChanges.length > 0 ? "#f5a623" : "#EAEAEC" // TODO: Theme!
color: printer.activePrintJob && printer.activePrintJob.configurationChanges.length > 0 ? "#f5a623" : "#CCCCCC" // TODO: Theme!
width: borderSize // TODO: Remove once themed
}
color: "white" // TODO: Theme!
@ -320,7 +327,7 @@ Item
implicitHeight: 32 * screenScaleFactor // TODO: Theme!
implicitWidth: 96 * screenScaleFactor // TODO: Theme!
visible: printer.activePrintJob && printer.activePrintJob.configurationChanges.length > 0
onClicked: overrideConfirmationDialog.open()
onClicked: base.enabled ? overrideConfirmationDialog.open() : {}
}
}

View file

@ -0,0 +1,167 @@
// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import UM 1.3 as UM
import Cura 1.0 as Cura
/**
* This component contains the print job queue, extracted from the primary
* MonitorStage.qml file not for reusability but simply to keep it lean and more
* readable.
*/
Item
{
Label
{
id: queuedLabel
anchors
{
left: queuedPrintJobs.left
top: parent.top
}
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("large_nonbold")
text: catalog.i18nc("@label", "Queued")
}
Item
{
id: manageQueueLabel
anchors
{
right: queuedPrintJobs.right
verticalCenter: queuedLabel.verticalCenter
}
height: 18 * screenScaleFactor // TODO: Theme!
width: childrenRect.width
UM.RecolorImage
{
id: externalLinkIcon
anchors.verticalCenter: manageQueueLabel.verticalCenter
color: UM.Theme.getColor("primary")
source: "../svg/icons/external_link.svg"
width: 16 * screenScaleFactor // TODO: Theme! (Y U NO USE 18 LIKE ALL OTHER ICONS?!)
height: 16 * screenScaleFactor // TODO: Theme! (Y U NO USE 18 LIKE ALL OTHER ICONS?!)
}
Label
{
id: manageQueueText
anchors
{
left: externalLinkIcon.right
leftMargin: 6 * screenScaleFactor // TODO: Theme!
verticalCenter: externalLinkIcon.verticalCenter
}
color: UM.Theme.getColor("primary")
font: UM.Theme.getFont("default") // 12pt, regular
linkColor: UM.Theme.getColor("primary")
text: catalog.i18nc("@label link to connect manager", "Manage queue in Cura Connect")
}
}
MouseArea
{
anchors.fill: manageQueueLabel
hoverEnabled: true
onClicked: Cura.MachineManager.printerOutputDevices[0].openPrintJobControlPanel()
onEntered:
{
manageQueueText.font.underline = true
}
onExited:
{
manageQueueText.font.underline = false
}
}
Row
{
id: printJobQueueHeadings
anchors
{
left: queuedPrintJobs.left
leftMargin: 6 * screenScaleFactor // TODO: Theme!
top: queuedLabel.bottom
topMargin: 24 * screenScaleFactor // TODO: Theme!
}
spacing: 18 * screenScaleFactor // TODO: Theme!
Label
{
text: catalog.i18nc("@label", "Print jobs")
color: "#666666"
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
width: 284 * screenScaleFactor // TODO: Theme! (Should match column size)
// FIXED-LINE-HEIGHT:
height: 18 * screenScaleFactor // TODO: Theme!
verticalAlignment: Text.AlignVCenter
}
Label
{
text: catalog.i18nc("@label", "Total print time")
color: "#666666"
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
width: 216 * screenScaleFactor // TODO: Theme! (Should match column size)
// FIXED-LINE-HEIGHT:
height: 18 * screenScaleFactor // TODO: Theme!
verticalAlignment: Text.AlignVCenter
}
Label
{
text: catalog.i18nc("@label", "Waiting for")
color: "#666666"
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
width: 216 * screenScaleFactor // TODO: Theme! (Should match column size)
// FIXED-LINE-HEIGHT:
height: 18 * screenScaleFactor // TODO: Theme!
verticalAlignment: Text.AlignVCenter
}
}
ScrollView
{
id: queuedPrintJobs
anchors
{
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
top: printJobQueueHeadings.bottom
topMargin: 12 * screenScaleFactor // TODO: Theme!
}
style: UM.Theme.styles.scrollview
visible: OutputDevice.receivedPrintJobs
width: parent.width
ListView
{
id: printJobList
anchors.fill: parent
delegate: MonitorPrintJobCard
{
anchors
{
left: parent.left
right: parent.right
}
printJob: modelData
}
model: OutputDevice.queuedPrintJobs
spacing: 6 // TODO: Theme!
}
}
}

View file

@ -8,16 +8,13 @@ import UM 1.3 as UM
import Cura 1.0 as Cura
import QtGraphicalEffects 1.0
// Root component for the monitor tab (stage)
// This is the root component for the monitor stage.
Component
{
Item
{
id: monitorFrame
property var emphasisColor: UM.Theme.getColor("setting_control_border_highlight")
property var cornerRadius: UM.Theme.getSize("monitor_corner_radius").width
height: maximumHeight
onVisibleChanged:
{
@ -52,39 +49,23 @@ Component
}
}
ScrollView
Item
{
id: printers
anchors
{
left: queue.left
right: queue.right
top: parent.top
topMargin: 48 * screenScaleFactor // TODO: Theme!
}
width: parent.width
height: 264 * screenScaleFactor // TODO: Theme!
Row
{
spacing: 60 * screenScaleFactor // TODO: Theme!
Repeater
{
model: OutputDevice.printers
MonitorPrinterCard
{
printer: modelData
}
}
}
MonitorCarousel {}
}
Item
MonitorQueue
{
id: queue
width: Math.min(834 * screenScaleFactor, maximumWidth)
anchors
{
bottom: parent.bottom
@ -92,157 +73,6 @@ Component
top: printers.bottom
topMargin: 48 * screenScaleFactor // TODO: Theme!
}
Label
{
id: queuedLabel
anchors
{
left: queuedPrintJobs.left
top: parent.top
}
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("large_nonbold")
text: catalog.i18nc("@label", "Queued")
}
Item
{
id: manageQueueLabel
anchors
{
right: queuedPrintJobs.right
verticalCenter: queuedLabel.verticalCenter
}
height: 18 * screenScaleFactor // TODO: Theme!
width: childrenRect.width
UM.RecolorImage
{
id: externalLinkIcon
anchors.verticalCenter: manageQueueLabel.verticalCenter
color: UM.Theme.getColor("primary")
source: "../svg/icons/external_link.svg"
width: 16 * screenScaleFactor // TODO: Theme! (Y U NO USE 18 LIKE ALL OTHER ICONS?!)
height: 16 * screenScaleFactor // TODO: Theme! (Y U NO USE 18 LIKE ALL OTHER ICONS?!)
}
Label
{
id: manageQueueText
anchors
{
left: externalLinkIcon.right
leftMargin: 6 * screenScaleFactor // TODO: Theme!
verticalCenter: externalLinkIcon.verticalCenter
}
color: UM.Theme.getColor("primary")
font: UM.Theme.getFont("default") // 12pt, regular
linkColor: UM.Theme.getColor("primary")
text: catalog.i18nc("@label link to connect manager", "Manage queue in Cura Connect")
}
}
MouseArea
{
anchors.fill: manageQueueLabel
hoverEnabled: true
onClicked: Cura.MachineManager.printerOutputDevices[0].openPrintJobControlPanel()
onEntered:
{
manageQueueText.font.underline = true
}
onExited:
{
manageQueueText.font.underline = false
}
}
Row
{
id: printJobQueueHeadings
anchors
{
left: queuedPrintJobs.left
leftMargin: 6 * screenScaleFactor // TODO: Theme!
top: queuedLabel.bottom
topMargin: 24 * screenScaleFactor // TODO: Theme!
}
spacing: 18 * screenScaleFactor // TODO: Theme!
Label
{
text: catalog.i18nc("@label", "Print jobs")
color: "#666666"
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
width: 284 * screenScaleFactor // TODO: Theme! (Should match column size)
// FIXED-LINE-HEIGHT:
height: 18 * screenScaleFactor // TODO: Theme!
verticalAlignment: Text.AlignVCenter
}
Label
{
text: catalog.i18nc("@label", "Total print time")
color: "#666666"
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
width: 216 * screenScaleFactor // TODO: Theme! (Should match column size)
// FIXED-LINE-HEIGHT:
height: 18 * screenScaleFactor // TODO: Theme!
verticalAlignment: Text.AlignVCenter
}
Label
{
text: catalog.i18nc("@label", "Waiting for")
color: "#666666"
elide: Text.ElideRight
font: UM.Theme.getFont("medium") // 14pt, regular
anchors.verticalCenter: parent.verticalCenter
width: 216 * screenScaleFactor // TODO: Theme! (Should match column size)
// FIXED-LINE-HEIGHT:
height: 18 * screenScaleFactor // TODO: Theme!
verticalAlignment: Text.AlignVCenter
}
}
ScrollView
{
id: queuedPrintJobs
anchors
{
bottom: parent.bottom
horizontalCenter: parent.horizontalCenter
top: printJobQueueHeadings.bottom
topMargin: 12 * screenScaleFactor // TODO: Theme!
}
style: UM.Theme.styles.scrollview
visible: OutputDevice.receivedPrintJobs
width: parent.width
ListView
{
id: printJobList
anchors.fill: parent
delegate: MonitorPrintJobCard
{
anchors
{
left: parent.left
right: parent.right
}
printJob: modelData
}
model: OutputDevice.queuedPrintJobs
spacing: 6
}
}
}
PrinterVideoStream

View file

@ -13,6 +13,7 @@ Item {
property var printJob: null;
property var started: isStarted(printJob);
property var assigned: isAssigned(printJob);
property var enabled: true
Button {
id: button;
@ -31,8 +32,8 @@ Item {
verticalAlignment: Text.AlignVCenter;
}
height: width;
hoverEnabled: true;
onClicked: parent.switchPopupState();
hoverEnabled: base.enabled
onClicked: base.enabled ? parent.switchPopupState() : {}
text: "\u22EE"; //Unicode; Three stacked points.
visible: {
if (!printJob) {

View file

@ -13,8 +13,40 @@ Item {
property string activeQualityDefinitionId: Cura.MachineManager.activeQualityDefinitionId;
property bool isUM3: activeQualityDefinitionId == "ultimaker3" || activeQualityDefinitionId.match("ultimaker_") != null;
property bool printerConnected: Cura.MachineManager.printerConnected;
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands;
property bool authenticationRequested: printerConnected && (Cura.MachineManager.printerOutputDevices[0].authenticationState == 2 || Cura.MachineManager.printerOutputDevices[0].authenticationState == 5); // AuthState.AuthenticationRequested or AuthenticationReceived.
property bool printerAcceptsCommands:
{
if (printerConnected && Cura.MachineManager.printerOutputDevices[0])
{
return Cura.MachineManager.printerOutputDevices[0].acceptsCommands
}
return false
}
property bool authenticationRequested:
{
if (printerConnected && Cura.MachineManager.printerOutputDevices[0])
{
var device = Cura.MachineManager.printerOutputDevices[0]
// AuthState.AuthenticationRequested or AuthState.AuthenticationReceived
return device.authenticationState == 2 || device.authenticationState == 5
}
return false
}
property var materialNames:
{
if (printerConnected && Cura.MachineManager.printerOutputDevices[0])
{
return Cura.MachineManager.printerOutputDevices[0].materialNames
}
return null
}
property var hotendIds:
{
if (printerConnected && Cura.MachineManager.printerOutputDevices[0])
{
return Cura.MachineManager.printerOutputDevices[0].hotendIds
}
return null
}
UM.I18nCatalog {
id: catalog;
@ -94,7 +126,7 @@ Item {
Column {
Repeater {
id: nozzleColumn;
model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].hotendIds : null;
model: hotendIds
Label {
text: nozzleColumn.model[index];
@ -105,7 +137,7 @@ Item {
Column {
Repeater {
id: materialColumn;
model: printerConnected ? Cura.MachineManager.printerOutputDevices[0].materialNames : null;
model: materialNames
Label {
text: materialColumn.model[index];

View file

@ -1,8 +1,8 @@
{
"name": "USB printing",
"author": "Ultimaker B.V.",
"version": "1.0.1",
"api": 5,
"version": "1.0.2",
"api": "6.0",
"description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Ultimaker machine actions",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "UserAgreement",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Ask the user once if he/she agrees with our license.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 2.1 to 2.2",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 2.1 to Cura 2.2.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 2.2 to 2.4",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 2.2 to Cura 2.4.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 2.5 to 2.6",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 2.5 to Cura 2.6.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 2.6 to 2.7",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 2.6 to Cura 2.7.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 2.7 to 3.0",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 2.7 to Cura 3.0.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 3.0 to 3.1",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 3.0 to Cura 3.1.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 3.2 to 3.3",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 3.2 to Cura 3.3.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 3.3 to 3.4",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 3.3 to Cura 3.4.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Version Upgrade 3.4 to 3.5",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Upgrades configurations from Cura 3.4 to Cura 3.5.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "X3D Reader",
"author": "Seva Alekseyev",
"version": "0.5.0",
"version": "1.0.1",
"description": "Provides support for reading X3D files.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "X-Ray View",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides the X-Ray view.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}

View file

@ -1,8 +1,8 @@
{
"name": "Material Profiles",
"author": "Ultimaker B.V.",
"version": "1.0.0",
"version": "1.0.1",
"description": "Provides capabilities to read and write XML-based material profiles.",
"api": 5,
"api": "6.0",
"i18n-catalog": "cura"
}