diff --git a/plugins/SliceInfoPlugin/SliceInfo.py b/plugins/SliceInfoPlugin/SliceInfo.py
index abbb1ac43b..70b31d8acd 100644
--- a/plugins/SliceInfoPlugin/SliceInfo.py
+++ b/plugins/SliceInfoPlugin/SliceInfo.py
@@ -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()
\ No newline at end of file
diff --git a/plugins/USBPrinting/ControlWindow.qml b/plugins/USBPrinting/ControlWindow.qml
index 7d83bd9ce1..74f3072aca 100644
--- a/plugins/USBPrinting/ControlWindow.qml
+++ b/plugins/USBPrinting/ControlWindow.qml
@@ -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
}
diff --git a/plugins/USBPrinting/FirmwareUpdateWindow.qml b/plugins/USBPrinting/FirmwareUpdateWindow.qml
index 12f4931697..55d3f60c62 100644
--- a/plugins/USBPrinting/FirmwareUpdateWindow.qml
+++ b/plugins/USBPrinting/FirmwareUpdateWindow.qml
@@ -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;
diff --git a/resources/qml/AboutDialog.qml b/resources/qml/AboutDialog.qml
index a736a7fbda..b81496f18c 100644
--- a/resources/qml/AboutDialog.qml
+++ b/resources/qml/AboutDialog.qml
@@ -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;
}
diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml
index 29bd573d12..338868812b 100644
--- a/resources/qml/Actions.qml
+++ b/resources/qml/Actions.qml
@@ -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";
}
}
diff --git a/resources/qml/AddMachineWizard.qml b/resources/qml/AddMachineWizard.qml
index c236c6a19d..af200d07c7 100644
--- a/resources/qml/AddMachineWizard.qml
+++ b/resources/qml/AddMachineWizard.qml
@@ -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
diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml
index e54a00d9d0..3ff1fb5200 100644
--- a/resources/qml/Cura.qml
+++ b/resources/qml/Cura.qml
@@ -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
}
diff --git a/resources/qml/EngineLog.qml b/resources/qml/EngineLog.qml
index 0248ba0ea7..db505bd7ec 100644
--- a/resources/qml/EngineLog.qml
+++ b/resources/qml/EngineLog.qml
@@ -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();
}
}
diff --git a/resources/qml/GeneralPage.qml b/resources/qml/GeneralPage.qml
index 1b12628e92..896da66104 100644
--- a/resources/qml/GeneralPage.qml
+++ b/resources/qml/GeneralPage.qml
@@ -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
{
diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml
index ec2066713f..5f3cb5cd5d 100644
--- a/resources/qml/SaveButton.qml
+++ b/resources/qml/SaveButton.qml
@@ -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;
- }
-}
+}
\ No newline at end of file
diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml
index 0c908fc789..60ebfb8a81 100644
--- a/resources/qml/Sidebar.qml
+++ b/resources/qml/Sidebar.qml
@@ -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));
}
}
}
diff --git a/resources/qml/SidebarHeader.qml b/resources/qml/SidebarHeader.qml
index efc6949668..1223b8ff70 100644
--- a/resources/qml/SidebarHeader.qml
+++ b/resources/qml/SidebarHeader.qml
@@ -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;
diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml
index c27f992031..4da532a837 100644
--- a/resources/qml/SidebarSimple.qml
+++ b/resources/qml/SidebarSimple.qml
@@ -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;
diff --git a/resources/qml/Toolbar.qml b/resources/qml/Toolbar.qml
index 542aceaa15..ca6b625b1b 100644
--- a/resources/qml/Toolbar.qml
+++ b/resources/qml/Toolbar.qml
@@ -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;
diff --git a/resources/qml/ViewPage.qml b/resources/qml/ViewPage.qml
index 952e7a9948..3bab4acd1a 100644
--- a/resources/qml/ViewPage.qml
+++ b/resources/qml/ViewPage.qml
@@ -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
{
diff --git a/resources/qml/WizardPages/AddMachine.qml b/resources/qml/WizardPages/AddMachine.qml
index 5491b5ad0b..3904005f13 100644
--- a/resources/qml/WizardPages/AddMachine.qml
+++ b/resources/qml/WizardPages/AddMachine.qml
@@ -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
{
diff --git a/resources/qml/WizardPages/SelectUpgradedParts.qml b/resources/qml/WizardPages/SelectUpgradedParts.qml
index 46fdd876af..e85c0f50aa 100644
--- a/resources/qml/WizardPages/SelectUpgradedParts.qml
+++ b/resources/qml/WizardPages/SelectUpgradedParts.qml
@@ -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");
}
}
}
diff --git a/resources/qml/WizardPages/UltimakerCheckup.qml b/resources/qml/WizardPages/UltimakerCheckup.qml
index acfe288e14..1b15afa59a 100644
--- a/resources/qml/WizardPages/UltimakerCheckup.qml
+++ b/resources/qml/WizardPages/UltimakerCheckup.qml
@@ -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)
}
}
diff --git a/resources/themes/cura/icons/arrow_bottom.svg b/resources/themes/cura/icons/arrow_bottom.svg
new file mode 100644
index 0000000000..792972dcba
--- /dev/null
+++ b/resources/themes/cura/icons/arrow_bottom.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/resources/themes/cura/icons/arrow_left.svg b/resources/themes/cura/icons/arrow_left.svg
new file mode 100644
index 0000000000..4d9ac60bde
--- /dev/null
+++ b/resources/themes/cura/icons/arrow_left.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/resources/themes/cura/icons/arrow_right.svg b/resources/themes/cura/icons/arrow_right.svg
new file mode 100644
index 0000000000..561b0c8200
--- /dev/null
+++ b/resources/themes/cura/icons/arrow_right.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/resources/themes/cura/icons/arrow_top.svg b/resources/themes/cura/icons/arrow_top.svg
new file mode 100644
index 0000000000..750783af0c
--- /dev/null
+++ b/resources/themes/cura/icons/arrow_top.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/resources/themes/cura/icons/basic.svg b/resources/themes/cura/icons/basic.svg
new file mode 100644
index 0000000000..48b2adad19
--- /dev/null
+++ b/resources/themes/cura/icons/basic.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/resources/themes/cura/icons/light.svg b/resources/themes/cura/icons/light.svg
new file mode 100644
index 0000000000..e32a7345b1
--- /dev/null
+++ b/resources/themes/cura/icons/light.svg
@@ -0,0 +1,15 @@
+
+
+
diff --git a/resources/themes/cura/icons/medium.svg b/resources/themes/cura/icons/medium.svg
new file mode 100644
index 0000000000..44097c21de
--- /dev/null
+++ b/resources/themes/cura/icons/medium.svg
@@ -0,0 +1,19 @@
+
+
+
diff --git a/resources/themes/cura/icons/plus.svg b/resources/themes/cura/icons/plus.svg
new file mode 100644
index 0000000000..a8f9f201ca
--- /dev/null
+++ b/resources/themes/cura/icons/plus.svg
@@ -0,0 +1,8 @@
+
+
+
diff --git a/resources/themes/cura/icons/print_time.svg b/resources/themes/cura/icons/print_time.svg
new file mode 100644
index 0000000000..787c7c3eb7
--- /dev/null
+++ b/resources/themes/cura/icons/print_time.svg
@@ -0,0 +1,8 @@
+
+
+
diff --git a/resources/themes/cura/icons/quick.svg b/resources/themes/cura/icons/quick.svg
new file mode 100644
index 0000000000..9b1c07a584
--- /dev/null
+++ b/resources/themes/cura/icons/quick.svg
@@ -0,0 +1,10 @@
+
+
+
diff --git a/resources/themes/cura/icons/setting_per_object.svg b/resources/themes/cura/icons/setting_per_object.svg
new file mode 100644
index 0000000000..9c5bd9bc8d
--- /dev/null
+++ b/resources/themes/cura/icons/setting_per_object.svg
@@ -0,0 +1,7 @@
+
+
+
diff --git a/resources/themes/cura/icons/strong.svg b/resources/themes/cura/icons/strong.svg
new file mode 100644
index 0000000000..9c527ecc92
--- /dev/null
+++ b/resources/themes/cura/icons/strong.svg
@@ -0,0 +1,14 @@
+
+
+
diff --git a/resources/themes/cura/icons/ulti.svg b/resources/themes/cura/icons/ulti.svg
new file mode 100644
index 0000000000..48b2adad19
--- /dev/null
+++ b/resources/themes/cura/icons/ulti.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/resources/themes/cura/styles.qml b/resources/themes/cura/styles.qml
index f5f93bf547..01267eadb3 100644
--- a/resources/themes/cura/styles.qml
+++ b/resources/themes/cura/styles.qml
@@ -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; } }
diff --git a/resources/themes/cura/theme.json b/resources/themes/cura/theme.json
index 6989cdc475..919abbda6f 100644
--- a/resources/themes/cura/theme.json
+++ b/resources/themes/cura/theme.json
@@ -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],