|
@ -6,6 +6,8 @@ from UM.Application import Application
|
|||
from UM.Preferences import Preferences
|
||||
from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator
|
||||
from UM.Scene.SceneNode import SceneNode
|
||||
from UM.Message import Message
|
||||
from UM.i18n import i18nCatalog
|
||||
|
||||
import collections
|
||||
import json
|
||||
|
@ -16,6 +18,8 @@ import math
|
|||
import urllib.request
|
||||
import urllib.parse
|
||||
|
||||
catalog = i18nCatalog("cura")
|
||||
|
||||
|
||||
## This Extension runs in the background and sends several bits of information to the Ultimaker servers.
|
||||
# The data is only sent when the user in question gave permission to do so. All data is anonymous and
|
||||
|
@ -25,9 +29,19 @@ class SliceInfo(Extension):
|
|||
super().__init__()
|
||||
Application.getInstance().getOutputDeviceManager().writeStarted.connect(self._onWriteStarted)
|
||||
Preferences.getInstance().addPreference("info/send_slice_info", True)
|
||||
Preferences.getInstance().addPreference("info/asked_send_slice_info", False)
|
||||
|
||||
if not Preferences.getInstance().getValue("info/asked_send_slice_info"):
|
||||
self.send_slice_info_message = Message(catalog.i18nc("", "Cura automatically sends slice info. You can disable this in preferences"), lifetime = 0, dismissable = False)
|
||||
self.send_slice_info_message.addAction("Dismiss","Dismiss", None, "Dismiss")
|
||||
self.send_slice_info_message.actionTriggered.connect(self.messageActionTriggered)
|
||||
self.send_slice_info_message.show()
|
||||
|
||||
def messageActionTriggered(self, message_id, action_id):
|
||||
self.send_slice_info_message.hide()
|
||||
Preferences.getInstance().setValue("info/asked_send_slice_info", True)
|
||||
|
||||
def _onWriteStarted(self, output_device):
|
||||
print("Starting sending")
|
||||
if not Preferences.getInstance().getValue("info/send_slice_info"):
|
||||
return # Do nothing, user does not want to send data
|
||||
|
||||
|
@ -105,5 +119,4 @@ class SliceInfo(Extension):
|
|||
except Exception as e:
|
||||
print("Exception occured", e)
|
||||
|
||||
print("Result: ", f.read())
|
||||
f.close()
|
|
@ -6,13 +6,14 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.Dialog {
|
||||
UM.Dialog
|
||||
{
|
||||
width: 500 * Screen.devicePixelRatio;
|
||||
height: 100 * Screen.devicePixelRatio;
|
||||
|
||||
title: "Print with USB"
|
||||
title: catalog.i18nc("@title:window", "Print with USB")
|
||||
|
||||
Column
|
||||
{
|
||||
|
@ -23,18 +24,20 @@ UM.Dialog {
|
|||
Text
|
||||
{
|
||||
//: USB Printing dialog label, %1 is head temperature
|
||||
text: qsTr("Extruder Temperature %1").arg(manager.extruderTemperature)
|
||||
text: catalog.i18nc("@label","Extruder Temperature %1").arg(manager.extruderTemperature)
|
||||
}
|
||||
Text
|
||||
{
|
||||
//: USB Printing dialog label, %1 is bed temperature
|
||||
text: qsTr("Bed Temperature %1").arg(manager.bedTemperature)
|
||||
text: catalog.i18nc("@label","Bed Temperature %1").arg(manager.bedTemperature)
|
||||
}
|
||||
Text
|
||||
{
|
||||
text: "" + manager.error
|
||||
}
|
||||
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
|
||||
}
|
||||
|
||||
ProgressBar
|
||||
|
@ -50,16 +53,17 @@ UM.Dialog {
|
|||
}
|
||||
|
||||
rightButtons: [
|
||||
Button {
|
||||
Button
|
||||
{
|
||||
//: USB Printing dialog start print button
|
||||
text: qsTr("Print");
|
||||
text: catalog.i18nc("@action:button","Print");
|
||||
onClicked: { manager.startPrint() }
|
||||
enabled: manager.progress == 0 ? true : false
|
||||
},
|
||||
Button
|
||||
{
|
||||
//: USB Printing dialog cancel print button
|
||||
text: qsTr("Cancel");
|
||||
text: catalog.i18nc("@action:button","Cancel");
|
||||
onClicked: { manager.cancelPrint() }
|
||||
enabled: manager.progress == 0 ? false: true
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ UM.Dialog
|
|||
visible: true;
|
||||
modality: Qt.ApplicationModal;
|
||||
|
||||
title: "Firmware Update";
|
||||
title: catalog.i18nc("@title:window","Firmware Update");
|
||||
|
||||
Column
|
||||
{
|
||||
|
@ -25,7 +25,8 @@ UM.Dialog
|
|||
|
||||
Text
|
||||
{
|
||||
anchors {
|
||||
anchors
|
||||
{
|
||||
left: parent.left;
|
||||
right: parent.right;
|
||||
}
|
||||
|
@ -34,17 +35,17 @@ UM.Dialog
|
|||
if (manager.progress == 0)
|
||||
{
|
||||
//: Firmware update status label
|
||||
return qsTr("Starting firmware update, this may take a while.")
|
||||
return catalog.i18nc("@label","Starting firmware update, this may take a while.")
|
||||
}
|
||||
else if (manager.progress > 99)
|
||||
{
|
||||
//: Firmware update status label
|
||||
return qsTr("Firmware update completed.")
|
||||
return catalog.i18nc("@label","Firmware update completed.")
|
||||
}
|
||||
else
|
||||
{
|
||||
//: Firmware update status label
|
||||
return qsTr("Updating firmware.")
|
||||
return catalog.i18nc("@label","Updating firmware.")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -57,20 +58,23 @@ UM.Dialog
|
|||
value: manager.progress
|
||||
minimumValue: 0;
|
||||
maximumValue: 100;
|
||||
anchors {
|
||||
anchors
|
||||
{
|
||||
left: parent.left;
|
||||
right: parent.right;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
SystemPalette {
|
||||
SystemPalette
|
||||
{
|
||||
id: palette;
|
||||
}
|
||||
}
|
||||
|
||||
rightButtons: [
|
||||
Button {
|
||||
Button
|
||||
{
|
||||
text: "Close";
|
||||
enabled: manager.progress >= 100;
|
||||
onClicked: base.visible = false;
|
||||
|
|
|
@ -5,17 +5,21 @@ import QtQuick 2.2
|
|||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.Dialog {
|
||||
UM.Dialog
|
||||
{
|
||||
id: base
|
||||
|
||||
//: About dialog title
|
||||
title: qsTr("About Cura")
|
||||
title: catalog.i18nc("@title:window","About Cura")
|
||||
minimumWidth: 400
|
||||
minimumHeight: 300
|
||||
minimumHeight: 300;
|
||||
//UM.I18nCatalog { id: catalog; }
|
||||
|
||||
Image {
|
||||
|
||||
Image
|
||||
{
|
||||
id: logo
|
||||
width: parent.width * 0.75
|
||||
height: width * (1/4.25)
|
||||
|
@ -26,9 +30,11 @@ UM.Dialog {
|
|||
sourceSize.height: height
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset : -(height * 0.5)
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
}
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
id: version
|
||||
|
||||
text: "Cura %1".arg(UM.Application.version)
|
||||
|
@ -39,30 +45,33 @@ UM.Dialog {
|
|||
anchors.topMargin : 5
|
||||
}
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
id: description
|
||||
width: parent.width
|
||||
|
||||
//: About dialog application description
|
||||
text: qsTr("End-to-end solution for fused filament 3D printing.")
|
||||
text: catalog.i18nc("@label","End-to-end solution for fused filament 3D printing.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.top: version.bottom
|
||||
anchors.topMargin : 10
|
||||
}
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
id: author_note
|
||||
width: parent.width
|
||||
|
||||
//: About dialog application author note
|
||||
text: qsTr("Cura has been developed by Ultimaker B.V. in cooperation with the community.")
|
||||
text: catalog.i18nc("@label","Cura has been developed by Ultimaker B.V. in cooperation with the community.")
|
||||
wrapMode: Text.WordWrap
|
||||
anchors.top: description.bottom
|
||||
}
|
||||
|
||||
rightButtons: Button {
|
||||
rightButtons: Button
|
||||
{
|
||||
//: Close about dialog button
|
||||
text: qsTr("Close");
|
||||
text: catalog.i18nc("@action:button","Close");
|
||||
|
||||
onClicked: base.visible = false;
|
||||
}
|
||||
|
|
|
@ -3,9 +3,10 @@
|
|||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
Item {
|
||||
Item
|
||||
{
|
||||
property alias open: openAction;
|
||||
property alias save: saveAction;
|
||||
property alias quit: quitAction;
|
||||
|
@ -42,60 +43,69 @@ Item {
|
|||
|
||||
property alias toggleFullScreen: toggleFullScreenAction;
|
||||
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
|
||||
Action
|
||||
{
|
||||
id:toggleFullScreenAction
|
||||
shortcut: StandardKey.FullScreen;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: undoAction;
|
||||
//: Undo action
|
||||
text: qsTr("Undo");
|
||||
text: catalog.i18nc("@action","Undo");
|
||||
iconName: "edit-undo";
|
||||
shortcut: StandardKey.Undo;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: redoAction;
|
||||
//: Redo action
|
||||
text: qsTr("Redo");
|
||||
text: catalog.i18nc("@action","Redo");
|
||||
iconName: "edit-redo";
|
||||
shortcut: StandardKey.Redo;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: quitAction;
|
||||
//: Quit action
|
||||
text: qsTr("Quit");
|
||||
text: catalog.i18nc("@action","Quit");
|
||||
iconName: "application-exit";
|
||||
shortcut: StandardKey.Quit;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: preferencesAction;
|
||||
//: Preferences action
|
||||
text: qsTr("Preferences...");
|
||||
text: catalog.i18nc("@action","Preferences...");
|
||||
iconName: "configure";
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: addMachineAction;
|
||||
//: Add Printer action
|
||||
text: qsTr("Add Printer...");
|
||||
text: catalog.i18nc("@action","Add Printer...");
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: settingsAction;
|
||||
//: Configure Printers action
|
||||
text: qsTr("Configure Printers");
|
||||
text: catalog.i18nc("@action","Configure Printers");
|
||||
iconName: "configure";
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: documentationAction;
|
||||
//: Show Online Documentation action
|
||||
text: qsTr("Show Online &Documentation");
|
||||
text: catalog.i18nc("@action","Show Online &Documentation");
|
||||
iconName: "help-contents";
|
||||
shortcut: StandardKey.Help;
|
||||
}
|
||||
|
@ -103,118 +113,131 @@ Item {
|
|||
Action {
|
||||
id: reportBugAction;
|
||||
//: Report a Bug Action
|
||||
text: qsTr("Report a &Bug");
|
||||
text: catalog.i18nc("@action","Report a &Bug");
|
||||
iconName: "tools-report-bug";
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: aboutAction;
|
||||
//: About action
|
||||
text: qsTr("About...");
|
||||
text: catalog.i18nc("@action","About...");
|
||||
iconName: "help-about";
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: deleteSelectionAction;
|
||||
//: Delete selection action
|
||||
text: qsTr("Delete Selection");
|
||||
text: catalog.i18nc("@action","Delete Selection");
|
||||
iconName: "edit-delete";
|
||||
shortcut: StandardKey.Delete;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: deleteObjectAction;
|
||||
//: Delete object action
|
||||
text: qsTr("Delete Object");
|
||||
text: catalog.i18nc("@action","Delete Object");
|
||||
iconName: "edit-delete";
|
||||
shortcut: StandardKey.Backspace;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: centerObjectAction;
|
||||
//: Center object action
|
||||
text: qsTr("Center Object on Platform");
|
||||
text: catalog.i18nc("@action","Center Object on Platform");
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: groupObjectsAction
|
||||
text: qsTr("Group objects");
|
||||
text: catalog.i18nc("@action","Group objects");
|
||||
enabled: UM.Scene.numObjectsSelected > 1 ? true: false
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: unGroupObjectsAction
|
||||
text: qsTr("Ungroup objects");
|
||||
text: catalog.i18nc("@action","Ungroup objects");
|
||||
enabled: UM.Scene.isGroupSelected
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: mergeObjectsAction
|
||||
text: qsTr("Merge objects");
|
||||
text: catalog.i18nc("@action","Merge objects");
|
||||
enabled: UM.Scene.numObjectsSelected > 1 ? true: false
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: multiplyObjectAction;
|
||||
//: Duplicate object action
|
||||
text: qsTr("Duplicate Object");
|
||||
text: catalog.i18nc("@action","Duplicate Object");
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: splitObjectAction;
|
||||
//: Split object action
|
||||
text: qsTr("Split Object into Parts");
|
||||
text: catalog.i18nc("@action","Split Object into Parts");
|
||||
enabled: false;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: deleteAllAction;
|
||||
//: Clear build platform action
|
||||
text: qsTr("Clear Build Platform");
|
||||
text: catalog.i18nc("@action","Clear Build Platform");
|
||||
iconName: "edit-clear";
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: reloadAllAction;
|
||||
//: Reload all objects action
|
||||
text: qsTr("Reload All Objects");
|
||||
text: catalog.i18nc("@action","Reload All Objects");
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: resetAllTranslationAction;
|
||||
//: Reset all positions action
|
||||
text: qsTr("Reset All Object Positions");
|
||||
text: catalog.i18nc("@action","Reset All Object Positions");
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: resetAllAction;
|
||||
//: Reset all positions action
|
||||
text: qsTr("Reset All Object Transformations");
|
||||
text: catalog.i18nc("@action","Reset All Object Transformations");
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: openAction;
|
||||
//: Open file action
|
||||
text: qsTr("Load file");
|
||||
text: catalog.i18nc("@action","Load file");
|
||||
iconName: "document-open";
|
||||
shortcut: StandardKey.Open;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: saveAction;
|
||||
//: Save file action
|
||||
text: qsTr("Save...");
|
||||
text: catalog.i18nc("@action","Save...");
|
||||
iconName: "document-save";
|
||||
shortcut: StandardKey.Save;
|
||||
}
|
||||
|
||||
Action {
|
||||
Action
|
||||
{
|
||||
id: showEngineLogAction;
|
||||
//: Show engine log action
|
||||
text: qsTr("Show engine &log...");
|
||||
text: catalog.i18nc("@action","Show engine &log...");
|
||||
iconName: "view-list-text";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,18 +6,22 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.Wizard
|
||||
{
|
||||
//: Add Printer dialog title
|
||||
wizardTitle: qsTr("Add Printer")
|
||||
wizardTitle: catalog.i18nc("@title:wizard","Add Printer")
|
||||
wizardPages: [
|
||||
{
|
||||
title: "Add Printer",
|
||||
page: "AddMachine.qml"
|
||||
}
|
||||
]
|
||||
Item
|
||||
{
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
}
|
||||
|
||||
// This part is optional
|
||||
// This part checks whether there is a printer -> if not: some of the functions (delete for example) are disabled
|
||||
|
|
|
@ -9,38 +9,46 @@ import QtQuick.Dialogs 1.1
|
|||
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.MainWindow {
|
||||
UM.MainWindow
|
||||
{
|
||||
id: base
|
||||
visible: true
|
||||
//: Cura application window title
|
||||
title: qsTr("Cura");
|
||||
title: catalog.i18nc("@title:window","Cura");
|
||||
|
||||
Item {
|
||||
Item
|
||||
{
|
||||
id: backgroundItem;
|
||||
anchors.fill: parent;
|
||||
|
||||
UM.ApplicationMenu {
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
UM.ApplicationMenu
|
||||
{
|
||||
id: menu
|
||||
window: base
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
id: fileMenu
|
||||
//: File menu
|
||||
title: qsTr("&File");
|
||||
title: catalog.i18nc("@title:menu","&File");
|
||||
|
||||
MenuItem { action: actions.open; }
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
id: recentFilesMenu;
|
||||
title: "Open Recent"
|
||||
title: catalog.i18nc("@title:menu","Open Recent")
|
||||
iconName: "document-open-recent";
|
||||
|
||||
enabled: Printer.recentFiles.length > 0;
|
||||
|
||||
Instantiator {
|
||||
Instantiator
|
||||
{
|
||||
model: Printer.recentFiles
|
||||
MenuItem {
|
||||
text: {
|
||||
MenuItem
|
||||
{
|
||||
text:
|
||||
{
|
||||
var path = modelData.toString()
|
||||
return (index + 1) + ". " + path.slice(path.lastIndexOf("/") + 1);
|
||||
}
|
||||
|
@ -53,22 +61,26 @@ UM.MainWindow {
|
|||
|
||||
MenuSeparator { }
|
||||
|
||||
MenuItem {
|
||||
text: "Save Selection to File";
|
||||
MenuItem
|
||||
{
|
||||
text: catalog.i18nc("@action:menu", "Save Selection to File");
|
||||
enabled: UM.Selection.hasSelection;
|
||||
iconName: "document-save-as";
|
||||
onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file");
|
||||
}
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
id: saveAllMenu
|
||||
title: "Save All"
|
||||
title: catalog.i18nc("@title:menu","Save All")
|
||||
iconName: "document-save";
|
||||
enabled: devicesModel.count > 0 && UM.Backend.progress > 0.99;
|
||||
|
||||
Instantiator {
|
||||
Instantiator
|
||||
{
|
||||
model: UM.OutputDevicesModel { id: devicesModel; }
|
||||
|
||||
MenuItem {
|
||||
MenuItem
|
||||
{
|
||||
text: model.description;
|
||||
onTriggered: UM.OutputDeviceManager.requestWriteToDevice(model.id);
|
||||
}
|
||||
|
@ -82,9 +94,10 @@ UM.MainWindow {
|
|||
MenuItem { action: actions.quit; }
|
||||
}
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
//: Edit menu
|
||||
title: qsTr("&Edit");
|
||||
title: catalog.i18nc("@title:menu","&Edit");
|
||||
|
||||
MenuItem { action: actions.undo; }
|
||||
MenuItem { action: actions.redo; }
|
||||
|
@ -94,7 +107,7 @@ UM.MainWindow {
|
|||
}
|
||||
Menu
|
||||
{
|
||||
title: qsTr("&View");
|
||||
title: catalog.i18nc("@title:menu","&View");
|
||||
id: top_view_menu
|
||||
Instantiator
|
||||
{
|
||||
|
@ -112,14 +125,17 @@ UM.MainWindow {
|
|||
}
|
||||
ExclusiveGroup { id: view_menu_top_group; }
|
||||
}
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
id: machineMenu;
|
||||
//: Machine menu
|
||||
title: qsTr("&Machine");
|
||||
title: catalog.i18nc("@title:menu","&Machine");
|
||||
|
||||
Instantiator {
|
||||
Instantiator
|
||||
{
|
||||
model: UM.Models.machinesModel
|
||||
MenuItem {
|
||||
MenuItem
|
||||
{
|
||||
text: model.name;
|
||||
checkable: true;
|
||||
checked: model.active;
|
||||
|
@ -138,10 +154,11 @@ UM.MainWindow {
|
|||
MenuItem { action: actions.configureMachines; }
|
||||
}
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
id: extension_menu
|
||||
//: Extensions menu
|
||||
title: qsTr("E&xtensions");
|
||||
title: catalog.i18nc("@title:menu","E&xtensions");
|
||||
|
||||
Instantiator
|
||||
{
|
||||
|
@ -170,16 +187,18 @@ UM.MainWindow {
|
|||
}
|
||||
}
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
//: Settings menu
|
||||
title: qsTr("&Settings");
|
||||
title: catalog.i18nc("@title:menu","&Settings");
|
||||
|
||||
MenuItem { action: actions.preferences; }
|
||||
}
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
//: Help menu
|
||||
title: qsTr("&Help");
|
||||
title: catalog.i18nc("@title:menu","&Help");
|
||||
|
||||
MenuItem { action: actions.showEngineLog; }
|
||||
MenuItem { action: actions.documentation; }
|
||||
|
@ -189,7 +208,8 @@ UM.MainWindow {
|
|||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
Item
|
||||
{
|
||||
id: contentItem;
|
||||
|
||||
y: menu.height
|
||||
|
@ -198,19 +218,25 @@ UM.MainWindow {
|
|||
|
||||
Keys.forwardTo: menu
|
||||
|
||||
DropArea {
|
||||
DropArea
|
||||
{
|
||||
anchors.fill: parent;
|
||||
onDropped: {
|
||||
if(drop.urls.length > 0) {
|
||||
for(var i in drop.urls) {
|
||||
onDropped:
|
||||
{
|
||||
if(drop.urls.length > 0)
|
||||
{
|
||||
for(var i in drop.urls)
|
||||
{
|
||||
UM.MeshFileHandler.readLocalFile(drop.urls[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UM.MessageStack {
|
||||
anchors {
|
||||
UM.MessageStack
|
||||
{
|
||||
anchors
|
||||
{
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
horizontalCenterOffset: -(UM.Theme.sizes.logo.width/ 2)
|
||||
top: parent.verticalCenter;
|
||||
|
@ -237,12 +263,14 @@ UM.MainWindow {
|
|||
source: UM.ActiveView.valid ? UM.ActiveView.activeViewPanel : "";
|
||||
}
|
||||
|
||||
Button {
|
||||
Button
|
||||
{
|
||||
id: openFileButton;
|
||||
//style: UM.Backend.progress < 0 ? UM.Theme.styles.open_file_button : UM.Theme.styles.tool_button;
|
||||
style: UM.Theme.styles.open_file_button
|
||||
tooltip: '';
|
||||
anchors {
|
||||
anchors
|
||||
{
|
||||
top: parent.top;
|
||||
topMargin: UM.Theme.sizes.loadfile_margin.height
|
||||
left: parent.left;
|
||||
|
@ -251,9 +279,11 @@ UM.MainWindow {
|
|||
action: actions.open;
|
||||
}
|
||||
|
||||
Image {
|
||||
Image
|
||||
{
|
||||
id: logo
|
||||
anchors {
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
leftMargin: UM.Theme.sizes.default_margin.width;
|
||||
bottom: parent.bottom
|
||||
|
@ -268,24 +298,29 @@ UM.MainWindow {
|
|||
sourceSize.height: height;
|
||||
}
|
||||
|
||||
Button {
|
||||
Button
|
||||
{
|
||||
id: viewModeButton
|
||||
anchors {
|
||||
anchors
|
||||
{
|
||||
top: parent.top;
|
||||
right: sidebar.left;
|
||||
rightMargin: UM.Theme.sizes.window_margin.width;
|
||||
}
|
||||
//: View Mode toolbar button
|
||||
text: qsTr("View Mode");
|
||||
text: catalog.i18nc("@action:button","View Mode");
|
||||
iconSource: UM.Theme.icons.viewmode;
|
||||
|
||||
style: UM.Theme.styles.tool_button;
|
||||
tooltip: '';
|
||||
menu: Menu {
|
||||
menu: Menu
|
||||
{
|
||||
id: viewMenu;
|
||||
Instantiator {
|
||||
Instantiator
|
||||
{
|
||||
model: UM.Models.viewModel;
|
||||
MenuItem {
|
||||
MenuItem
|
||||
{
|
||||
text: model.name;
|
||||
checkable: true;
|
||||
checked: model.active;
|
||||
|
@ -300,38 +335,46 @@ UM.MainWindow {
|
|||
}
|
||||
}
|
||||
|
||||
Toolbar {
|
||||
Toolbar
|
||||
{
|
||||
id: toolbar;
|
||||
|
||||
anchors {
|
||||
horizontalCenter: parent.horizontalCenter
|
||||
horizontalCenterOffset: -(UM.Theme.sizes.panel.width / 2)
|
||||
top: parent.top;
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
topMargin: 74
|
||||
//horizontalCenter: parent.horizontalCenter
|
||||
//horizontalCenterOffset: -(UM.Theme.sizes.sidebar.width / 2)
|
||||
//top: parent.top;
|
||||
}
|
||||
}
|
||||
|
||||
Sidebar {
|
||||
Sidebar
|
||||
{
|
||||
id: sidebar;
|
||||
|
||||
anchors {
|
||||
anchors
|
||||
{
|
||||
top: parent.top;
|
||||
bottom: parent.bottom;
|
||||
right: parent.right;
|
||||
}
|
||||
|
||||
width: UM.Theme.sizes.panel.width;
|
||||
width: UM.Theme.sizes.sidebar.width;
|
||||
|
||||
addMachineAction: actions.addMachine;
|
||||
configureMachinesAction: actions.configureMachines;
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
Rectangle
|
||||
{
|
||||
x: base.mouseX + UM.Theme.sizes.default_margin.width;
|
||||
y: base.mouseY + UM.Theme.sizes.default_margin.height;
|
||||
|
||||
width: childrenRect.width;
|
||||
height: childrenRect.height;
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
text: UM.ActiveTool.properties.Rotation != undefined ? "%1°".arg(UM.ActiveTool.properties.Rotation) : "";
|
||||
}
|
||||
|
||||
|
@ -340,23 +383,26 @@ UM.MainWindow {
|
|||
}
|
||||
}
|
||||
|
||||
UM.PreferencesDialog {
|
||||
UM.PreferencesDialog
|
||||
{
|
||||
id: preferences
|
||||
|
||||
Component.onCompleted: {
|
||||
Component.onCompleted:
|
||||
{
|
||||
//; Remove & re-add the general page as we want to use our own instead of uranium standard.
|
||||
removePage(0);
|
||||
insertPage(0, qsTr("General") , "" , Qt.resolvedUrl("./GeneralPage.qml"));
|
||||
insertPage(0, catalog.i18nc("@title:tab","General") , "" , Qt.resolvedUrl("./GeneralPage.qml"));
|
||||
|
||||
//: View preferences page title
|
||||
insertPage(1, qsTr("View"), "view-preview", Qt.resolvedUrl("./ViewPage.qml"));
|
||||
insertPage(1, catalog.i18nc("@title:tab","View"), "view-preview", Qt.resolvedUrl("./ViewPage.qml"));
|
||||
|
||||
//Force refresh
|
||||
setPage(0)
|
||||
}
|
||||
}
|
||||
|
||||
Actions {
|
||||
Actions
|
||||
{
|
||||
id: actions;
|
||||
|
||||
open.onTriggered: openDialog.open();
|
||||
|
@ -369,28 +415,36 @@ UM.MainWindow {
|
|||
redo.onTriggered: UM.OperationStack.redo();
|
||||
redo.enabled: UM.OperationStack.canRedo;
|
||||
|
||||
deleteSelection.onTriggered: {
|
||||
if(objectContextMenu.objectId != 0) {
|
||||
deleteSelection.onTriggered:
|
||||
{
|
||||
if(objectContextMenu.objectId != 0)
|
||||
{
|
||||
Printer.deleteObject(objectContextMenu.objectId);
|
||||
}
|
||||
}
|
||||
|
||||
deleteObject.onTriggered: {
|
||||
if(objectContextMenu.objectId != 0) {
|
||||
deleteObject.onTriggered:
|
||||
{
|
||||
if(objectContextMenu.objectId != 0)
|
||||
{
|
||||
Printer.deleteObject(objectContextMenu.objectId);
|
||||
objectContextMenu.objectId = 0;
|
||||
}
|
||||
}
|
||||
|
||||
multiplyObject.onTriggered: {
|
||||
if(objectContextMenu.objectId != 0) {
|
||||
multiplyObject.onTriggered:
|
||||
{
|
||||
if(objectContextMenu.objectId != 0)
|
||||
{
|
||||
Printer.multiplyObject(objectContextMenu.objectId, 1);
|
||||
objectContextMenu.objectId = 0;
|
||||
}
|
||||
}
|
||||
|
||||
centerObject.onTriggered: {
|
||||
if(objectContextMenu.objectId != 0) {
|
||||
centerObject.onTriggered:
|
||||
{
|
||||
if(objectContextMenu.objectId != 0)
|
||||
{
|
||||
Printer.centerObject(objectContextMenu.objectId);
|
||||
objectContextMenu.objectId = 0;
|
||||
}
|
||||
|
@ -429,7 +483,8 @@ UM.MainWindow {
|
|||
|
||||
}
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
id: objectContextMenu;
|
||||
|
||||
property variant objectId: -1;
|
||||
|
@ -448,7 +503,8 @@ UM.MainWindow {
|
|||
MenuItem { action: actions.mergeObjects;}
|
||||
}
|
||||
|
||||
Menu {
|
||||
Menu
|
||||
{
|
||||
id: contextMenu;
|
||||
MenuItem { action: actions.deleteAll; }
|
||||
MenuItem { action: actions.reloadAll; }
|
||||
|
@ -459,23 +515,28 @@ UM.MainWindow {
|
|||
MenuItem { action: actions.mergeObjects;}
|
||||
}
|
||||
|
||||
Connections {
|
||||
Connections
|
||||
{
|
||||
target: UM.Controller
|
||||
onContextMenuRequested: {
|
||||
if(objectId == 0) {
|
||||
onContextMenuRequested:
|
||||
{
|
||||
if(objectId == 0)
|
||||
{
|
||||
contextMenu.popup();
|
||||
} else {
|
||||
} else
|
||||
{
|
||||
objectContextMenu.objectId = objectId;
|
||||
objectContextMenu.popup();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FileDialog {
|
||||
FileDialog
|
||||
{
|
||||
id: openDialog;
|
||||
|
||||
//: File open dialog title
|
||||
title: qsTr("Open File")
|
||||
title: catalog.i18nc("@title:window","Open File")
|
||||
modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal;
|
||||
//TODO: Support multiple file selection, workaround bug in KDE file dialog
|
||||
//selectMultiple: true
|
||||
|
@ -488,22 +549,27 @@ UM.MainWindow {
|
|||
}
|
||||
}
|
||||
|
||||
EngineLog {
|
||||
EngineLog
|
||||
{
|
||||
id: engineLog;
|
||||
}
|
||||
|
||||
AddMachineWizard {
|
||||
AddMachineWizard
|
||||
{
|
||||
id: addMachineWizard
|
||||
}
|
||||
|
||||
|
||||
AboutDialog {
|
||||
AboutDialog
|
||||
{
|
||||
id: aboutDialog
|
||||
}
|
||||
|
||||
Connections {
|
||||
Connections
|
||||
{
|
||||
target: Printer
|
||||
onRequestAddPrinter: {
|
||||
onRequestAddPrinter:
|
||||
{
|
||||
addMachineWizard.visible = true
|
||||
addMachineWizard.printer = false
|
||||
}
|
||||
|
|
|
@ -5,40 +5,48 @@ import QtQuick 2.2
|
|||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.Dialog {
|
||||
UM.Dialog
|
||||
{
|
||||
id: dialog;
|
||||
|
||||
//: Engine Log dialog title
|
||||
title: qsTr("Engine Log");
|
||||
title: catalog.i18nc("@title:window","Engine Log");
|
||||
|
||||
modality: Qt.NonModal;
|
||||
|
||||
TextArea {
|
||||
TextArea
|
||||
{
|
||||
id: textArea
|
||||
anchors.fill: parent;
|
||||
|
||||
Timer {
|
||||
Timer
|
||||
{
|
||||
id: updateTimer;
|
||||
interval: 1000;
|
||||
running: false;
|
||||
repeat: true;
|
||||
onTriggered: textArea.text = Printer.getEngineLog();
|
||||
}
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
}
|
||||
|
||||
rightButtons: Button {
|
||||
rightButtons: Button
|
||||
{
|
||||
//: Close engine log button
|
||||
text: qsTr("Close");
|
||||
text: catalog.i18nc("@action:button","Close");
|
||||
onClicked: dialog.visible = false;
|
||||
}
|
||||
|
||||
onVisibleChanged: {
|
||||
if(visible) {
|
||||
onVisibleChanged:
|
||||
{
|
||||
if(visible)
|
||||
{
|
||||
textArea.text = Printer.getEngineLog();
|
||||
updateTimer.start();
|
||||
} else {
|
||||
} else
|
||||
{
|
||||
updateTimer.stop();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,12 +6,12 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.PreferencesPage
|
||||
{
|
||||
//: General configuration page title
|
||||
title: qsTr("General");
|
||||
title: catalog.i18nc("@title:wizard","General");
|
||||
|
||||
function reset()
|
||||
{
|
||||
|
@ -26,10 +26,11 @@ UM.PreferencesPage
|
|||
{
|
||||
columns: 2;
|
||||
//: Language selection label
|
||||
UM.I18nCatalog{id: catalog; name:"cura"}
|
||||
Label
|
||||
{
|
||||
id: languageLabel
|
||||
text: qsTr("Language")
|
||||
text: catalog.i18nc("@label","Language")
|
||||
}
|
||||
|
||||
ComboBox
|
||||
|
@ -76,7 +77,7 @@ UM.PreferencesPage
|
|||
// Because ListModel is stupid and does not allow using qsTr() for values.
|
||||
for(var i = 0; i < languageList.count; ++i)
|
||||
{
|
||||
languageList.setProperty(i, "text", qsTr(languageList.get(i).text));
|
||||
languageList.setProperty(i, "text", catalog.i18nc("@action:menu",languageList.get(i).text));
|
||||
}
|
||||
|
||||
// Glorious hack time. ComboBox does not update the text properly after changing the
|
||||
|
@ -92,7 +93,7 @@ UM.PreferencesPage
|
|||
Layout.columnSpan: 2
|
||||
|
||||
//: Language change warning
|
||||
text: qsTr("You will need to restart the application for language changes to have effect.")
|
||||
text: catalog.i18nc("@label","You will need to restart the application for language changes to have effect.")
|
||||
wrapMode: Text.WordWrap
|
||||
font.italic: true
|
||||
}
|
||||
|
@ -108,11 +109,11 @@ UM.PreferencesPage
|
|||
id: pushFreeText //is a button so the user doesn't have te click inconvenientley precise to enable or disable the checkbox
|
||||
|
||||
//: Display Overhang preference checkbox
|
||||
text: qsTr("Automatic push free");
|
||||
text: catalog.i18nc("@action:checkbox","Automatic push free");
|
||||
onClicked: pushFreeCheckbox.checked = !pushFreeCheckbox.checked
|
||||
|
||||
//: Display Overhang preference tooltip
|
||||
tooltip: "Are objects on the platform automatically moved so they no longer intersect"
|
||||
tooltip: catalog.i18nc("@info:tooltip","Are objects on the platform automatically moved so they no longer intersect")
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
|
@ -141,11 +142,11 @@ UM.PreferencesPage
|
|||
id: sendDataText //is a button so the user doesn't have te click inconvenientley precise to enable or disable the checkbox
|
||||
|
||||
//: Display Overhang preference checkbox
|
||||
text: qsTr("Send (anonymous) slice info");
|
||||
text: catalog.i18nc("@action:checkbox","Send (anonymous) slice info");
|
||||
onClicked: sendDataCheckbox.checked = !sendDataCheckbox.checked
|
||||
|
||||
//: Display Overhang preference tooltip
|
||||
tooltip: "Should anonymous data about your slices be sent to Ultimaker. No models or IP's are sent / stored."
|
||||
tooltip: catalog.i18nc("@info:tooltip","Should anonymous data about your slices be sent to Ultimaker. No models or IP's are sent / stored.")
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
|
|
|
@ -8,17 +8,20 @@ import QtQuick.Layouts 1.1
|
|||
|
||||
import UM 1.1 as UM
|
||||
|
||||
Rectangle {
|
||||
Rectangle
|
||||
{
|
||||
id: base;
|
||||
|
||||
property real progress: UM.Backend.progress;
|
||||
property bool activity: Printer.getPlatformActivity;
|
||||
Behavior on progress { NumberAnimation { duration: 250; } }
|
||||
property int totalHeight: childrenRect.height
|
||||
|
||||
property variant printDuration: PrintInformation.currentPrintTime;
|
||||
property real printMaterialAmount: PrintInformation.materialAmount;
|
||||
|
||||
Rectangle{
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
Rectangle
|
||||
{
|
||||
id: background
|
||||
implicitWidth: base.width;
|
||||
implicitHeight: parent.height;
|
||||
|
@ -26,7 +29,8 @@ Rectangle {
|
|||
border.width: UM.Theme.sizes.save_button_border.width
|
||||
border.color: UM.Theme.colors.save_button_border
|
||||
|
||||
Rectangle {
|
||||
Rectangle
|
||||
{
|
||||
id: infoBox
|
||||
width: parent.width - UM.Theme.sizes.default_margin.width * 2;
|
||||
height: UM.Theme.sizes.save_button_slicing_bar.height
|
||||
|
@ -35,94 +39,150 @@ Rectangle {
|
|||
anchors.topMargin: UM.Theme.sizes.default_margin.height;
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width;
|
||||
|
||||
border.width: UM.Theme.sizes.save_button_border.width
|
||||
border.color: UM.Theme.colors.save_button_border
|
||||
color: UM.Theme.colors.save_button_estimated_text_background;
|
||||
Label {
|
||||
id: label;
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.sizes.save_button_text_margin.width;
|
||||
visible: base.progress >= 0 && base.progress < 0.99 ? false : true
|
||||
color: UM.Theme.colors.save_button_estimated_text;
|
||||
font: UM.Theme.fonts.small;
|
||||
text: {
|
||||
if(base.activity == false) {
|
||||
//: Save button label
|
||||
return qsTr("Please load a 3D model");
|
||||
} else if (base.progress < 0.99) {
|
||||
//: Save button label
|
||||
return qsTr("Calculating Print-time");
|
||||
} else if (base.printDuration.days > 0 || base.progress == null){
|
||||
return qsTr("");
|
||||
}
|
||||
else if (base.progress > 0.99){
|
||||
//: Save button label
|
||||
return qsTr("Estimated Print-time");
|
||||
}
|
||||
return "";
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
//font: UM.Theme.fonts.default;
|
||||
color: UM.Theme.colors.text_white
|
||||
}
|
||||
TextField
|
||||
{
|
||||
id: printJobTextfield
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.sizes.default_margin.width;
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: parent.width/100*55
|
||||
height: UM.Theme.sizes.sidebar_inputFields.height
|
||||
property int unremovableSpacing: 5
|
||||
text: "UM2" + "_" + "filename" ///TODO KOMT NOG
|
||||
onEditingFinished:
|
||||
{
|
||||
if (printJobTextfield.text != '')
|
||||
{
|
||||
printJobTextfield.focus = false
|
||||
}
|
||||
}
|
||||
Label {
|
||||
id: printDurationLabel
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: label.right;
|
||||
anchors.leftMargin: UM.Theme.sizes.save_button_text_margin.width;
|
||||
color: UM.Theme.colors.save_button_printtime_text;
|
||||
font: UM.Theme.fonts.small;
|
||||
visible: base.activity == false || base.progress < 0.99 ? false : true
|
||||
text: (!base.printDuration || !base.printDuration.valid) ? "" : base.printDuration.getDisplayString(UM.DurationFormat.Long);
|
||||
validator: RegExpValidator
|
||||
{
|
||||
regExp: /^[0-9a-zA-Z\_\-]*$/
|
||||
}
|
||||
Label {
|
||||
id: printMaterialLabel
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: printDurationLabel.right;
|
||||
anchors.leftMargin: UM.Theme.sizes.save_button_text_margin.width;
|
||||
color: base.printDuration.days > 0 ? UM.Theme.colors.save_button_estimated_text : UM.Theme.colors.save_button_printtime_text;
|
||||
font: UM.Theme.fonts.small;
|
||||
property bool mediumLengthDuration: base.printDuration.hours > 9 && base.printMaterialAmount > 9.99 && base.printDuration.days == 0
|
||||
width: mediumLengthDuration ? 50 : undefined
|
||||
elide: mediumLengthDuration ? Text.ElideRight : Text.ElideNone
|
||||
visible: base.activity == false || base.progress < 0.99 ? false : true
|
||||
//: Print material amount save button label
|
||||
text: base.printMaterialAmount < 0 ? "" : qsTr("%1m of Material").arg(base.printMaterialAmount);
|
||||
style: TextFieldStyle
|
||||
{
|
||||
textColor: UM.Theme.colors.setting_control_text;
|
||||
font: UM.Theme.fonts.default;
|
||||
background: Rectangle
|
||||
{
|
||||
radius: 0
|
||||
implicitWidth: parent.width
|
||||
implicitHeight: parent.height
|
||||
border.width: 1;
|
||||
border.color: UM.Theme.colors.slider_groove_border;
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: infoBoxOverlay
|
||||
anchors {
|
||||
left: infoBox.left;
|
||||
top: infoBox.top;
|
||||
bottom: infoBox.bottom;
|
||||
}
|
||||
width: Math.max(infoBox.width * base.progress);
|
||||
color: UM.Theme.colors.save_button_active
|
||||
visible: progress > 0.99 ? false : true
|
||||
}
|
||||
}
|
||||
|
||||
Button {
|
||||
id: saveToButton
|
||||
anchors.top: infoBox.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.save_button_text_margin.height;
|
||||
Rectangle
|
||||
{
|
||||
id: specsRow
|
||||
implicitWidth: base.width
|
||||
implicitHeight: UM.Theme.sizes.sidebar_specs_bar.height
|
||||
anchors.top: printJobRow.bottom
|
||||
Item
|
||||
{
|
||||
id: time
|
||||
width: (parent.width / 100 * 45) - UM.Theme.sizes.default_margin.width * 2
|
||||
height: parent.height
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width
|
||||
anchors.top: parent.top
|
||||
visible: base.printMaterialAmount > 0 ? true : false
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: timeIcon
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
width: UM.Theme.sizes.save_button_specs_icons.width
|
||||
height: UM.Theme.sizes.save_button_specs_icons.height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: UM.Theme.colors.text_hover
|
||||
source: UM.Theme.icons.print_time;
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: timeSpec
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: timeIcon.right
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width/2
|
||||
font: UM.Theme.fonts.default
|
||||
color: UM.Theme.colors.text
|
||||
text: (!base.printDuration || !base.printDuration.valid) ? "" : catalog.i18nc("@label","%1 h:m").arg(base.printDuration.getDisplayString(UM.DurationFormat.Short))
|
||||
}
|
||||
}
|
||||
Item
|
||||
{
|
||||
width: parent.width / 100 * 55
|
||||
height: parent.height
|
||||
anchors.left: time.right
|
||||
anchors.top: parent.top
|
||||
visible: base.printMaterialAmount > 0 ? true : false
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: lengthIcon
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
width: UM.Theme.sizes.save_button_specs_icons.width
|
||||
height: UM.Theme.sizes.save_button_specs_icons.height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: UM.Theme.colors.text_hover
|
||||
source: UM.Theme.icons.category_material;
|
||||
}
|
||||
Label
|
||||
{
|
||||
id: lengthSpec
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: lengthIcon.right
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width/2
|
||||
font: UM.Theme.fonts.default
|
||||
color: UM.Theme.colors.text
|
||||
text: base.printMaterialAmount <= 0 ? "" : catalog.i18nc("@label","%1 m").arg(base.printMaterialAmount)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: saveRow
|
||||
implicitWidth: base.width / 100 * 55
|
||||
implicitHeight: saveToButton.height + (UM.Theme.sizes.default_margin.height / 2) // height + bottomMargin
|
||||
anchors.top: specsRow.bottom
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.sizes.default_margin.width
|
||||
|
||||
Button
|
||||
{
|
||||
id: saveToButton
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.sizes.default_margin.width;
|
||||
tooltip: UM.OutputDeviceManager.activeDeviceDescription;
|
||||
enabled: progress > 0.99 && base.activity == true
|
||||
|
||||
width: infoBox.width/6*4.5
|
||||
width: parent.width - UM.Theme.sizes.save_button_save_to_button.height - 2
|
||||
height: UM.Theme.sizes.save_button_save_to_button.height
|
||||
|
||||
text: UM.OutputDeviceManager.activeDeviceShortDescription;
|
||||
|
||||
style: ButtonStyle {
|
||||
background: Rectangle {
|
||||
color: !control.enabled ? UM.Theme.colors.save_button_inactive : control.hovered ? UM.Theme.colors.save_button_active_hover : UM.Theme.colors.save_button_active;
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
color: control.hovered ? UM.Theme.colors.load_save_button_hover : UM.Theme.colors.load_save_button
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
anchors.centerIn: parent
|
||||
color: UM.Theme.colors.save_button_safe_to_text;
|
||||
font: UM.Theme.fonts.sidebar_save_to;
|
||||
color: UM.Theme.colors.load_save_button_text
|
||||
font: UM.Theme.fonts.default
|
||||
text: control.text;
|
||||
}
|
||||
}
|
||||
|
@ -131,66 +191,54 @@ Rectangle {
|
|||
onClicked: UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice)
|
||||
}
|
||||
|
||||
Button {
|
||||
Button
|
||||
{
|
||||
id: deviceSelectionMenu;
|
||||
anchors.top: infoBox.bottom
|
||||
anchors.topMargin: UM.Theme.sizes.save_button_text_margin.height
|
||||
tooltip: catalog.i18nc("@action:button","Select the active output device");
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.sizes.default_margin.width;
|
||||
|
||||
tooltip: qsTr("Select the active output device");
|
||||
|
||||
width: infoBox.width/6*1.3 - UM.Theme.sizes.save_button_text_margin.height;
|
||||
width: UM.Theme.sizes.save_button_save_to_button.height
|
||||
height: UM.Theme.sizes.save_button_save_to_button.height
|
||||
|
||||
iconSource: UM.Theme.icons[UM.OutputDeviceManager.activeDeviceIconName];
|
||||
//iconSource: UM.Theme.icons[UM.OutputDeviceManager.activeDeviceIconName];
|
||||
|
||||
style: ButtonStyle {
|
||||
background: Rectangle {
|
||||
color: UM.Theme.colors.save_button_background;
|
||||
border.width: control.hovered ? UM.Theme.sizes.save_button_border.width : 0
|
||||
border.color: UM.Theme.colors.save_button_border
|
||||
id: deviceSelectionIcon
|
||||
color: control.hovered ? UM.Theme.colors.load_save_button_hover : UM.Theme.colors.load_save_button
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.sizes.save_button_text_margin.width / 2;
|
||||
width: parent.height
|
||||
height: parent.height
|
||||
|
||||
Rectangle {
|
||||
id: deviceSelectionIcon
|
||||
color: UM.Theme.colors.save_button_background;
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.sizes.save_button_text_margin.width / 2;
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
width: parent.height - UM.Theme.sizes.save_button_text_margin.width ;
|
||||
height: parent.height - UM.Theme.sizes.save_button_text_margin.width;
|
||||
|
||||
UM.RecolorImage {
|
||||
anchors.fill: parent;
|
||||
sourceSize.width: width;
|
||||
sourceSize.height: height;
|
||||
color: UM.Theme.colors.save_button_active
|
||||
source: control.iconSource;
|
||||
}
|
||||
}
|
||||
Label {
|
||||
id: deviceSelectionArrow
|
||||
anchors.right: parent.right;
|
||||
anchors.rightMargin: UM.Theme.sizes.save_button_text_margin.height
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
text: "▼";
|
||||
font: UM.Theme.fonts.tiny;
|
||||
color: UM.Theme.colors.save_button_active;
|
||||
UM.RecolorImage {
|
||||
id: lengthIcon
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: UM.Theme.sizes.standard_arrow.width
|
||||
height: UM.Theme.sizes.standard_arrow.height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: UM.Theme.colors.load_save_button_text
|
||||
source: UM.Theme.icons.arrow_bottom
|
||||
}
|
||||
}
|
||||
label: Item { }
|
||||
label: Label{ }
|
||||
}
|
||||
|
||||
menu: Menu {
|
||||
menu: Menu
|
||||
{
|
||||
id: devicesMenu;
|
||||
Instantiator {
|
||||
Instantiator
|
||||
{
|
||||
model: devicesModel;
|
||||
MenuItem {
|
||||
MenuItem
|
||||
{
|
||||
text: model.description
|
||||
checkable: true;
|
||||
checked: model.id == UM.OutputDeviceManager.activeDevice;
|
||||
exclusiveGroup: devicesMenuGroup;
|
||||
onTriggered: {
|
||||
onTriggered:
|
||||
{
|
||||
UM.OutputDeviceManager.setActiveDevice(model.id);
|
||||
}
|
||||
}
|
||||
|
@ -200,9 +248,6 @@ Rectangle {
|
|||
ExclusiveGroup { id: devicesMenuGroup; }
|
||||
}
|
||||
}
|
||||
UM.OutputDevicesModel { id: devicesModel; }
|
||||
}
|
||||
|
||||
UM.OutputDevicesModel {
|
||||
id: devicesModel;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,42 +6,50 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
Rectangle {
|
||||
Rectangle
|
||||
{
|
||||
id: base;
|
||||
|
||||
property Action addMachineAction;
|
||||
property Action configureMachinesAction;
|
||||
|
||||
color: UM.Theme.colors.sidebar;
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
|
||||
function showTooltip(item, position, text) {
|
||||
function showTooltip(item, position, text)
|
||||
{
|
||||
tooltip.text = text;
|
||||
position = item.mapToItem(base, position.x, position.y / 2);
|
||||
tooltip.show(position);
|
||||
}
|
||||
|
||||
function hideTooltip() {
|
||||
function hideTooltip()
|
||||
{
|
||||
tooltip.hide();
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.AllButtons;
|
||||
|
||||
onWheel: {
|
||||
onWheel:
|
||||
{
|
||||
wheel.accepted = true;
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
ColumnLayout
|
||||
{
|
||||
anchors.fill: parent;
|
||||
anchors.topMargin: UM.Theme.sizes.default_margin.height;
|
||||
|
||||
spacing: UM.Theme.sizes.default_margin.height;
|
||||
|
||||
SidebarHeader {
|
||||
SidebarHeader
|
||||
{
|
||||
id: header;
|
||||
|
||||
Layout.fillWidth: true;
|
||||
|
@ -50,9 +58,11 @@ Rectangle {
|
|||
configureMachinesAction: base.configureMachinesAction;
|
||||
modesModel: modesListModel;
|
||||
|
||||
currentModeIndex: {
|
||||
currentModeIndex:
|
||||
{
|
||||
var index = parseInt(UM.Preferences.getValue("cura/active_mode"))
|
||||
if(index) {
|
||||
if(index)
|
||||
{
|
||||
return index;
|
||||
}
|
||||
return 0;
|
||||
|
@ -60,7 +70,8 @@ Rectangle {
|
|||
onCurrentModeIndexChanged: UM.Preferences.setValue("cura/active_mode", currentModeIndex);
|
||||
}
|
||||
|
||||
Loader {
|
||||
Loader
|
||||
{
|
||||
id: sidebarContents;
|
||||
|
||||
Layout.fillWidth: true;
|
||||
|
@ -87,18 +98,21 @@ Rectangle {
|
|||
}
|
||||
}
|
||||
|
||||
SaveButton {
|
||||
SaveButton
|
||||
{
|
||||
id: saveButton;
|
||||
implicitWidth: base.width
|
||||
implicitHeight: UM.Theme.sizes.save_button_text_margin.height * 2 + UM.Theme.sizes.save_button_slicing_bar.height + UM.Theme.sizes.save_button_save_to_button.height + UM.Theme.sizes.default_margin.height
|
||||
implicitHeight: totalHeight
|
||||
}
|
||||
}
|
||||
|
||||
SidebarTooltip {
|
||||
SidebarTooltip
|
||||
{
|
||||
id: tooltip;
|
||||
}
|
||||
|
||||
ListModel {
|
||||
ListModel
|
||||
{
|
||||
id: modesListModel;
|
||||
//: Simple configuration mode option
|
||||
ListElement { text: QT_TR_NOOP("Simple"); file: "SidebarSimple.qml" }
|
||||
|
@ -106,10 +120,11 @@ Rectangle {
|
|||
ListElement { text: QT_TR_NOOP("Advanced"); file: "SidebarAdvanced.qml" }
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
Component.onCompleted:
|
||||
{
|
||||
for(var i = 0; i < modesListModel.count; ++i)
|
||||
{
|
||||
modesListModel.setProperty(i, "text", qsTr(modesListModel.get(i).text));
|
||||
modesListModel.setProperty(i, "text", catalog.i18nc("@label", modesListModel.get(i).text));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,9 +6,10 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
Column {
|
||||
Column
|
||||
{
|
||||
id: base;
|
||||
|
||||
property variant modesModel;
|
||||
|
@ -17,37 +18,43 @@ Column {
|
|||
property Action configureMachinesAction;
|
||||
|
||||
spacing: UM.Theme.sizes.default_margin.height;
|
||||
|
||||
RowLayout {
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
RowLayout
|
||||
{
|
||||
anchors.horizontalCenter: parent.horizontalCenter;
|
||||
|
||||
width: parent.width - UM.Theme.sizes.default_margin.width * 2;
|
||||
height: UM.Theme.sizes.line.height;
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
//: Configuration mode label
|
||||
text: qsTr("Mode:");
|
||||
text: catalog.i18nc("@label","Mode:");
|
||||
|
||||
font: UM.Theme.fonts.sidebar_header;
|
||||
color: UM.Theme.colors.text_inactive;
|
||||
}
|
||||
|
||||
ToolButton {
|
||||
ToolButton
|
||||
{
|
||||
text: base.modesModel ? base.modesModel.get(modeMenu.currentIndex).text : "";
|
||||
|
||||
style: UM.Theme.styles.sidebar_header_button;
|
||||
|
||||
Layout.preferredWidth: base.width * 0.25;
|
||||
|
||||
menu: Menu {
|
||||
menu: Menu
|
||||
{
|
||||
id: modeMenu;
|
||||
|
||||
property int currentIndex: 0;
|
||||
|
||||
Instantiator {
|
||||
Instantiator
|
||||
{
|
||||
model: base.modesModel;
|
||||
|
||||
MenuItem {
|
||||
MenuItem
|
||||
{
|
||||
text: model.text;
|
||||
checkable: true;
|
||||
checked: modeMenu.currentIndex == index;
|
||||
|
@ -62,21 +69,24 @@ Column {
|
|||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
Rectangle
|
||||
{
|
||||
width: 1;
|
||||
height: parent.height;
|
||||
color: UM.Theme.colors.border;
|
||||
}
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
//: Machine selection label
|
||||
text: qsTr("Machine:");
|
||||
text: catalog.i18nc("@label","Machine:");
|
||||
|
||||
font: UM.Theme.fonts.sidebar_header;
|
||||
color: UM.Theme.colors.text_inactive;
|
||||
}
|
||||
|
||||
ToolButton {
|
||||
ToolButton
|
||||
{
|
||||
id: machineButton;
|
||||
text: UM.Application.machineName;
|
||||
tooltip: UM.Application.machineName;
|
||||
|
@ -85,11 +95,14 @@ Column {
|
|||
|
||||
Layout.fillWidth: true;
|
||||
|
||||
menu: Menu {
|
||||
menu: Menu
|
||||
{
|
||||
id: machineMenu;
|
||||
Instantiator {
|
||||
Instantiator
|
||||
{
|
||||
model: UM.Models.machinesModel
|
||||
MenuItem {
|
||||
MenuItem
|
||||
{
|
||||
text: model.name;
|
||||
checkable: true;
|
||||
checked: model.active;
|
||||
|
@ -110,14 +123,15 @@ Column {
|
|||
}
|
||||
}
|
||||
|
||||
UM.SidebarCategoryHeader {
|
||||
UM.SidebarCategoryHeader
|
||||
{
|
||||
width: parent.width;
|
||||
height: UM.Theme.sizes.section.height;
|
||||
|
||||
iconSource: UM.Theme.icons.printsetup;
|
||||
|
||||
//: Sidebar header label
|
||||
text: qsTr("Print Setup");
|
||||
text: catalog.i18nc("@label","Print Setup");
|
||||
enabled: false;
|
||||
|
||||
color: UM.Theme.colors.primary;
|
||||
|
|
|
@ -6,9 +6,10 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
Item {
|
||||
Item
|
||||
{
|
||||
id: base;
|
||||
|
||||
anchors.fill: parent;
|
||||
|
@ -22,44 +23,47 @@ Item {
|
|||
|
||||
Component.onCompleted: PrintInformation.enabled = true
|
||||
Component.onDestruction: PrintInformation.enabled = false
|
||||
|
||||
ColumnLayout {
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
ColumnLayout
|
||||
{
|
||||
anchors.fill: parent;
|
||||
|
||||
Item {
|
||||
Item
|
||||
{
|
||||
Layout.fillWidth: true;
|
||||
Layout.preferredHeight: UM.Theme.sizes.section.height;
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
anchors.left: parent.left;
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
text: base.minimumPrintTime.valid ? base.minimumPrintTime.getDisplayString(UM.DurationFormat.Short) : "??:??";
|
||||
font: UM.Theme.fonts.timeslider_time;
|
||||
color: UM.Theme.colors.primary;
|
||||
}
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
anchors.centerIn: parent;
|
||||
text: {
|
||||
text: //: Sidebar configuration label
|
||||
{
|
||||
if (UM.Backend.progress < 0)
|
||||
{
|
||||
//: Sidebar configuration label
|
||||
return qsTr("No Model Loaded");
|
||||
return catalog.i18nc("@label","No Model Loaded");
|
||||
}
|
||||
else if (!base.minimumPrintTime.valid || !base.maximumPrintTime.valid)
|
||||
{
|
||||
//: Sidebar configuration label
|
||||
return qsTr("Calculating...")
|
||||
return catalog.i18nc("@label","Calculating...")
|
||||
}
|
||||
else
|
||||
{
|
||||
//: Sidebar configuration label
|
||||
return qsTr("Estimated Print Time");
|
||||
return catalog.i18nc("@label","Estimated Print Time");
|
||||
}
|
||||
}
|
||||
color: UM.Theme.colors.text;
|
||||
font: UM.Theme.fonts.default;
|
||||
}
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
anchors.right: parent.right;
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
text: base.maximumPrintTime.valid ? base.maximumPrintTime.getDisplayString(UM.DurationFormat.Short) : "??:??";
|
||||
|
@ -68,7 +72,8 @@ Item {
|
|||
}
|
||||
}
|
||||
|
||||
Slider {
|
||||
Slider
|
||||
{
|
||||
Layout.fillWidth: true;
|
||||
Layout.preferredHeight: UM.Theme.sizes.section.height;
|
||||
|
||||
|
@ -81,38 +86,42 @@ Item {
|
|||
style: UM.Theme.styles.slider;
|
||||
}
|
||||
|
||||
Item {
|
||||
Item
|
||||
{
|
||||
Layout.fillWidth: true;
|
||||
Layout.preferredHeight: UM.Theme.sizes.section.height;
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
anchors.left: parent.left;
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
|
||||
//: Quality slider label
|
||||
text: qsTr("Minimum\nDraft");
|
||||
text: catalog.i18nc("@label","Minimum\nDraft");
|
||||
color: UM.Theme.colors.text;
|
||||
font: UM.Theme.fonts.default;
|
||||
}
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
anchors.right: parent.right;
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
|
||||
//: Quality slider label
|
||||
text: qsTr("Maximum\nQuality");
|
||||
text: catalog.i18nc("@label","Maximum\nQuality");
|
||||
horizontalAlignment: Text.AlignRight;
|
||||
color: UM.Theme.colors.text;
|
||||
font: UM.Theme.fonts.default;
|
||||
}
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
CheckBox
|
||||
{
|
||||
Layout.fillWidth: true;
|
||||
Layout.preferredHeight: UM.Theme.sizes.section.height;
|
||||
|
||||
//: Setting checkbox
|
||||
text: qsTr("Enable Support");
|
||||
text: catalog.i18nc("@action:checkbox","Enable Support");
|
||||
|
||||
style: UM.Theme.styles.checkbox;
|
||||
|
||||
|
|
|
@ -13,8 +13,9 @@ Item {
|
|||
|
||||
width: buttons.width;
|
||||
height: buttons.height
|
||||
property int activeY
|
||||
|
||||
RowLayout {
|
||||
ColumnLayout {
|
||||
id: buttons;
|
||||
|
||||
anchors.bottom: parent.bottom;
|
||||
|
@ -39,26 +40,30 @@ Item {
|
|||
//just catch the click so we do not trigger that behaviour.
|
||||
MouseArea {
|
||||
anchors.fill: parent;
|
||||
onClicked: parent.checked ? UM.Controller.setActiveTool(null) : UM.Controller.setActiveTool(model.id);
|
||||
onClicked: {
|
||||
parent.checked ? UM.Controller.setActiveTool(null) : UM.Controller.setActiveTool(model.id);
|
||||
base.activeY = parent.y
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: base.width - 10
|
||||
height: base.height
|
||||
z: parent.z - 1
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
color: UM.Theme.colors.lining
|
||||
}
|
||||
width: base.width
|
||||
height: base.height
|
||||
z: parent.z - 1
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
color: UM.Theme.colors.lining
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: panelBackground;
|
||||
|
||||
anchors.left: parent.left;
|
||||
anchors.top: buttons.bottom;
|
||||
anchors.left: parent.right;
|
||||
y: base.activeY
|
||||
|
||||
width: panel.item ? Math.max(panel.width + 2 * UM.Theme.sizes.default_margin.width) : 0;
|
||||
height: panel.item ? panel.height + 2 * UM.Theme.sizes.default_margin.height : 0;
|
||||
|
|
|
@ -6,14 +6,14 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
UM.PreferencesPage
|
||||
{
|
||||
id: preferencesPage
|
||||
|
||||
//: View configuration page title
|
||||
title: qsTr("View");
|
||||
title: catalog.i18nc("@title:window","View");
|
||||
|
||||
function reset()
|
||||
{
|
||||
|
@ -26,7 +26,7 @@ UM.PreferencesPage
|
|||
GridLayout
|
||||
{
|
||||
columns: 2;
|
||||
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
CheckBox
|
||||
{
|
||||
id: overhangCheckbox
|
||||
|
@ -38,18 +38,21 @@ UM.PreferencesPage
|
|||
id: viewText //is a button so the user doesn't have te click inconvenientley precise to enable or disable the checkbox
|
||||
|
||||
//: Display Overhang preference checkbox
|
||||
text: qsTr("Display Overhang");
|
||||
text: catalog.i18nc("@action:button","Display Overhang");
|
||||
onClicked: overhangCheckbox.checked = !overhangCheckbox.checked
|
||||
|
||||
//: Display Overhang preference tooltip
|
||||
tooltip: "Highlight unsupported areas of the model in red. Without support these areas will nog print properly."
|
||||
tooltip: catalog.i18nc("@info:tooltip","Highlight unsupported areas of the model in red. Without support these areas will nog print properly."
|
||||
|
||||
style: ButtonStyle {
|
||||
background: Rectangle {
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
border.width: 0
|
||||
color: "transparent"
|
||||
}
|
||||
label: Text {
|
||||
label: Text
|
||||
{
|
||||
renderType: Text.NativeRendering
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
text: control.text
|
||||
|
@ -68,11 +71,11 @@ UM.PreferencesPage
|
|||
id: centerText //is a button so the user doesn't have te click inconvenientley precise to enable or disable the checkbox
|
||||
|
||||
//: Display Overhang preference checkbox
|
||||
text: qsTr("Center camera when item is selected");
|
||||
text: catalog.i18nc("@action:button","Center camera when item is selected");
|
||||
onClicked: centerCheckbox.checked = !centerCheckbox.checked
|
||||
|
||||
//: Display Overhang preference tooltip
|
||||
tooltip: "Moves the camera so the object is in the center of the view when an object is selected"
|
||||
tooltip: catalog.i18nc("@info:tooltip","Moves the camera so the object is in the center of the view when an object is selected")
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
|
|
|
@ -7,7 +7,7 @@ import QtQuick.Layouts 1.1
|
|||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
import ".."
|
||||
|
||||
ColumnLayout
|
||||
|
@ -19,12 +19,12 @@ ColumnLayout
|
|||
property var manufacturers: wizardPage.lineManufacturers()
|
||||
property int manufacturerIndex: 0
|
||||
|
||||
SystemPalette{id: palette}
|
||||
SystemPalette {id: palette}
|
||||
signal reloadModel(var newModel)
|
||||
|
||||
width: wizardPage.pageWidth
|
||||
height: wizardPage.pageHeight
|
||||
|
||||
UM.I18nCatalog { id: catalog; name: "cura"}
|
||||
Connections
|
||||
{
|
||||
target: elementRoot
|
||||
|
@ -62,7 +62,7 @@ ColumnLayout
|
|||
anchors.left: parent.left
|
||||
anchors.top: title.bottom
|
||||
//: Add Printer wizard page description
|
||||
text: qsTr("Please select the type of printer:");
|
||||
text: catalog.i18nc("@label","Please select the type of printer:");
|
||||
}
|
||||
|
||||
ScrollView
|
||||
|
@ -179,7 +179,7 @@ ColumnLayout
|
|||
visible: model.author != "Ultimaker" ? true : false
|
||||
height: wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer ? UM.Theme.sizes.standard_list_lineheight.height : 0
|
||||
//: Printer profile caption meaning: this profile is supported by the community
|
||||
text: qsTr("community supported profile");
|
||||
text: catalog.i18nc("@label","community supported profile");
|
||||
opacity: wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer ? 1 : 0
|
||||
anchors.left: machineButton.right
|
||||
anchors.leftMargin: UM.Theme.sizes.standard_list_lineheight.height/2
|
||||
|
@ -231,7 +231,7 @@ ColumnLayout
|
|||
{
|
||||
id: insertNameLabel
|
||||
//: Add Printer wizard field label
|
||||
text: qsTr("Printer Name:");
|
||||
text: catalog.i18nc("@label","Printer Name:");
|
||||
}
|
||||
TextField
|
||||
{
|
||||
|
|
|
@ -6,7 +6,7 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
Item
|
||||
{
|
||||
|
@ -14,7 +14,7 @@ Item
|
|||
property string title
|
||||
|
||||
SystemPalette{id: palette}
|
||||
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
ScrollView
|
||||
{
|
||||
height: parent.height
|
||||
|
@ -36,7 +36,7 @@ Item
|
|||
//: Add UM Original wizard page description
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: qsTr("To assist you in having better default settings for your Ultimaker. Cura would like to know which upgrades you have in your machine:")
|
||||
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
|
||||
|
@ -46,19 +46,19 @@ Item
|
|||
|
||||
CheckBox
|
||||
{
|
||||
text: qsTr("Extruder driver ugrades")
|
||||
text: catalog.i18nc("@action:checkbox","Extruder driver ugrades")
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: qsTr("Heated printer bed (kit)")
|
||||
text: catalog.i18nc("@action:checkbox","Heated printer bed (kit)")
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: qsTr("Heated printer bed (self built)")
|
||||
text: catalog.i18nc("@action:checkbox","Heated printer bed (self built)")
|
||||
}
|
||||
CheckBox
|
||||
{
|
||||
text: qsTr("Dual extrusion (experimental)")
|
||||
text: catalog.i18nc("@action:checkbox","Dual extrusion (experimental)")
|
||||
checked: true
|
||||
}
|
||||
}
|
||||
|
@ -67,14 +67,14 @@ Item
|
|||
{
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: qsTr("If you have an Ultimaker bought after october 2012 you will have the Extruder drive upgrade. If you do not have this upgrade, it is highly recommended to improve reliability.");
|
||||
text: catalog.i18nc("@label","If you have an Ultimaker bought after october 2012 you will have the Extruder drive upgrade. If you do not have this upgrade, it is highly recommended to improve reliability.");
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
text: qsTr("This upgrade can be bought from the Ultimaker webshop or found on thingiverse as thing:26094");
|
||||
text: catalog.i18nc("@label","This upgrade can be bought from the Ultimaker webshop or found on thingiverse as thing:26094");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import QtQuick.Controls 1.1
|
|||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.0 as UM
|
||||
import UM 1.1 as UM
|
||||
|
||||
Column
|
||||
{
|
||||
|
@ -23,7 +23,7 @@ Column
|
|||
|
||||
Component.onCompleted: printer_connection.startPollEndstop()
|
||||
Component.onDestruction: printer_connection.stopPollEndstop()
|
||||
|
||||
UM.I18nCatalog { id: catalog; name:"cura"}
|
||||
Label
|
||||
{
|
||||
text: parent.title
|
||||
|
@ -33,14 +33,14 @@ Column
|
|||
Label
|
||||
{
|
||||
//: Add Printer wizard page description
|
||||
text: qsTr("It's a good idea to do a few sanity checks on your Ultimaker. \n You can skip these if you know your machine is functional");
|
||||
text: catalog.i18nc("@label","It's a good idea to do a few sanity checks on your Ultimaker. \n You can skip these if you know your machine is functional");
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
Label
|
||||
{
|
||||
text: qsTr("Connection: ")
|
||||
text: catalog.i18nc("@label","Connection: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
|
@ -51,22 +51,22 @@ Column
|
|||
{
|
||||
Label
|
||||
{
|
||||
text: qsTr("Min endstop X: ")
|
||||
text: catalog.i18nc("@label","Min endstop X: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: x_min_pressed ? qsTr("Works") : qsTr("Not checked")
|
||||
text: x_min_pressed ? catalog.i18nc("@label","Works") : catalog.i18nc("@label","Not checked")
|
||||
}
|
||||
}
|
||||
Row
|
||||
{
|
||||
Label
|
||||
{
|
||||
text: qsTr("Min endstop Y: ")
|
||||
text: catalog.i18nc("@label","Min endstop Y: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: y_min_pressed ? qsTr("Works") : qsTr("Not checked")
|
||||
text: y_min_pressed ? catalog.i18nc("@label","Works") : catalog.i18nc("@label","Not checked")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,11 +74,11 @@ Column
|
|||
{
|
||||
Label
|
||||
{
|
||||
text: qsTr("Min endstop Z: ")
|
||||
text: catalog.i18nc("@label","Min endstop Z: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: z_min_pressed ? qsTr("Works") : qsTr("Not checked")
|
||||
text: z_min_pressed ? catalog.i18nc("@label","Works") : catalog.i18nc("@label","Not checked")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,7 +86,7 @@ Column
|
|||
{
|
||||
Label
|
||||
{
|
||||
text: qsTr("Nozzle temperature check: ")
|
||||
text: catalog.i18nc("@label","Nozzle temperature check: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
|
@ -94,10 +94,10 @@ Column
|
|||
}
|
||||
Button
|
||||
{
|
||||
text: "Start heating"
|
||||
text: catalog.i18nc("@action:button","Start heating")
|
||||
onClicked:
|
||||
{
|
||||
heater_status_label.text = qsTr("Checking")
|
||||
heater_status_label.text = catalog.i18nc("@label","Checking")
|
||||
printer_connection.heatupNozzle(190)
|
||||
wizardPage.extruder_target_temp = 190
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ Column
|
|||
Label
|
||||
{
|
||||
id: heater_status_label
|
||||
text: qsTr("Not checked")
|
||||
text: catalog.i18nc("@label","Not checked")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ Column
|
|||
{
|
||||
Label
|
||||
{
|
||||
text: qsTr("bed temperature check: ")
|
||||
text: catalog.i18nc("@label","bed temperature check: ")
|
||||
}
|
||||
Label
|
||||
{
|
||||
|
@ -121,10 +121,10 @@ Column
|
|||
}
|
||||
Button
|
||||
{
|
||||
text: "Start heating"
|
||||
text: catalog.i18nc("@action:button","Start heating")
|
||||
onClicked:
|
||||
{
|
||||
bed_status_label.text = qsTr("Checking")
|
||||
bed_status_label.text = catalog.i18nc("@label","Checking")
|
||||
printer_connection.printer.heatupBed(60)
|
||||
wizardPage.bed_target_temp = 60
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ Column
|
|||
Label
|
||||
{
|
||||
id: bed_status_label
|
||||
text: qsTr("Not checked")
|
||||
text: catalog.i18nc("@label","Not checked")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -159,7 +159,7 @@ Column
|
|||
{
|
||||
if(printer_connection.extruderTemperature > wizardPage.extruder_target_temp - 10 && printer_connection.extruderTemperature < wizardPage.extruder_target_temp + 10)
|
||||
{
|
||||
heater_status_label.text = qsTr("Works")
|
||||
heater_status_label.text = catalog.i18nc("@label","Works")
|
||||
printer_connection.heatupNozzle(0)
|
||||
}
|
||||
}
|
||||
|
@ -167,7 +167,7 @@ Column
|
|||
{
|
||||
if(printer_connection.bedTemperature > wizardPage.bed_target_temp - 5 && printer_connection.bedTemperature < wizardPage.bed_target_temp + 5)
|
||||
{
|
||||
bed_status_label.text = qsTr("Works")
|
||||
bed_status_label.text = catalog.i18nc("@label","Works")
|
||||
printer_connection.heatupBed(0)
|
||||
}
|
||||
}
|
||||
|
|
7
resources/themes/cura/icons/arrow_bottom.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?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 10 10" xml:space="preserve">
|
||||
<path d="M8.4,2.7c0.3-0.3,0.7-0.3,1,0c0.3,0.3,0.3,0.7,0,1L5.4,7.5c-0.3,0.3-0.7,0.3-1,0L0.6,3.6c-0.3-0.3-0.3-0.7,0-1
|
||||
c0.3-0.3,0.7-0.3,1,0L5,5.8L8.4,2.7z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 493 B |
7
resources/themes/cura/icons/arrow_left.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?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 10 10" xml:space="preserve">
|
||||
<path d="M7.4,8.5c0.3,0.3,0.3,0.7,0,1c-0.3,0.3-0.7,0.3-1,0L2.6,5.6c-0.3-0.3-0.3-0.7,0-1l3.8-3.9c0.3-0.3,0.7-0.3,1,0
|
||||
c0.3,0.3,0.3,0.7,0,1L4.2,5.1L7.4,8.5z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 495 B |
7
resources/themes/cura/icons/arrow_right.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?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 10 10" xml:space="preserve">
|
||||
<path d="M2.6,1.7c-0.3-0.3-0.3-0.7,0-1c0.3-0.3,0.7-0.3,1,0l3.8,3.9c0.3,0.3,0.3,0.7,0,1L3.5,9.5c-0.3,0.3-0.7,0.3-1,0
|
||||
c-0.3-0.3-0.3-0.7,0-1l3.1-3.4L2.6,1.7z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 496 B |
7
resources/themes/cura/icons/arrow_top.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?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="-415 293.3 10 10" xml:space="preserve">
|
||||
<path d="M-413.5,300.8c-0.3,0.3-0.7,0.3-1,0s-0.3-0.7,0-1l3.9-3.8c0.3-0.3,0.7-0.3,1,0l3.9,3.8c0.3,0.3,0.3,0.7,0,1
|
||||
c-0.3,0.3-0.7,0.3-1,0l-3.3-3.2L-413.5,300.8z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 506 B |
16
resources/themes/cura/icons/basic.svg
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?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">
|
||||
<g>
|
||||
<rect x="0" y="24.4" width="6" height="2.1"/>
|
||||
<rect x="0" y="27.9" width="3" height="2.1"/>
|
||||
<rect x="0" y="21" width="9" height="2.1"/>
|
||||
<rect x="0" y="14" width="15" height="2.1"/>
|
||||
<rect x="0" y="17.5" width="12" height="2.1"/>
|
||||
<rect x="0" y="10.5" width="18" height="2.1"/>
|
||||
<rect x="0" y="3.5" width="24" height="2.1"/>
|
||||
<rect x="0" y="7" width="21" height="2.1"/>
|
||||
<rect x="0" y="0" width="27" height="2.1"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 773 B |
15
resources/themes/cura/icons/light.svg
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?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">
|
||||
<g>
|
||||
<g>
|
||||
<rect x="0" y="0" width="1.2" height="30"/>
|
||||
<rect x="28.8" y="0" width="1.2" height="30"/>
|
||||
<rect x="0" y="28.8" width="30" height="1.2"/>
|
||||
<rect x="0" y="0" width="30" height="1.2"/>
|
||||
</g>
|
||||
<rect x="14.4" y="-5.4" transform="matrix(0.7071 0.7071 -0.7071 0.7071 15.0003 -6.2132)" width="1.2" height="40.8"/>
|
||||
<rect x="14.4" y="-5.4" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -6.2132 14.9997)" width="1.2" height="40.8"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 791 B |
19
resources/themes/cura/icons/medium.svg
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?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">
|
||||
<g>
|
||||
<g>
|
||||
<rect x="0" y="0" width="1.2" height="30"/>
|
||||
<rect x="28.8" y="0" width="1.2" height="30"/>
|
||||
<rect x="0" y="28.8" width="30" height="1.2"/>
|
||||
<rect x="0" y="0" width="30" height="1.2"/>
|
||||
</g>
|
||||
<rect x="14.4" y="-5.4" transform="matrix(0.7071 0.7071 -0.7071 0.7071 14.9999 -6.2122)" width="1.2" height="40.8"/>
|
||||
<polygon points="0.7,10 0.1,8.9 9,0.1 9.8,0.9 "/>
|
||||
<rect x="24.5" y="19" transform="matrix(0.7071 0.7071 -0.7071 0.7071 25.0689 -10.4098)" width="1.2" height="12.2"/>
|
||||
<rect x="14.4" y="-5.4" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -6.2136 14.9987)" width="1.2" height="40.8"/>
|
||||
<polyline points="0.8,20.1 9.6,29 8.8,29.8 0,21 "/>
|
||||
<rect x="24.5" y="-1.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 3.8484 19.2136)" width="1.2" height="12.2"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
8
resources/themes/cura/icons/plus.svg
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?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 20 20" xml:space="preserve">
|
||||
<rect x="0" y="0" width="20" height="20"/>
|
||||
<polygon fill="#FFFFFF" points="16.5,11.3 11.3,11.3 11.3,16.5 8.7,16.5 8.7,11.3 3.5,11.3 3.5,8.7 8.7,8.7 8.7,3.5 11.3,3.5
|
||||
11.3,8.7 16.5,8.7 "/>
|
||||
</svg>
|
After Width: | Height: | Size: 527 B |
8
resources/themes/cura/icons/print_time.svg
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?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"/>
|
||||
</svg>
|
After Width: | Height: | Size: 670 B |
10
resources/themes/cura/icons/quick.svg
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?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">
|
||||
<g>
|
||||
<rect x="0" width="27" height="8.5"/>
|
||||
<rect x="0" y="10.7" width="18" height="8.5"/>
|
||||
<rect x="0" y="21.5" width="9" height="8.5"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 483 B |
7
resources/themes/cura/icons/setting_per_object.svg
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?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="M30,20L25.1,6.7L27.6,0H12.9l1.6,5H7.1H6.9H6.4l2.3,6H2.4l2.4,6.2L0,30h19.5l-1.7-4h7.5h0.1h0.6l-2.3-6H30z M17.5,25
|
||||
l-2.8-7.5l2.4-6.5H9.6L7.7,6h7.2h7.5l-2.4,6.4l2.9,7.6l2,5H17.5z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 526 B |
14
resources/themes/cura/icons/strong.svg
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?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">
|
||||
<g>
|
||||
<path d="M30,0L30,0L0,0v30h0h30V0z M12.4,28.8L1.2,17.6v-0.2L12.5,6.1l11.4,11.4L12.6,28.8H12.4z M1.2,7l4.4,4.4l-4.4,4.4V7z
|
||||
M1.2,19.3l4.4,4.4L1.2,28V19.3z M28.8,8.6l-7.4-7.4h7.4L28.8,8.6z M19.8,1.2l4.1,4.1l-5.3,5.3l-5.3-5.3l4.2-4.2H19.8z M15.8,1.2
|
||||
l-3.3,3.3L9.2,1.2H15.8z M1.2,1.2h6.4l4.2,4.2l-5.3,5.3L1.2,5.4V1.2z M2,28.8l4.4-4.4l4.4,4.4H2z M14.2,28.8l4.4-4.4l4.4,4.4H14.2z
|
||||
M28.8,28.8h-4.2l-5.2-5.2l5.3-5.3l4.1,4.1V28.8z M28.8,20.8l-3.3-3.3l3.3-3.3V20.8z M24.7,16.7l-5.3-5.3l5.3-5.3l4.1,4.1v2.3
|
||||
L24.7,16.7z"/>
|
||||
<rect x="12.7" y="3.3" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.0598 14.7879)" width="1.2" height="30"/>
|
||||
<rect x="15.1" y="-5.1" transform="matrix(0.7071 0.7071 -0.7071 0.7071 14.7286 -6.8835)" width="1.2" height="38.9"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
16
resources/themes/cura/icons/ulti.svg
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?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">
|
||||
<g>
|
||||
<rect x="0" y="24.4" width="6" height="2.1"/>
|
||||
<rect x="0" y="27.9" width="3" height="2.1"/>
|
||||
<rect x="0" y="21" width="9" height="2.1"/>
|
||||
<rect x="0" y="14" width="15" height="2.1"/>
|
||||
<rect x="0" y="17.5" width="12" height="2.1"/>
|
||||
<rect x="0" y="10.5" width="18" height="2.1"/>
|
||||
<rect x="0" y="3.5" width="24" height="2.1"/>
|
||||
<rect x="0" y="7" width="21" height="2.1"/>
|
||||
<rect x="0" y="0" width="27" height="2.1"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 773 B |
|
@ -67,11 +67,14 @@ QtObject {
|
|||
|
||||
Rectangle {
|
||||
id: tool_button_background
|
||||
anchors.top: parent.bottom
|
||||
anchors.left: parent.right
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
//anchors.top: parent.bottom
|
||||
|
||||
width: label.width > parent.width ? label.width : parent.width
|
||||
height: control.hovered ? label.height : 0;
|
||||
Behavior on height { NumberAnimation { duration: 100; } }
|
||||
//width: label.width > parent.width ? label.width : parent.width
|
||||
width: control.hovered ? label.width : 0;
|
||||
height: label.height
|
||||
Behavior on width { NumberAnimation { duration: 100; } }
|
||||
|
||||
opacity: control.hovered ? 1.0 : 0.0;
|
||||
Behavior on opacity { NumberAnimation { duration: 100; } }
|
||||
|
|
|
@ -32,10 +32,6 @@
|
|||
"capitalize": true,
|
||||
"family": "ProximaNova"
|
||||
},
|
||||
"sidebar_save_to": {
|
||||
"size": 1.0,
|
||||
"family": "ProximaNova"
|
||||
},
|
||||
"timeslider_time": {
|
||||
"size": 1.0,
|
||||
"bold": true,
|
||||
|
@ -64,9 +60,12 @@
|
|||
|
||||
"text": [140, 144, 154, 255],
|
||||
"text_inactive": [174, 174, 174, 255],
|
||||
"text_white": [255, 255, 255, 255],
|
||||
"text_hover": [35, 35, 35, 255],
|
||||
"text_pressed": [12, 169, 227, 255],
|
||||
|
||||
"sidebar_header_bar": [12, 169, 227, 255],
|
||||
|
||||
"button": [139, 143, 153, 255],
|
||||
"button_hover": [77, 184, 226, 255],
|
||||
"button_active": [32, 166, 219, 255],
|
||||
|
@ -142,14 +141,20 @@
|
|||
"window_margin": [2.0, 2.0],
|
||||
"default_margin": [1.0, 1.0],
|
||||
"default_lining": [0.1, 0.1],
|
||||
"panel": [22.0, 10.0],
|
||||
"logo": [9.5, 2.0],
|
||||
"toolbar_button": [2.0, 2.0],
|
||||
"toolbar_spacing": [1.0, 1.0],
|
||||
|
||||
|
||||
"loadfile_button": [11.0, 2.4],
|
||||
"loadfile_margin": [0.8, 0.4],
|
||||
|
||||
"sidebar": [24.0, 10.0],
|
||||
"sidebar_header": [0.0, 3.2],
|
||||
"sidebar_subParts": [0.0, 2.4],
|
||||
"sidebar_specs_bar": [0.0, 2.2],
|
||||
"sidebar_inputFields": [0.0, 1.9],
|
||||
|
||||
"section": [22.0, 3.0],
|
||||
"section_icon": [2.14, 2.14],
|
||||
"section_text_margin": [0.33, 0.33],
|
||||
|
@ -162,6 +167,7 @@
|
|||
|
||||
"standard_list_lineheight": [1.5, 1.5],
|
||||
"standard_list_input": [20.0, 25.0],
|
||||
"standard_arrow": [0.6, 0.6],
|
||||
|
||||
"button": [3.2, 3.2],
|
||||
"button_icon": [2.5, 2.5],
|
||||
|
@ -189,6 +195,7 @@
|
|||
"save_button_slicing_bar": [0.0, 2.2],
|
||||
"save_button_label_margin": [0.5, 0.5],
|
||||
"save_button_save_to_button": [0.3, 2.7],
|
||||
"save_button_specs_icons": [1.4, 1.4],
|
||||
|
||||
"modal_window_minimum": [30.0, 30.0],
|
||||
"wizard_progress": [10.0, 0.0],
|
||||
|
|