Merge branch '15.10'
@ -68,7 +68,7 @@ class CuraApplication(QtApplication):
|
||||
if not hasattr(sys, "frozen"):
|
||||
Resources.addSearchPath(os.path.join(os.path.abspath(os.path.dirname(__file__)), ".."))
|
||||
|
||||
super().__init__(name = "cura", version = "15.09.81")
|
||||
super().__init__(name = "cura", version = "15.09.82")
|
||||
|
||||
self.setWindowIcon(QIcon(Resources.getPath(Resources.Images, "cura-icon.png")))
|
||||
|
||||
@ -283,19 +283,13 @@ class CuraApplication(QtApplication):
|
||||
new_node.callDecoration("setConvexHull",None)
|
||||
|
||||
op.addOperation(AddSceneNodeOperation(new_node,node.getParent().getParent()))
|
||||
|
||||
pass
|
||||
else:
|
||||
new_node = SceneNode()
|
||||
new_node.setMeshData(node.getMeshData())
|
||||
|
||||
new_node.translate(Vector((i + 1) * node.getBoundingBox().width, node.getPosition().y, 0))
|
||||
new_node.setOrientation(node.getOrientation())
|
||||
new_node.setScale(node.getScale())
|
||||
new_node.setSelectable(True)
|
||||
new_node = copy.deepcopy(node)
|
||||
new_node.callDecoration("setConvexHull", None)
|
||||
op.addOperation(AddSceneNodeOperation(new_node, node.getParent()))
|
||||
|
||||
op.push()
|
||||
|
||||
|
||||
## Center object on platform.
|
||||
@pyqtSlot("quint64")
|
||||
def centerObject(self, object_id):
|
||||
|
@ -127,7 +127,6 @@ class PlatformPhysics:
|
||||
|
||||
if overlap is None:
|
||||
continue
|
||||
print(overlap)
|
||||
move_vector.setX(overlap[0] * 1.01)
|
||||
move_vector.setZ(overlap[1] * 1.01)
|
||||
convex_hull = node.callDecoration("getConvexHull")
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 625 B After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 15 KiB |
BIN
icons/cura.icns
BIN
icons/cura.ico
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 361 KiB |
@ -78,6 +78,9 @@ class CuraEngineBackend(Backend):
|
||||
|
||||
self.backendConnected.connect(self._onBackendConnected)
|
||||
|
||||
## Get the command that is used to call the engine.
|
||||
# This is usefull for debugging and used to actually start the engine
|
||||
# \return list of commands and args / parameters.
|
||||
def getEngineCommand(self):
|
||||
return [Preferences.getInstance().getValue("backend/location"), "connect", "127.0.0.1:{0}".format(self._port), "-j", Resources.getPath(Resources.MachineDefinitions, "fdmprinter.json"), "-vv"]
|
||||
|
||||
@ -120,7 +123,7 @@ class CuraEngineBackend(Backend):
|
||||
pass
|
||||
self.slicingCancelled.emit()
|
||||
return
|
||||
|
||||
Logger.log("d", "Preparing to send slice data to engine.")
|
||||
object_groups = []
|
||||
if self._profile.getSettingValue("print_sequence") == "one_at_a_time":
|
||||
for node in OneAtATimeIterator(self._scene.getRoot()):
|
||||
@ -157,8 +160,16 @@ class CuraEngineBackend(Backend):
|
||||
if self._message:
|
||||
self._message.hide()
|
||||
self._message = None
|
||||
self._message = Message(catalog.i18nc("@info:status", "Unable to slice. Please check your setting values for errors."))
|
||||
self._message.show()
|
||||
return #No slicing if we have error values since those are by definition illegal values.
|
||||
|
||||
# Remove existing layer data (if any)
|
||||
for node in DepthFirstIterator(self._scene.getRoot()):
|
||||
if type(node) is SceneNode and node.getMeshData():
|
||||
if node.callDecoration("getLayerData"):
|
||||
Application.getInstance().getController().getScene().getRoot().removeChild(node)
|
||||
break
|
||||
Application.getInstance().getController().getScene().gcode_list = None
|
||||
self._slicing = True
|
||||
self.slicingStarted.emit()
|
||||
|
||||
@ -206,6 +217,7 @@ class CuraEngineBackend(Backend):
|
||||
self._handlePerObjectSettings(group[0], group_message)
|
||||
|
||||
self._scene.releaseLock()
|
||||
Logger.log("d", "Sending data to engine for slicing.")
|
||||
self._socket.sendMessage(slice_message)
|
||||
|
||||
def _onSceneChanged(self, source):
|
||||
@ -217,7 +229,6 @@ class CuraEngineBackend(Backend):
|
||||
|
||||
self._onChanged()
|
||||
|
||||
|
||||
def _onActiveProfileChanged(self):
|
||||
if self._profile:
|
||||
self._profile.settingValueChanged.disconnect(self._onSettingChanged)
|
||||
@ -302,10 +313,10 @@ class CuraEngineBackend(Backend):
|
||||
self._restart = False
|
||||
|
||||
def _onToolOperationStarted(self, tool):
|
||||
self._enabled = False
|
||||
self._enabled = False # Do not reslice when a tool is doing it's 'thing'
|
||||
|
||||
def _onToolOperationStopped(self, tool):
|
||||
self._enabled = True
|
||||
self._enabled = True # Tool stop, start listening for changes again.
|
||||
self._onChanged()
|
||||
|
||||
def _onActiveViewChanged(self):
|
||||
|
@ -217,7 +217,7 @@ class Polygon():
|
||||
elif self._type == self.SkirtType:
|
||||
return Color(0.0, 1.0, 1.0, 1.0)
|
||||
elif self._type == self.InfillType:
|
||||
return Color(1.0, 1.0, 0.0, 1.0)
|
||||
return Color(1.0, 0.74, 0.0, 1.0)
|
||||
elif self._type == self.SupportInfillType:
|
||||
return Color(0.0, 1.0, 1.0, 1.0)
|
||||
else:
|
||||
|
@ -1,5 +1,6 @@
|
||||
from UM.Scene.SceneNodeDecorator import SceneNodeDecorator
|
||||
|
||||
## Simple decorator to indicate a scene node holds layer data.
|
||||
class LayerDataDecorator(SceneNodeDecorator):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
@ -4,7 +4,6 @@
|
||||
from UM.Job import Job
|
||||
from UM.Application import Application
|
||||
|
||||
|
||||
class ProcessGCodeLayerJob(Job):
|
||||
def __init__(self, message):
|
||||
super().__init__()
|
||||
|
@ -27,7 +27,7 @@ class ProcessSlicedObjectListJob(Job):
|
||||
|
||||
def run(self):
|
||||
if Application.getInstance().getController().getActiveView().getPluginId() == "LayerView":
|
||||
self._progress = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, 0)
|
||||
self._progress = Message(catalog.i18nc("@info:status", "Processing Layers"), 0, False, -1)
|
||||
self._progress.show()
|
||||
|
||||
Application.getInstance().getController().activeViewChanged.connect(self._onActiveViewChanged)
|
||||
@ -52,9 +52,6 @@ class ProcessSlicedObjectListJob(Job):
|
||||
else:
|
||||
center = numpy.array([0.0, 0.0, 0.0])
|
||||
|
||||
if self._progress:
|
||||
self._progress.setProgress(2)
|
||||
|
||||
mesh = MeshData()
|
||||
layer_data = LayerData.LayerData()
|
||||
for object in self._message.objects:
|
||||
@ -80,14 +77,10 @@ class ProcessSlicedObjectListJob(Job):
|
||||
|
||||
layer_data.addPolygon(layer.id, polygon.type, points, polygon.line_width)
|
||||
|
||||
if self._progress:
|
||||
self._progress.setProgress(50)
|
||||
|
||||
# We are done processing all the layers we got from the engine, now create a mesh out of the data
|
||||
layer_data.build()
|
||||
|
||||
if self._progress:
|
||||
self._progress.setProgress(100)
|
||||
|
||||
#Add layerdata decorator to scene node to indicate that the node has layerdata
|
||||
decorator = LayerDataDecorator.LayerDataDecorator()
|
||||
|
@ -88,10 +88,13 @@ class WindowsRemovableDrivePlugin(RemovableDrivePlugin.RemovableDrivePlugin):
|
||||
|
||||
result = None
|
||||
# Then, try and tell it to eject
|
||||
if not windll.kernel32.DeviceIoControl(handle, IOCTL_STORAGE_EJECT_MEDIA, None, None, None, None, None, None):
|
||||
try:
|
||||
if not windll.kernel32.DeviceIoControl(handle, IOCTL_STORAGE_EJECT_MEDIA, None, None, None, None, None, None):
|
||||
result = False
|
||||
else:
|
||||
result = True
|
||||
except Exception as e:
|
||||
result = False
|
||||
else:
|
||||
result = True
|
||||
|
||||
# Finally, close the handle
|
||||
windll.kernel32.CloseHandle(handle)
|
||||
|
@ -5,7 +5,7 @@ import QtQuick 2.2
|
||||
import QtQuick.Window 2.2
|
||||
import QtQuick.Controls 1.2
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.Dialog
|
||||
{
|
||||
@ -23,7 +23,7 @@ UM.Dialog
|
||||
{
|
||||
anchors.fill: parent;
|
||||
|
||||
Text
|
||||
Label
|
||||
{
|
||||
anchors
|
||||
{
|
||||
@ -70,6 +70,8 @@ UM.Dialog
|
||||
{
|
||||
id: palette;
|
||||
}
|
||||
|
||||
UM.I18nCatalog { id: catalog; name: "cura"; }
|
||||
}
|
||||
|
||||
rightButtons: [
|
||||
|
@ -264,15 +264,17 @@ class PrinterConnection(OutputDevice, QObject, SignalEmitter):
|
||||
|
||||
# If the programmer connected, we know its an atmega based version. Not all that usefull, but it does give some debugging information.
|
||||
for baud_rate in self._getBaudrateList(): # Cycle all baud rates (auto detect)
|
||||
Logger.log("d","Attempting to connect to printer with serial %s on baud rate %s", self._serial_port, baud_rate)
|
||||
if self._serial is None:
|
||||
try:
|
||||
self._serial = serial.Serial(str(self._serial_port), baud_rate, timeout = 3, writeTimeout = 10000)
|
||||
except serial.SerialException:
|
||||
Logger.log("i", "Could not open port %s" % self._serial_port)
|
||||
return
|
||||
#Logger.log("i", "Could not open port %s" % self._serial_port)
|
||||
continue
|
||||
else:
|
||||
if not self.setBaudRate(baud_rate):
|
||||
continue # Could not set the baud rate, go to the next
|
||||
|
||||
time.sleep(1.5) # Ensure that we are not talking to the bootloader. 1.5 sec seems to be the magic number
|
||||
sucesfull_responses = 0
|
||||
timeout_time = time.time() + 5
|
||||
@ -347,15 +349,17 @@ class PrinterConnection(OutputDevice, QObject, SignalEmitter):
|
||||
|
||||
@pyqtSlot(int)
|
||||
def heatupNozzle(self, temperature):
|
||||
Logger.log("d", "Setting nozzle temperature to %s", temperature)
|
||||
self._sendCommand("M104 S%s" % temperature)
|
||||
|
||||
@pyqtSlot(int)
|
||||
def heatupBed(self, temperature):
|
||||
Logger.log("d", "Setting bed temperature to %s", temperature)
|
||||
self._sendCommand("M140 S%s" % temperature)
|
||||
|
||||
@pyqtSlot("long", "long","long")
|
||||
def moveHead(self, x, y, z):
|
||||
print("Moving head" , x , " ", y , " " , z)
|
||||
Logger.log("d","Moving head to %s, %s , %s", x, y, z)
|
||||
self._sendCommand("G0 X%s Y%s Z%s"%(x,y,z))
|
||||
|
||||
@pyqtSlot()
|
||||
@ -607,7 +611,7 @@ class PrinterConnection(OutputDevice, QObject, SignalEmitter):
|
||||
## Create a list of baud rates at which we can communicate.
|
||||
# \return list of int
|
||||
def _getBaudrateList(self):
|
||||
ret = [250000, 230400, 115200, 57600, 38400, 19200, 9600]
|
||||
ret = [115200, 250000, 230400, 57600, 38400, 19200, 9600]
|
||||
return ret
|
||||
|
||||
def _onFirmwareUpdateComplete(self):
|
||||
|
@ -285,7 +285,6 @@
|
||||
"min_value": "0",
|
||||
"max_value": "5",
|
||||
"min_value_warning": "0.6",
|
||||
"max_value_warning": "1",
|
||||
"type": "float",
|
||||
"visible": false,
|
||||
"children": {
|
||||
|
@ -292,6 +292,10 @@ UM.MainWindow
|
||||
for(var i in drop.urls)
|
||||
{
|
||||
UM.MeshFileHandler.readLocalFile(drop.urls[i]);
|
||||
if (i == drop.urls.length - 1)
|
||||
{
|
||||
openDialog.sendMeshName(drop.urls[i].toString())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -333,7 +337,7 @@ UM.MainWindow
|
||||
//style: UM.Backend.progress < 0 ? UM.Theme.styles.open_file_button : UM.Theme.styles.tool_button;
|
||||
//style: UM.Theme.styles.open_file_button
|
||||
text: catalog.i18nc("@action:button","Open File");
|
||||
iconSource: UM.Theme.icons.open
|
||||
iconSource: UM.Theme.icons.load
|
||||
style: UM.Theme.styles.open_file_button
|
||||
tooltip: '';
|
||||
anchors
|
||||
@ -368,6 +372,7 @@ UM.MainWindow
|
||||
Button
|
||||
{
|
||||
id: viewModeButton
|
||||
property bool verticalTooltip: true
|
||||
anchors
|
||||
{
|
||||
top: parent.top;
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
@ -80,13 +79,7 @@ Item
|
||||
|
||||
section.property: "manufacturer"
|
||||
section.delegate: Button {
|
||||
text: {
|
||||
if (base,activeManufacturer == section)
|
||||
return section + " ▼"
|
||||
else
|
||||
return section + " ►"
|
||||
}
|
||||
|
||||
text: section + " "
|
||||
style: ButtonStyle {
|
||||
background: Rectangle {
|
||||
id: manufacturerBackground
|
||||
@ -100,6 +93,17 @@ Item
|
||||
text: control.text
|
||||
color: palette.windowText
|
||||
font.bold: true
|
||||
UM.RecolorImage {
|
||||
id: downArrow
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.right
|
||||
width: UM.Theme.sizes.standard_arrow.width
|
||||
height: UM.Theme.sizes.standard_arrow.height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: palette.windowText
|
||||
source: base,activeManufacturer == section ? UM.Theme.icons.arrow_bottom : UM.Theme.icons.arrow_right
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -136,9 +140,6 @@ Item
|
||||
Label
|
||||
{
|
||||
id: author
|
||||
// visible: model.author != "Ultimaker" ? true : false
|
||||
//: Printer profile caption meaning: this profile is supported by the community
|
||||
// text: qsTr("community supported profile");
|
||||
text: model.author;
|
||||
anchors.left: machineButton.right
|
||||
anchors.leftMargin: UM.Theme.sizes.standard_list_lineheight.height/2
|
||||
|
@ -8,7 +8,7 @@ import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
Column
|
||||
Item
|
||||
{
|
||||
id: wizardPage
|
||||
property int leveling_state: 0
|
||||
@ -22,48 +22,72 @@ Column
|
||||
|
||||
Label
|
||||
{
|
||||
id: pageTitle
|
||||
width: parent.width
|
||||
text: catalog.i18nc("@title", "Bed Leveling")
|
||||
wrapMode: Text.WordWrap
|
||||
font.pointSize: 18;
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: pageDescription
|
||||
anchors.top: pageTitle.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","To make sure your prints will come out great, you can now adjust your buildplate. When you click 'Move to Next Position' the nozzle will move to the different positions that can be adjusted.")
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: bedelevelingText
|
||||
anchors.top: pageDescription.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label", "For every postition; insert a piece of paper under the nozzle and adjust the print bed height. The print bed height is right when the paper is slightly gripped by the tip of the nozzle.")
|
||||
}
|
||||
Button
|
||||
{
|
||||
text: catalog.i18nc("@action:button","Move to Next Position");
|
||||
onClicked:
|
||||
|
||||
Item{
|
||||
anchors.top: bedelevelingText.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: bedelevelingButton.width + skipBedlevelingButton.width + UM.Theme.sizes.default_margin.height < wizardPage.width ? bedelevelingButton.width + skipBedlevelingButton.width + UM.Theme.sizes.default_margin.height : wizardPage.width
|
||||
Button
|
||||
{
|
||||
if(wizardPage.leveling_state == 0)
|
||||
id: bedelevelingButton
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
text: catalog.i18nc("@action:button","Move to Next Position");
|
||||
onClicked:
|
||||
{
|
||||
printer_connection.moveHead(platform_width /2 , platform_height,0)
|
||||
}
|
||||
if(wizardPage.leveling_state == 1)
|
||||
{
|
||||
printer_connection.moveHead(platform_width , 0,0)
|
||||
}
|
||||
if(wizardPage.leveling_state == 2)
|
||||
{
|
||||
printer_connection.moveHead(0, 0 ,0)
|
||||
}
|
||||
wizardPage.leveling_state++
|
||||
if(wizardPage.leveling_state == 0)
|
||||
{
|
||||
printer_connection.moveHead(platform_width /2 , platform_height,0)
|
||||
}
|
||||
if(wizardPage.leveling_state == 1)
|
||||
{
|
||||
printer_connection.moveHead(platform_width , 0,0)
|
||||
}
|
||||
if(wizardPage.leveling_state == 2)
|
||||
{
|
||||
printer_connection.moveHead(0, 0 ,0)
|
||||
}
|
||||
wizardPage.leveling_state++
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
text: catalog.i18nc("@action:button","Skip Bedleveling");
|
||||
Button
|
||||
{
|
||||
id: skipBedlevelingButton
|
||||
anchors.top: parent.width < wizardPage.width ? parent.top : bedelevelingButton.bottom
|
||||
anchors.topMargin: parent.width < wizardPage.width ? 0 : UM.Theme.sizes.default_margin.height/2
|
||||
anchors.left: parent.width < wizardPage.width ? bedelevelingButton.right : parent.left
|
||||
anchors.leftMargin: parent.width < wizardPage.width ? UM.Theme.sizes.default_margin.width : 0
|
||||
text: catalog.i18nc("@action:button","Skip Bedleveling");
|
||||
onClicked: base.visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
function threePointLeveling(width, height)
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
@ -15,61 +14,63 @@ Item
|
||||
|
||||
SystemPalette{id: palette}
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
ScrollView
|
||||
Label
|
||||
{
|
||||
height: parent.height
|
||||
id: pageTitle
|
||||
width: parent.width
|
||||
Column
|
||||
text: catalog.i18nc("@title", "Select Upgraded Parts")
|
||||
wrapMode: Text.WordWrap
|
||||
font.pointSize: 18
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: pageDescription
|
||||
anchors.top: pageTitle.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","To assist you in having better default settings for your Ultimaker. Cura would like to know which upgrades you have in your machine:")
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: pageCheckboxes
|
||||
height: childrenRect.height
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width
|
||||
anchors.top: pageDescription.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width - UM.Theme.sizes.default_margin.width
|
||||
CheckBox
|
||||
{
|
||||
width: wizardPage.width
|
||||
Label
|
||||
{
|
||||
id: pageTitle
|
||||
width: parent.width
|
||||
text: catalog.i18nc("@title", "Select Upgraded Parts")
|
||||
wrapMode: Text.WordWrap
|
||||
font.pointSize: 18
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: pageDescription
|
||||
//: Add UM Original wizard page description
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","To assist you in having better default settings for your Ultimaker. Cura would like to know which upgrades you have in your machine:")
|
||||
}
|
||||
|
||||
Column
|
||||
{
|
||||
id: pageCheckboxes
|
||||
width: parent.width
|
||||
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check","Extruder driver ugrades")
|
||||
checked: true
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check","Heated printer bed (standard kit)")
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check","Heated printer bed (self built)")
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check","Dual extrusion (experimental)")
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","If you bought your Ultimaker after october 2012 you will have the Extruder drive upgrade. If you do not have this upgrade, it is highly recommended to improve reliability. This upgrade can be bought from the Ultimaker webshop or found on thingiverse as thing:26094");
|
||||
}
|
||||
id: checkBox
|
||||
text: catalog.i18nc("@option:check","Extruder driver ugrades")
|
||||
checked: true
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check","Heated printer bed (standard kit)")
|
||||
y: checkBox.height * 1
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check","Heated printer bed (self built)")
|
||||
y: checkBox.height * 2
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: catalog.i18nc("@option:check","Dual extrusion (experimental)")
|
||||
y: checkBox.height * 3
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
width: parent.width
|
||||
anchors.top: pageCheckboxes.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","If you bought your Ultimaker after october 2012 you will have the Extruder drive upgrade. If you do not have this upgrade, it is highly recommended to improve reliability. This upgrade can be bought from the Ultimaker webshop or found on thingiverse as thing:26094");
|
||||
}
|
||||
|
||||
ExclusiveGroup { id: printerGroup; }
|
||||
|
@ -3,15 +3,16 @@
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
Column
|
||||
Item
|
||||
{
|
||||
id: wizardPage
|
||||
property string title
|
||||
property int leftRow: wizardPage.width*0.40
|
||||
property int rightRow: wizardPage.width*0.60
|
||||
anchors.fill: parent;
|
||||
property bool x_min_pressed: false
|
||||
property bool y_min_pressed: false
|
||||
@ -34,133 +35,249 @@ Column
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: pageTitle
|
||||
width: parent.width
|
||||
text: catalog.i18nc("@title", "Check Printer")
|
||||
wrapMode: Text.WordWrap
|
||||
font.pointSize: 18;
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
//: Add Printer wizard page description
|
||||
id: pageDescription
|
||||
anchors.top: pageTitle.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","It's a good idea to do a few sanity checks on your Ultimaker. You can skip this step if you know your machine is functional");
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
text: catalog.i18nc("@action:button","Start Printer Check");
|
||||
enabled: manager.progress >= 100;
|
||||
onClicked: base.visible = false;
|
||||
Item{
|
||||
id: startStopButtons
|
||||
anchors.top: pageDescription.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
height: childrenRect.height
|
||||
width: startCheckButton.width + skipCheckButton.width + UM.Theme.sizes.default_margin.height < wizardPage.width ? startCheckButton.width + skipCheckButton.width + UM.Theme.sizes.default_margin.height : wizardPage.width
|
||||
Button
|
||||
{
|
||||
id: startCheckButton
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
text: catalog.i18nc("@action:button","Start Printer Check");
|
||||
enabled: manager.progress >= 100;
|
||||
onClicked: {
|
||||
checkupContent.visible = true
|
||||
startCheckButton.enabled = false
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: skipCheckButton
|
||||
anchors.top: parent.width < wizardPage.width ? parent.top : startCheckButton.bottom
|
||||
anchors.topMargin: parent.width < wizardPage.width ? 0 : UM.Theme.sizes.default_margin.height/2
|
||||
anchors.left: parent.width < wizardPage.width ? startCheckButton.right : parent.left
|
||||
anchors.leftMargin: parent.width < wizardPage.width ? UM.Theme.sizes.default_margin.width : 0
|
||||
text: catalog.i18nc("@action:button","Skip Printer Check");
|
||||
enabled: manager.progress >= 100;
|
||||
onClicked: {
|
||||
base.currentPage += 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
text: catalog.i18nc("@action:button","Skip Printer Check");
|
||||
enabled: manager.progress >= 100;
|
||||
onClicked: base.visible = false;
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
Item{
|
||||
id: checkupContent
|
||||
anchors.top: startStopButtons.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
visible: false
|
||||
//////////////////////////////////////////////////////////
|
||||
Label
|
||||
{
|
||||
id: connectionLabel
|
||||
width: wizardPage.leftRow
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Connection: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: connectionStatus
|
||||
width: wizardPage.rightRow
|
||||
anchors.left: connectionLabel.right
|
||||
anchors.top: parent.top
|
||||
wrapMode: Text.WordWrap
|
||||
text: UM.USBPrinterManager.connectedPrinterList.count ? catalog.i18nc("@info:status","Done"):catalog.i18nc("@info:status","Incomplete")
|
||||
}
|
||||
}
|
||||
Row
|
||||
{
|
||||
//////////////////////////////////////////////////////////
|
||||
Label
|
||||
{
|
||||
id: endstopXLabel
|
||||
width: wizardPage.leftRow
|
||||
anchors.left: parent.left
|
||||
anchors.top: connectionLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Min endstop X: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: endstopXStatus
|
||||
width: wizardPage.rightRow
|
||||
anchors.left: endstopXLabel.right
|
||||
anchors.top: connectionLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: x_min_pressed ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked")
|
||||
}
|
||||
}
|
||||
Row
|
||||
{
|
||||
//////////////////////////////////////////////////////////////
|
||||
Label
|
||||
{
|
||||
id: endstopYLabel
|
||||
width: wizardPage.leftRow
|
||||
anchors.left: parent.left
|
||||
anchors.top: endstopXLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Min endstop Y: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: endstopYStatus
|
||||
width: wizardPage.rightRow
|
||||
anchors.left: endstopYLabel.right
|
||||
anchors.top: endstopXLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: y_min_pressed ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked")
|
||||
}
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
Label
|
||||
{
|
||||
id: endstopZLabel
|
||||
width: wizardPage.leftRow
|
||||
anchors.left: parent.left
|
||||
anchors.top: endstopYLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Min endstop Z: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: endstopZStatus
|
||||
width: wizardPage.rightRow
|
||||
anchors.left: endstopZLabel.right
|
||||
anchors.top: endstopYLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: z_min_pressed ? catalog.i18nc("@info:status","Works") : catalog.i18nc("@info:status","Not checked")
|
||||
}
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
////////////////////////////////////////////////////////////
|
||||
Label
|
||||
{
|
||||
id: nozzleTempLabel
|
||||
width: wizardPage.leftRow
|
||||
anchors.left: parent.left
|
||||
anchors.top: endstopZLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Nozzle temperature check: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: printer_connection != null ? printer_connection.extruderTemperature : "0"
|
||||
id: nozzleTempStatus
|
||||
width: wizardPage.rightRow * 0.4
|
||||
anchors.top: nozzleTempLabel.top
|
||||
anchors.left: nozzleTempLabel.right
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@info:status","Not checked")
|
||||
}
|
||||
Button
|
||||
Item
|
||||
{
|
||||
text: catalog.i18nc("@action:button","Start Heating")
|
||||
onClicked:
|
||||
id: nozzleTempButton
|
||||
width: wizardPage.rightRow * 0.3
|
||||
height: nozzleTemp.height
|
||||
anchors.top: nozzleTempLabel.top
|
||||
anchors.left: bedTempStatus.right
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width/2
|
||||
Button
|
||||
{
|
||||
if(printer_connection != null)
|
||||
height: nozzleTemp.height - 2
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
text: catalog.i18nc("@action:button","Start Heating")
|
||||
onClicked:
|
||||
{
|
||||
heater_status_label.text = catalog.i18nc("@info:progress","Checking")
|
||||
printer_connection.heatupNozzle(190)
|
||||
wizardPage.extruder_target_temp = 190
|
||||
if(printer_connection != null)
|
||||
{
|
||||
heater_status_label.text = catalog.i18nc("@info:progress","Checking")
|
||||
printer_connection.heatupNozzle(190)
|
||||
wizardPage.extruder_target_temp = 190
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: heater_status_label
|
||||
text: catalog.i18nc("@info:status","Not checked")
|
||||
id: nozzleTemp
|
||||
anchors.top: nozzleTempLabel.top
|
||||
anchors.left: nozzleTempButton.right
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width
|
||||
width: wizardPage.rightRow * 0.2
|
||||
wrapMode: Text.WordWrap
|
||||
text: printer_connection != null ? printer_connection.extruderTemperature + "°C" : "0°C"
|
||||
font.bold: true
|
||||
}
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
Label
|
||||
{
|
||||
id: bedTempLabel
|
||||
width: wizardPage.leftRow
|
||||
anchors.left: parent.left
|
||||
anchors.top: nozzleTempLabel.bottom
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","bed temperature check:")
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: printer_connection != null ? printer_connection.bedTemperature : "0"
|
||||
id: bedTempStatus
|
||||
width: wizardPage.rightRow * 0.4
|
||||
anchors.top: bedTempLabel.top
|
||||
anchors.left: bedTempLabel.right
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@info:status","Not checked")
|
||||
}
|
||||
Button
|
||||
Item
|
||||
{
|
||||
text: catalog.i18nc("@action:button","Start Heating")
|
||||
onClicked:
|
||||
id: bedTempButton
|
||||
width: wizardPage.rightRow * 0.3
|
||||
height: bedTemp.height
|
||||
anchors.top: bedTempLabel.top
|
||||
anchors.left: bedTempStatus.right
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width/2
|
||||
Button
|
||||
{
|
||||
if(printer_connection != null)
|
||||
height: bedTemp.height - 2
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
text: catalog.i18nc("@action:button","Start Heating")
|
||||
onClicked:
|
||||
{
|
||||
bed_status_label.text = catalog.i18nc("@info:progress","Checking")
|
||||
printer_connection.printer.heatupBed(60)
|
||||
wizardPage.bed_target_temp = 60
|
||||
if(printer_connection != null)
|
||||
{
|
||||
bedTempStatus.text = catalog.i18nc("@info:progress","Checking")
|
||||
printer_connection.heatupBed(60)
|
||||
wizardPage.bed_target_temp = 60
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: bed_status_label
|
||||
text: catalog.i18nc("@info:status","Not checked")
|
||||
id: bedTemp
|
||||
width: wizardPage.rightRow * 0.2
|
||||
anchors.top: bedTempLabel.top
|
||||
anchors.left: bedTempButton.right
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: printer_connection != null ? printer_connection.bedTemperature + "°C": "0°C"
|
||||
font.bold: true
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,6 @@
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
@ -15,50 +14,65 @@ Item
|
||||
|
||||
SystemPalette{id: palette}
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
ScrollView
|
||||
Label
|
||||
{
|
||||
height: parent.height
|
||||
id: pageTitle
|
||||
width: parent.width
|
||||
Column
|
||||
{
|
||||
width: wizardPage.width
|
||||
Label
|
||||
{
|
||||
id: pageTitle
|
||||
width: parent.width
|
||||
text: catalog.i18nc("@title", "Upgrade Firmware")
|
||||
wrapMode: Text.WordWrap
|
||||
font.pointSize: 18
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: pageDescription
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work.")
|
||||
}
|
||||
text: catalog.i18nc("@title", "Upgrade Firmware")
|
||||
wrapMode: Text.WordWrap
|
||||
font.pointSize: 18
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: pageDescription
|
||||
anchors.top: pageTitle.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Firmware is the piece of software running directly on your 3D printer. This firmware controls the step motors, regulates the temperature and ultimately makes your printer work.")
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","The firmware shipping with new Ultimakers works, but upgrades have been made to make better prints, and make calibration easier.");
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: upgradeText1
|
||||
anchors.top: pageDescription.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","The firmware shipping with new Ultimakers works, but upgrades have been made to make better prints, and make calibration easier.");
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Cura requires these new features and thus your firmware will most likely need to be upgraded. You can do so now.");
|
||||
}
|
||||
Button {
|
||||
text: catalog.i18nc("@action:button","Upgrade to Marlin Firmware");
|
||||
}
|
||||
Button {
|
||||
text: catalog.i18nc("@action:button","Skip Upgrade");
|
||||
Label
|
||||
{
|
||||
id: upgradeText2
|
||||
anchors.top: upgradeText1.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: catalog.i18nc("@label","Cura requires these new features and thus your firmware will most likely need to be upgraded. You can do so now.");
|
||||
}
|
||||
Item{
|
||||
anchors.top: upgradeText2.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: upgradeButton.width + skipUpgradeButton.width + UM.Theme.sizes.default_margin.height < wizardPage.width ? upgradeButton.width + skipUpgradeButton.width + UM.Theme.sizes.default_margin.height : wizardPage.width
|
||||
Button {
|
||||
id: upgradeButton
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
text: catalog.i18nc("@action:button","Upgrade to Marlin Firmware");
|
||||
}
|
||||
Button {
|
||||
id: skipUpgradeButton
|
||||
anchors.top: parent.width < wizardPage.width ? parent.top : upgradeButton.bottom
|
||||
anchors.topMargin: parent.width < wizardPage.width ? 0 : UM.Theme.sizes.default_margin.height/2
|
||||
anchors.left: parent.width < wizardPage.width ? upgradeButton.right : parent.left
|
||||
anchors.leftMargin: parent.width < wizardPage.width ? UM.Theme.sizes.default_margin.width : 0
|
||||
text: catalog.i18nc("@action:button","Skip Upgrade");
|
||||
onClicked: {
|
||||
base.currentPage += 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ExclusiveGroup { id: printerGroup; }
|
||||
}
|
BIN
resources/themes/cura/fonts/Roboto-Black.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-BlackItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-Bold.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-BoldItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-Italic.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-Light.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-LightItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-Medium.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-MediumItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-Regular.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-Thin.ttf
Normal file
BIN
resources/themes/cura/fonts/Roboto-ThinItalic.ttf
Normal file
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 393 KiB |
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 392 KiB |
Before Width: | Height: | Size: 246 KiB After Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 392 KiB |
Before Width: | Height: | Size: 248 KiB After Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 249 KiB After Width: | Height: | Size: 394 KiB |
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 249 KiB After Width: | Height: | Size: 391 KiB |
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 392 KiB |
5345
resources/themes/cura/icons/load.svg
Normal file
After Width: | Height: | Size: 391 KiB |
@ -1,8 +1,380 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 30 30" xml:space="preserve">
|
||||
<path d="M16.5,14V6h-3v9.4l-5.3,3.1L9.7,21l6.2-3.6c0.4-0.2,0.6-0.7,0.6-1.1v-0.3l6.4-6.2c-0.3-0.4-0.6-0.8-1-1.1L16.5,14z M15,26.4
|
||||
C8.7,26.4,3.6,21.3,3.6,15C3.6,8.7,8.7,3.6,15,3.6c6.3,0,11.4,5.1,11.4,11.4C26.4,21.3,21.3,26.4,15,26.4z M15,0.6
|
||||
C7,0.6,0.6,7,0.6,15C0.6,23,7,29.4,15,29.4c8,0,14.4-6.4,14.4-14.4C29.4,7,23,0.6,15,0.6z"/>
|
||||
<!DOCTYPE svg [
|
||||
<!ENTITY ns_extend "http://ns.adobe.com/Extensibility/1.0/">
|
||||
<!ENTITY ns_ai "http://ns.adobe.com/AdobeIllustrator/10.0/">
|
||||
<!ENTITY ns_graphs "http://ns.adobe.com/Graphs/1.0/">
|
||||
<!ENTITY ns_vars "http://ns.adobe.com/Variables/1.0/">
|
||||
<!ENTITY ns_imrep "http://ns.adobe.com/ImageReplacement/1.0/">
|
||||
<!ENTITY ns_sfw "http://ns.adobe.com/SaveForWeb/1.0/">
|
||||
<!ENTITY ns_custom "http://ns.adobe.com/GenericCustomNamespace/1.0/">
|
||||
<!ENTITY ns_adobe_xpath "http://ns.adobe.com/XPath/1.0/">
|
||||
]>
|
||||
<svg version="1.2" baseProfile="tiny" id="Layer_1" xmlns:x="&ns_extend;" xmlns:i="&ns_ai;" xmlns:graph="&ns_graphs;"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="-109 111 30 30"
|
||||
xml:space="preserve">
|
||||
<switch>
|
||||
<foreignObject requiredExtensions="&ns_ai;" x="0" y="0" width="1" height="1">
|
||||
<i:pgfRef xlink:href="#adobe_illustrator_pgf">
|
||||
</i:pgfRef>
|
||||
</foreignObject>
|
||||
<g i:extraneous="self">
|
||||
<path d="M-92.5,125v-8h-3v9.4l-5.3,3.1l1.5,2.5l6.2-3.6c0.4-0.2,0.6-0.7,0.6-1.1V127l0,0V125L-92.5,125z M-94,137.4
|
||||
c-6.3,0-11.4-5.1-11.4-11.4s5.1-11.4,11.4-11.4s11.4,5.1,11.4,11.4S-87.7,137.4-94,137.4z M-94,111.6c-8,0-14.4,6.4-14.4,14.4
|
||||
s6.4,14.4,14.4,14.4s14.4-6.4,14.4-14.4S-86,111.6-94,111.6z"/>
|
||||
</g>
|
||||
</switch>
|
||||
<i:pgf id="adobe_illustrator_pgf">
|
||||
<![CDATA[
|
||||
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
|
||||
]]>
|
||||
<![CDATA[
|
||||
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
|
||||
]]>
|
||||
<![CDATA[
|
||||
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
|
||||
]]>
|
||||
<![CDATA[
|
||||
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
|
||||
]]>
|
||||
<![CDATA[
|
||||
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
|
||||
J+AnUnGgZZtV1/8HuGWfIg==
|
||||
]]>
|
||||
</i:pgf>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 670 B After Width: | Height: | Size: 27 KiB |
10395
resources/themes/cura/icons/reset.svg
Normal file
After Width: | Height: | Size: 762 KiB |
@ -101,16 +101,29 @@ QtObject {
|
||||
|
||||
Rectangle {
|
||||
id: tool_button_background
|
||||
anchors.left: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
//anchors.top: parent.bottom
|
||||
|
||||
//width: label.width > parent.width ? label.width : parent.width
|
||||
width: control.hovered ? label.width : 0;
|
||||
height: label.height
|
||||
Behavior on width { NumberAnimation { duration: 100; } }
|
||||
|
||||
anchors.left: control.verticalTooltip ? parent.left : parent.right
|
||||
anchors.verticalCenter: control.verticalTooltip ? undefined : parent.verticalCenter
|
||||
anchors.top: control.verticalTooltip ? parent.bottom : undefined
|
||||
opacity: control.hovered ? 1.0 : 0.0;
|
||||
|
||||
width: {
|
||||
if (control.verticalTooltip == true){
|
||||
if (label.width > parent.width)
|
||||
return label.width
|
||||
else
|
||||
return parent.width
|
||||
}
|
||||
else {
|
||||
if (control.hovered)
|
||||
return label.width
|
||||
else
|
||||
return 0
|
||||
}
|
||||
}
|
||||
height: !control.verticalTooltip ? label.height : control.hovered ? label.height: 0
|
||||
|
||||
Behavior on width { NumberAnimation { duration: 100; } }
|
||||
Behavior on height { NumberAnimation { duration: 100; } }
|
||||
Behavior on opacity { NumberAnimation { duration: 100; } }
|
||||
|
||||
Label {
|
||||
|
@ -3,48 +3,48 @@
|
||||
"large": {
|
||||
"size": 1.5,
|
||||
"bold": true,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"default": {
|
||||
"size": 1,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"default_allcaps": {
|
||||
"size": 1,
|
||||
"capitalize": true,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"small": {
|
||||
"size": 0.75,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"tiny": {
|
||||
"size": 0.5,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"caption": {
|
||||
"size": 0.75,
|
||||
"italic": true,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"sidebar_header": {
|
||||
"size": 0.75,
|
||||
"capitalize": true,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"timeslider_time": {
|
||||
"size": 1.0,
|
||||
"bold": true,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"button_tooltip": {
|
||||
"size": 0.75,
|
||||
"capitalize": true,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
},
|
||||
"setting_category": {
|
||||
"size": 1.0,
|
||||
"family": "ProximaNova"
|
||||
"family": "Roboto"
|
||||
}
|
||||
},
|
||||
|
||||
@ -102,6 +102,7 @@
|
||||
"setting_control_text": [0, 0, 0, 255],
|
||||
"setting_control_hover": [139, 143, 153, 255],
|
||||
"setting_control_selected": [35, 35, 35, 255],
|
||||
"setting_control_revert": [85, 85, 85, 255],
|
||||
"setting_unit": [174, 174, 174, 255],
|
||||
"setting_validation_error": [255, 57, 14, 255],
|
||||
"setting_validation_warning": [255, 186, 15, 255],
|
||||
|