Merge branch 'master' into container_stack_improvements

This commit is contained in:
ChrisTerBeke 2017-10-31 16:24:05 +01:00
commit 7a8d562234
14 changed files with 109 additions and 63 deletions

View File

@ -1,3 +1,13 @@
[3.0.4]
*Bug fixes
- Fixed OpenGL issue that prevents Cura from starting.
*License agreement on the first startup has been added
[3.0.3]
*Bug fixes
- Add missing libraries for the MakePrintable plugin.
[3.0.0] [3.0.0]
*Faster start-up *Faster start-up
Start-up speed has been cut in half compared to the previous version. Start-up speed has been cut in half compared to the previous version.

View File

@ -48,7 +48,7 @@ UM.PointingRectangle {
anchors { anchors {
left: parent.left left: parent.left
leftMargin: UM.Theme.getSize("default_margin").width / 2 leftMargin: Math.floor(UM.Theme.getSize("default_margin").width / 2)
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
} }
@ -90,7 +90,7 @@ UM.PointingRectangle {
anchors { anchors {
left: parent.right left: parent.right
leftMargin: UM.Theme.getSize("default_margin").width / 2 leftMargin: Math.floor(UM.Theme.getSize("default_margin").width / 2)
verticalCenter: parent.verticalCenter verticalCenter: parent.verticalCenter
} }

View File

@ -83,8 +83,7 @@ Component
anchors.leftMargin: UM.Theme.getSize("default_margin").width anchors.leftMargin: UM.Theme.getSize("default_margin").width
anchors.right: parent.right anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width anchors.rightMargin: UM.Theme.getSize("default_margin").width
//TODO; It's probably nicer to do this with a dynamic data model instead of hardcoding this.
//But you know the drill; time constraints don't result in elegant code.
Item Item
{ {
width: parent.width width: parent.width

View File

@ -114,7 +114,7 @@ Cura.MachineAction
Column Column
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
spacing: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height
ScrollView ScrollView
@ -191,8 +191,6 @@ Cura.MachineAction
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
//: Tips label
//TODO: get actual link from webteam
text: catalog.i18nc("@label", "If your printer is not listed, read the <a href='%1'>network printing troubleshooting guide</a>").arg("https://ultimaker.com/en/troubleshooting"); text: catalog.i18nc("@label", "If your printer is not listed, read the <a href='%1'>network printing troubleshooting guide</a>").arg("https://ultimaker.com/en/troubleshooting");
onLinkActivated: Qt.openUrlExternally(link) onLinkActivated: Qt.openUrlExternally(link)
} }
@ -200,7 +198,7 @@ Cura.MachineAction
} }
Column Column
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
visible: base.selectedPrinter ? true : false visible: base.selectedPrinter ? true : false
spacing: UM.Theme.getSize("default_margin").height spacing: UM.Theme.getSize("default_margin").height
Label Label
@ -218,13 +216,13 @@ Cura.MachineAction
columns: 2 columns: 2
Label Label
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
text: catalog.i18nc("@label", "Type") text: catalog.i18nc("@label", "Type")
} }
Label Label
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
text: text:
{ {
@ -249,25 +247,25 @@ Cura.MachineAction
} }
Label Label
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
text: catalog.i18nc("@label", "Firmware version") text: catalog.i18nc("@label", "Firmware version")
} }
Label Label
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
text: base.selectedPrinter ? base.selectedPrinter.firmwareVersion : "" text: base.selectedPrinter ? base.selectedPrinter.firmwareVersion : ""
} }
Label Label
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
text: catalog.i18nc("@label", "Address") text: catalog.i18nc("@label", "Address")
} }
Label Label
{ {
width: (parent.width * 0.5) | 0 width: Math.floor(parent.width * 0.5)
wrapMode: Text.WordWrap wrapMode: Text.WordWrap
text: base.selectedPrinter ? base.selectedPrinter.ipAddress : "" text: base.selectedPrinter ? base.selectedPrinter.ipAddress : ""
} }

View File

@ -17,10 +17,10 @@ Component
} }
return (sourceSize.width / sourceSize.height) > (maximumWidth / maximumHeight); return (sourceSize.width / sourceSize.height) > (maximumWidth / maximumHeight);
} }
property real _width: Math.min(maximumWidth, sourceSize.width) property real _width: Math.floor(Math.min(maximumWidth, sourceSize.width))
property real _height: Math.min(maximumHeight, sourceSize.height) property real _height: Math.floor(Math.min(maximumHeight, sourceSize.height))
width: proportionalHeight ? _width : sourceSize.width * _height / sourceSize.height width: proportionalHeight ? _width : Math.floor(sourceSize.width * _height / sourceSize.height)
height: !proportionalHeight ? _height : sourceSize.height * _width / sourceSize.width height: !proportionalHeight ? _height : Math.floor(sourceSize.height * _width / sourceSize.width)
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
onVisibleChanged: onVisibleChanged:

View File

@ -10,7 +10,7 @@ Item
id: extruderInfo id: extruderInfo
property var printCoreConfiguration property var printCoreConfiguration
width: parent.width / 2 width: Math.floor(parent.width / 2)
height: childrenRect.height height: childrenRect.height
Label Label
{ {

View File

@ -86,7 +86,7 @@ Rectangle
Rectangle Rectangle
{ {
width: parent.width / 3 width: Math.floor(parent.width / 3)
height: parent.height height: parent.height
Label // Print job name Label // Print job name
@ -131,7 +131,7 @@ Rectangle
Rectangle Rectangle
{ {
width: parent.width / 3 * 2 width: Math.floor(parent.width / 3 * 2)
height: parent.height height: parent.height
Label // Friendly machine name Label // Friendly machine name
@ -139,7 +139,7 @@ Rectangle
id: printerNameLabel id: printerNameLabel
anchors.top: parent.top anchors.top: parent.top
anchors.left: parent.left anchors.left: parent.left
width: parent.width / 2 - UM.Theme.getSize("default_margin").width - showCameraIcon.width width: Math.floor(parent.width / 2 - UM.Theme.getSize("default_margin").width - showCameraIcon.width)
text: printer.friendly_name text: printer.friendly_name
font: UM.Theme.getFont("default_bold") font: UM.Theme.getFont("default_bold")
elide: Text.ElideRight elide: Text.ElideRight
@ -149,7 +149,7 @@ Rectangle
{ {
id: printerTypeLabel id: printerTypeLabel
anchors.top: printerNameLabel.bottom anchors.top: printerNameLabel.bottom
width: parent.width / 2 - UM.Theme.getSize("default_margin").width width: Math.floor(parent.width / 2 - UM.Theme.getSize("default_margin").width)
text: printer.machine_variant text: printer.machine_variant
anchors.left: parent.left anchors.left: parent.left
elide: Text.ElideRight elide: Text.ElideRight
@ -183,7 +183,7 @@ Rectangle
id: extruderInfo id: extruderInfo
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
width: parent.width / 2 - UM.Theme.getSize("default_margin").width width: Math.floor(parent.width / 2 - UM.Theme.getSize("default_margin").width)
height: childrenRect.height height: childrenRect.height
spacing: UM.Theme.getSize("default_margin").width spacing: UM.Theme.getSize("default_margin").width
@ -217,7 +217,7 @@ Rectangle
anchors.right: parent.right anchors.right: parent.right
anchors.top: parent.top anchors.top: parent.top
height: showExtended ? parent.height: printProgressTitleBar.height height: showExtended ? parent.height: printProgressTitleBar.height
width: parent.width / 2 - UM.Theme.getSize("default_margin").width width: Math.floor(parent.width / 2 - UM.Theme.getSize("default_margin").width)
border.width: UM.Theme.getSize("default_lining").width border.width: UM.Theme.getSize("default_lining").width
border.color: lineColor border.color: lineColor
radius: cornerRadius radius: cornerRadius

View File

@ -57,7 +57,7 @@ Item
{ {
id: cameraImage id: cameraImage
width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth) width: Math.min(sourceSize.width === 0 ? 800 * screenScaleFactor : sourceSize.width, maximumWidth)
height: (sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width height: Math.floor((sourceSize.height === 0 ? 600 * screenScaleFactor : sourceSize.height) * width / sourceSize.width)
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
z: 1 z: 1

View File

@ -9,39 +9,39 @@ from UM.VersionUpgrade import VersionUpgrade #We're inheriting from this.
# a list of all legacy "Not Supported" quality profiles # a list of all legacy "Not Supported" quality profiles
_OLD_NOT_SUPPORTED_PROFILES = [ _OLD_NOT_SUPPORTED_PROFILES = [
"um2p_pp_0.25_normal.inst.cfg", "um2p_pp_0.25_normal",
"um2p_tpu_0.8_normal.inst.cfg", "um2p_tpu_0.8_normal",
"um3_bb0.4_ABS_Fast_Print.inst.cfg", "um3_bb0.4_ABS_Fast_Print",
"um3_bb0.4_ABS_Superdraft_Print.inst.cfg", "um3_bb0.4_ABS_Superdraft_Print",
"um3_bb0.4_CPEP_Fast_Print.inst.cfg", "um3_bb0.4_CPEP_Fast_Print",
"um3_bb0.4_CPEP_Superdraft_Print.inst.cfg", "um3_bb0.4_CPEP_Superdraft_Print",
"um3_bb0.4_CPE_Fast_Print.inst.cfg", "um3_bb0.4_CPE_Fast_Print",
"um3_bb0.4_CPE_Superdraft_Print.inst.cfg", "um3_bb0.4_CPE_Superdraft_Print",
"um3_bb0.4_Nylon_Fast_Print.inst.cfg", "um3_bb0.4_Nylon_Fast_Print",
"um3_bb0.4_Nylon_Superdraft_Print.inst.cfg", "um3_bb0.4_Nylon_Superdraft_Print",
"um3_bb0.4_PC_Fast_Print.inst.cfg", "um3_bb0.4_PC_Fast_Print",
"um3_bb0.4_PLA_Fast_Print.inst.cfg", "um3_bb0.4_PLA_Fast_Print",
"um3_bb0.4_PLA_Superdraft_Print.inst.cfg", "um3_bb0.4_PLA_Superdraft_Print",
"um3_bb0.4_PP_Fast_Print.inst.cfg", "um3_bb0.4_PP_Fast_Print",
"um3_bb0.4_PP_Superdraft_Print.inst.cfg", "um3_bb0.4_PP_Superdraft_Print",
"um3_bb0.4_TPU_Fast_Print.inst.cfg", "um3_bb0.4_TPU_Fast_Print",
"um3_bb0.4_TPU_Superdraft_Print.inst.cfg", "um3_bb0.4_TPU_Superdraft_Print",
"um3_bb0.8_ABS_Fast_Print.inst.cfg", "um3_bb0.8_ABS_Fast_Print",
"um3_bb0.8_ABS_Superdraft_Print.inst.cfg", "um3_bb0.8_ABS_Superdraft_Print",
"um3_bb0.8_CPEP_Fast_Print.inst.cfg", "um3_bb0.8_CPEP_Fast_Print",
"um3_bb0.8_CPEP_Superdraft_Print.inst.cfg", "um3_bb0.8_CPEP_Superdraft_Print",
"um3_bb0.8_CPE_Fast_Print.inst.cfg", "um3_bb0.8_CPE_Fast_Print",
"um3_bb0.8_CPE_Superdraft_Print.inst.cfg", "um3_bb0.8_CPE_Superdraft_Print",
"um3_bb0.8_Nylon_Fast_Print.inst.cfg", "um3_bb0.8_Nylon_Fast_Print",
"um3_bb0.8_Nylon_Superdraft_Print.inst.cfg", "um3_bb0.8_Nylon_Superdraft_Print",
"um3_bb0.8_PC_Fast_Print.inst.cfg", "um3_bb0.8_PC_Fast_Print",
"um3_bb0.8_PC_Superdraft_Print.inst.cfg", "um3_bb0.8_PC_Superdraft_Print",
"um3_bb0.8_PLA_Fast_Print.inst.cfg", "um3_bb0.8_PLA_Fast_Print",
"um3_bb0.8_PLA_Superdraft_Print.inst.cfg", "um3_bb0.8_PLA_Superdraft_Print",
"um3_bb0.8_PP_Fast_Print.inst.cfg", "um3_bb0.8_PP_Fast_Print",
"um3_bb0.8_PP_Superdraft_Print.inst.cfg", "um3_bb0.8_PP_Superdraft_Print",
"um3_bb0.8_TPU_Fast_print.inst.cfg", "um3_bb0.8_TPU_Fast_print",
"um3_bb0.8_TPU_Superdraft_Print.inst.cfg", "um3_bb0.8_TPU_Superdraft_Print",
] ]

View File

@ -132,6 +132,7 @@ UM.Dialog
projectsModel.append({ name:"PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" }); projectsModel.append({ name:"PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
projectsModel.append({ name:"python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" }); projectsModel.append({ name:"python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
projectsModel.append({ name:"Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" }); projectsModel.append({ name:"Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
projectsModel.append({ name:"Requests", description: catalog.i18nc("@Label", "Python HTTP library"), license: "GPL", url: "http://docs.python-requests.org" });
projectsModel.append({ name:"Open Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://fonts.google.com/specimen/Open+Sans" }); projectsModel.append({ name:"Open Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://fonts.google.com/specimen/Open+Sans" });
projectsModel.append({ name:"Font-Awesome-SVG-PNG", description: catalog.i18nc("@label", "SVG icons"), license: "SIL OFL 1.1", url: "https://github.com/encharm/Font-Awesome-SVG-PNG" }); projectsModel.append({ name:"Font-Awesome-SVG-PNG", description: catalog.i18nc("@label", "SVG icons"), license: "SIL OFL 1.1", url: "https://github.com/encharm/Font-Awesome-SVG-PNG" });

View File

@ -63,11 +63,12 @@ UM.Dialog
anchors.fill: parent anchors.fill: parent
anchors.leftMargin: 20 * screenScaleFactor anchors.leftMargin: 20 * screenScaleFactor
anchors.rightMargin: 20 * screenScaleFactor anchors.rightMargin: 20 * screenScaleFactor
anchors.bottomMargin: 20 * screenScaleFactor anchors.bottomMargin: 10 * screenScaleFactor
spacing: 10 * screenScaleFactor spacing: 10 * screenScaleFactor
Label Label
{ {
id: questionText
text: catalog.i18nc("@text:window", "This is a Cura project file. Would you like to open it as a project or import the models from it?") text: catalog.i18nc("@text:window", "This is a Cura project file. Would you like to open it as a project or import the models from it?")
anchors.left: parent.left anchors.left: parent.left
anchors.right: parent.right anchors.right: parent.right
@ -85,6 +86,7 @@ UM.Dialog
// Buttons // Buttons
Item Item
{ {
id: buttonBar
anchors.right: parent.right anchors.right: parent.right
anchors.left: parent.left anchors.left: parent.left
height: childrenRect.height height: childrenRect.height

View File

@ -95,7 +95,7 @@ Item {
{ {
id: printJobTextfield id: printJobTextfield
anchors.right: printJobPencilIcon.left anchors.right: printJobPencilIcon.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width/2 anchors.rightMargin: Math.floor(UM.Theme.getSize("default_margin").width/2)
height: UM.Theme.getSize("jobspecs_line").height height: UM.Theme.getSize("jobspecs_line").height
width: Math.max(__contentWidth + UM.Theme.getSize("default_margin").width, 50) width: Math.max(__contentWidth + UM.Theme.getSize("default_margin").width, 50)
maximumLength: 120 maximumLength: 120

View File

@ -11,6 +11,14 @@ SettingItem
id: base id: base
property var focusItem: input property var focusItem: input
property string textBeforeEdit
property bool textHasChanged
onFocusReceived:
{
textHasChanged = false;
textBeforeEdit = focusItem.text;
}
contents: Rectangle contents: Rectangle
{ {
id: control id: control
@ -115,12 +123,22 @@ SettingItem
Keys.onReleased: Keys.onReleased:
{ {
propertyProvider.setPropertyValue("value", text) if (text != textBeforeEdit)
{
textHasChanged = true;
}
if (textHasChanged)
{
propertyProvider.setPropertyValue("value", text)
}
} }
onEditingFinished: onEditingFinished:
{ {
propertyProvider.setPropertyValue("value", text) if (textHasChanged)
{
propertyProvider.setPropertyValue("value", text)
}
} }
onActiveFocusChanged: onActiveFocusChanged:

View File

@ -310,6 +310,24 @@ Item
} }
} }
} }
MouseArea
{
id: speedSliderMouseArea
anchors.fill: parent
hoverEnabled: true
enabled: Cura.SimpleModeSettingsManager.isProfileUserCreated
onEntered:
{
var content = catalog.i18nc("@tooltip","A custom profile is currently active. To enable the quality slider, choose a default quality profile in Custom tab")
base.showTooltip(qualityRow, Qt.point(-UM.Theme.getSize("sidebar_margin").width, customisedSettings.height), content)
}
onExited:
{
base.hideTooltip();
}
}
} }
Label Label