Merge pull request #571 from Ultimaker/feature_ux2-1_update

Updated Design rework for 2.1 release
This commit is contained in:
Ghostkeeper 2015-12-31 09:33:14 +01:00
commit 9544602df5
18 changed files with 276 additions and 280 deletions

View File

@ -1,8 +1,8 @@
# Copyright (c) 2015 Ultimaker B.V. # Copyright (c) 2015 Ultimaker B.V.
# Uranium is released under the terms of the AGPLv3 or higher. # Uranium is released under the terms of the AGPLv3 or higher.
from PyQt5.QtCore import Qt from PyQt5.QtCore import Qt, QCoreApplication
from PyQt5.QtGui import QPixmap, QColor, QFont from PyQt5.QtGui import QPixmap, QColor, QFont, QFontMetrics
from PyQt5.QtWidgets import QSplashScreen from PyQt5.QtWidgets import QSplashScreen
from UM.Resources import Resources from UM.Resources import Resources
@ -11,7 +11,10 @@ from UM.Application import Application
class CuraSplashScreen(QSplashScreen): class CuraSplashScreen(QSplashScreen):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
self.setPixmap(QPixmap(Resources.getPath(Resources.Images, "cura.png"))) self._scale = round(QFontMetrics(QCoreApplication.instance().font()).ascent() / 12)
splash_image = QPixmap(Resources.getPath(Resources.Images, "cura.png"))
self.setPixmap(splash_image.scaled(splash_image.size() * self._scale))
def drawContents(self, painter): def drawContents(self, painter):
painter.save() painter.save()
@ -20,10 +23,10 @@ class CuraSplashScreen(QSplashScreen):
version = Application.getInstance().getVersion().split("-") version = Application.getInstance().getVersion().split("-")
painter.setFont(QFont("Proxima Nova Rg", 20 )) painter.setFont(QFont("Proxima Nova Rg", 20 ))
painter.drawText(0, 0, 203, 230, Qt.AlignRight | Qt.AlignBottom, version[0]) painter.drawText(0, 0, 330 * self._scale, 230 * self._scale, Qt.AlignHCenter | Qt.AlignBottom, version[0])
if len(version) > 1: if len(version) > 1:
painter.setFont(QFont("Proxima Nova Rg", 12 )) painter.setFont(QFont("Proxima Nova Rg", 12 ))
painter.drawText(0, 0, 203, 255, Qt.AlignRight | Qt.AlignBottom, version[1]) painter.drawText(0, 0, 330 * self._scale, 255 * self._scale, Qt.AlignHCenter | Qt.AlignBottom, version[1])
painter.restore() painter.restore()
super().drawContents(painter) super().drawContents(painter)

View File

@ -18,7 +18,8 @@ def getMetaData():
}, },
"view": { "view": {
"name": catalog.i18nc("@item:inlistbox", "Layers"), "name": catalog.i18nc("@item:inlistbox", "Layers"),
"view_panel": "LayerView.qml" "view_panel": "LayerView.qml",
"weight": 2
} }
} }

View File

@ -104,7 +104,7 @@ Item {
height: parent.height/2 height: parent.height/2
sourceSize.width: width sourceSize.width: width
sourceSize.height: width sourceSize.height: width
color: UM.Theme.colors.setting_control_revert color: control.hovered ? UM.Theme.colors.setting_control_button_hover : UM.Theme.colors.setting_control_button
source: UM.Theme.icons.cross1 source: UM.Theme.icons.cross1
} }
} }

View File

@ -16,7 +16,8 @@ def getMetaData():
"api": 2 "api": 2
}, },
"view": { "view": {
"name": i18n_catalog.i18nc("@item:inmenu", "Solid") "name": i18n_catalog.i18nc("@item:inmenu", "Solid"),
"weight": 0
} }
} }

View File

@ -16,7 +16,8 @@ def getMetaData():
"api": 2 "api": 2
}, },
"view": { "view": {
"name": catalog.i18nc("@item:inlistbox", "X-Ray") "name": catalog.i18nc("@item:inlistbox", "X-Ray"),
"weight": 1
} }
} }

View File

@ -157,7 +157,7 @@ UM.MainWindow
{ {
id: machineMenu; id: machineMenu;
//: Machine menu //: Machine menu
title: catalog.i18nc("@title:menu","&Machine"); title: catalog.i18nc("@title:menu","&Printer");
Instantiator Instantiator
{ {
@ -203,7 +203,7 @@ UM.MainWindow
Menu Menu
{ {
id: profileMenu id: profileMenu
title: catalog.i18nc("@title:menu", "&Profile") title: catalog.i18nc("@title:menu", "P&rofile")
Instantiator Instantiator
{ {
@ -327,7 +327,8 @@ UM.MainWindow
{ {
horizontalCenter: parent.horizontalCenter horizontalCenter: parent.horizontalCenter
horizontalCenterOffset: -(UM.Theme.sizes.sidebar.width/ 2) horizontalCenterOffset: -(UM.Theme.sizes.sidebar.width/ 2)
verticalCenter: parent.verticalCenter; top: parent.verticalCenter;
bottom: parent.bottom;
} }
} }

View File

@ -11,7 +11,7 @@ import UM 1.1 as UM
UM.PreferencesPage UM.PreferencesPage
{ {
//: General configuration page title //: General configuration page title
title: catalog.i18nc("@title:tab","General"); title: catalog.i18nc("@title:tab","General")
function setDefaultLanguage(languageCode) function setDefaultLanguage(languageCode)
{ {
@ -38,15 +38,17 @@ UM.PreferencesPage
setDefaultLanguage(defaultLanguage) setDefaultLanguage(defaultLanguage)
} }
GridLayout ColumnLayout
{ {
columns: 2;
//: Language selection label //: Language selection label
UM.I18nCatalog{id: catalog; name:"cura"} UM.I18nCatalog{id: catalog; name:"cura"}
RowLayout
{
Label Label
{ {
id: languageLabel id: languageLabel
text: catalog.i18nc("@label","Language") text: catalog.i18nc("@label","Language:")
} }
ComboBox ComboBox
@ -83,10 +85,6 @@ UM.PreferencesPage
} }
onActivated: UM.Preferences.setValue("general/language", model.get(index).code) onActivated: UM.Preferences.setValue("general/language", model.get(index).code)
anchors.left: languageLabel.right
anchors.top: languageLabel.top
anchors.leftMargin: 20
Component.onCompleted: Component.onCompleted:
{ {
// Because ListModel is stupid and does not allow using qsTr() for values. // Because ListModel is stupid and does not allow using qsTr() for values.
@ -101,11 +99,11 @@ UM.PreferencesPage
currentIndex -= 1; currentIndex -= 1;
} }
} }
}
Label Label
{ {
id: languageCaption; id: languageCaption
Layout.columnSpan: 2
//: Language change warning //: Language change warning
text: catalog.i18nc("@label", "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.")
@ -113,103 +111,46 @@ UM.PreferencesPage
font.italic: true font.italic: true
} }
UM.TooltipArea {
width: childrenRect.width
height: childrenRect.height
text: catalog.i18nc("@info:tooltip", "Should objects on the platform be moved so that they no longer intersect.")
CheckBox CheckBox
{ {
id: pushFreeCheckbox id: pushFreeCheckbox
text: catalog.i18nc("@option:check", "Ensure objects are kept apart")
checked: boolCheck(UM.Preferences.getValue("physics/automatic_push_free")) checked: boolCheck(UM.Preferences.getValue("physics/automatic_push_free"))
onCheckedChanged: UM.Preferences.setValue("physics/automatic_push_free", checked) onCheckedChanged: UM.Preferences.setValue("physics/automatic_push_free", checked)
} }
Button }
{
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 UM.TooltipArea {
text: catalog.i18nc("@option:check", "Ensure objects are kept apart"); width: childrenRect.width
onClicked: pushFreeCheckbox.checked = !pushFreeCheckbox.checked height: childrenRect.height
text: catalog.i18nc("@info:tooltip","Should opened files be scaled to the build volume if they are too large?")
//: Display Overhang preference tooltip CheckBox
tooltip: catalog.i18nc("@info:tooltip", "Should objects on the platform be moved so that they no longer intersect.") {
id: scaleToFitCheckbox
text: catalog.i18nc("@option:check","Scale large files")
checked: boolCheck(UM.Preferences.getValue("mesh/scale_to_fit"))
onCheckedChanged: UM.Preferences.setValue("mesh/scale_to_fit", checked)
}
}
style: ButtonStyle UM.TooltipArea {
{ width: childrenRect.width
background: Rectangle height: childrenRect.height
{ text: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.")
border.width: 0
color: "transparent"
}
label: Text
{
renderType: Text.NativeRendering
horizontalAlignment: Text.AlignLeft
text: control.text
}
}
}
CheckBox CheckBox
{ {
id: sendDataCheckbox id: sendDataCheckbox
text: catalog.i18nc("@option:check","Send (anonymous) print information")
checked: boolCheck(UM.Preferences.getValue("info/send_slice_info")) checked: boolCheck(UM.Preferences.getValue("info/send_slice_info"))
onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked) onCheckedChanged: UM.Preferences.setValue("info/send_slice_info", checked)
} }
Button
{
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: catalog.i18nc("@option:check","Send (Anonymous) Print Information");
onClicked: sendDataCheckbox.checked = !sendDataCheckbox.checked
//: Display Overhang preference tooltip
tooltip: catalog.i18nc("@info:tooltip","Should anonymous data about your print be sent to Ultimaker? Note, no models, IP addresses or other personally identifiable information is sent or stored.")
style: ButtonStyle
{
background: Rectangle
{
border.width: 0
color: "transparent"
}
label: Text
{
renderType: Text.NativeRendering
horizontalAlignment: Text.AlignLeft
text: control.text
} }
} }
} }
CheckBox
{
id: scaleToFitCheckbox
checked: boolCheck(UM.Preferences.getValue("mesh/scale_to_fit"))
onCheckedChanged: UM.Preferences.setValue("mesh/scale_to_fit", checked)
}
Button
{
id: scaleToFitText //is a button so the user doesn't have te click inconvenientley precise to enable or disable the checkbox
//: Display Overhang preference checkbox
text: catalog.i18nc("@option:check","Scale Too Large Files");
onClicked: scaleToFitCheckbox.checked = !scaleToFitCheckbox.checked
//: Display Overhang preference tooltip
tooltip: catalog.i18nc("@info:tooltip","Should opened files be scaled to the build volume when they are too large?")
style: ButtonStyle
{
background: Rectangle
{
border.width: 0
color: "transparent"
}
label: Text
{
renderType: Text.NativeRendering
horizontalAlignment: Text.AlignLeft
text: control.text
}
}
}
Item { Layout.fillHeight: true; Layout.columnSpan: 2 }
}
}

View File

@ -69,17 +69,61 @@ Rectangle {
} }
} }
Rectangle
TextField { {
id: printJobTextfield id: jobNameRow
anchors.top: parent.top
anchors.right: parent.right anchors.right: parent.right
height: UM.Theme.sizes.jobspecs_line.height height: UM.Theme.sizes.jobspecs_line.height
visible: base.activity
Item
{
width: parent.width
height: parent.height
Button
{
id: printJobPencilIcon
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
width: UM.Theme.sizes.save_button_specs_icons.width
height: UM.Theme.sizes.save_button_specs_icons.height
onClicked:
{
printJobTextfield.selectAll()
printJobTextfield.focus = true
}
style: ButtonStyle
{
background: Rectangle
{
color: "transparent"
UM.RecolorImage
{
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: control.hovered ? UM.Theme.colors.setting_control_button_hover : UM.Theme.colors.text
source: UM.Theme.icons.pencil;
}
}
}
}
TextField
{
id: printJobTextfield
anchors.right: printJobPencilIcon.left
anchors.rightMargin: UM.Theme.sizes.default_margin.width/2
height: UM.Theme.sizes.jobspecs_line.height
width: base.width width: base.width
property int unremovableSpacing: 5 property int unremovableSpacing: 5
text: '' text: ''
horizontalAlignment: TextInput.AlignRight horizontalAlignment: TextInput.AlignRight
onTextChanged: Printer.setJobName(text) onTextChanged: Printer.setJobName(text)
visible: base.activity
onEditingFinished: { onEditingFinished: {
if (printJobTextfield.text != ''){ if (printJobTextfield.text != ''){
printJobTextfield.focus = false printJobTextfield.focus = false
@ -90,17 +134,19 @@ Rectangle {
} }
style: TextFieldStyle{ style: TextFieldStyle{
textColor: UM.Theme.colors.setting_control_text; textColor: UM.Theme.colors.setting_control_text;
font: UM.Theme.fonts.default; font: UM.Theme.fonts.default_bold;
background: Rectangle { background: Rectangle {
opacity: 0 opacity: 0
border.width: 0 border.width: 0
} }
} }
} }
}
}
Label{ Label{
id: boundingSpec id: boundingSpec
anchors.top: printJobTextfield.bottom anchors.top: jobNameRow.bottom
anchors.right: parent.right anchors.right: parent.right
height: UM.Theme.sizes.jobspecs_line.height height: UM.Theme.sizes.jobspecs_line.height
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter

View File

@ -15,61 +15,8 @@ Item{
property Action manageProfilesAction property Action manageProfilesAction
Rectangle{ Rectangle{
id: variantRow id: globalProfileRow
anchors.top: base.top anchors.top: base.top
width: base.width
height: UM.Theme.sizes.sidebar_setup.height
//visible: UM.MachineManager.hasVariants;
visible: true
Label{
id: variantLabel
text: catalog.i18nc("@label","Variant:");
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width;
anchors.verticalCenter: parent.verticalCenter
width: parent.width/100*45
font: UM.Theme.fonts.default;
}
ToolButton {
id: variantSelection
text: UM.MachineManager.activeMachineVariant
width: parent.width/100*55
height: UM.Theme.sizes.setting_control.height
tooltip: UM.MachineManager.activeMachineInstance;
anchors.right: parent.right
anchors.rightMargin: UM.Theme.sizes.default_margin.width
anchors.verticalCenter: parent.verticalCenter
style: UM.Theme.styles.sidebar_header_button
menu: Menu
{
id: variantsSelectionMenu
Instantiator
{
model: UM.MachineVariantsModel { id: variantsModel }
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
exclusiveGroup: variantSelectionMenuGroup;
onTriggered: UM.MachineManager.setActiveMachineVariant(variantsModel.getItem(index).name)
}
onObjectAdded: variantsSelectionMenu.insertItem(index, object)
onObjectRemoved: variantsSelectionMenu.removeItem(object)
}
ExclusiveGroup { id: variantSelectionMenuGroup; }
}
}
}
Rectangle{
id: globalProfileRow;
anchors.top: UM.MachineManager.hasVariants ? variantRow.bottom : base.top
//anchors.top: variantRow.bottom
height: UM.Theme.sizes.sidebar_setup.height height: UM.Theme.sizes.sidebar_setup.height
width: base.width width: base.width
@ -78,7 +25,7 @@ Item{
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width; anchors.leftMargin: UM.Theme.sizes.default_margin.width;
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
text: catalog.i18nc("@label","Global Profile:"); text: catalog.i18nc("@label","Profile:");
width: parent.width/100*45 width: parent.width/100*45
font: UM.Theme.fonts.default; font: UM.Theme.fonts.default;
color: UM.Theme.colors.text; color: UM.Theme.colors.text;

View File

@ -74,7 +74,7 @@ Rectangle {
Button { Button {
id: saveToButton id: saveToButton
property int resizedWidth property int resizedWidth
x: base.width - saveToButton.resizedWidth - UM.Theme.sizes.default_margin.width - UM.Theme.sizes.save_button_save_to_button.height + 3 x: base.width - saveToButton.resizedWidth - UM.Theme.sizes.default_margin.width - UM.Theme.sizes.save_button_save_to_button.height + UM.Theme.sizes.save_button_save_to_button.width
tooltip: UM.OutputDeviceManager.activeDeviceDescription; tooltip: UM.OutputDeviceManager.activeDeviceDescription;
enabled: base.progress > 0.99 && base.activity == true enabled: base.progress > 0.99 && base.activity == true
height: UM.Theme.sizes.save_button_save_to_button.height height: UM.Theme.sizes.save_button_save_to_button.height
@ -90,6 +90,7 @@ Rectangle {
background: Rectangle { background: Rectangle {
//opacity: control.enabled ? 1.0 : 0.5 //opacity: control.enabled ? 1.0 : 0.5
//Behavior on opacity { NumberAnimation { duration: 50; } } //Behavior on opacity { NumberAnimation { duration: 50; } }
border.width: UM.Theme.sizes.default_lining.width
border.color: !control.enabled ? UM.Theme.colors.action_button_disabled_border : border.color: !control.enabled ? UM.Theme.colors.action_button_disabled_border :
control.pressed ? UM.Theme.colors.action_button_active_border : control.pressed ? UM.Theme.colors.action_button_active_border :
control.hovered ? UM.Theme.colors.action_button_hovered_border : UM.Theme.colors.action_button_border control.hovered ? UM.Theme.colors.action_button_hovered_border : UM.Theme.colors.action_button_border
@ -130,6 +131,7 @@ Rectangle {
style: ButtonStyle { style: ButtonStyle {
background: Rectangle { background: Rectangle {
id: deviceSelectionIcon id: deviceSelectionIcon
border.width: UM.Theme.sizes.default_lining.width
border.color: !control.enabled ? UM.Theme.colors.action_button_disabled_border : border.color: !control.enabled ? UM.Theme.colors.action_button_disabled_border :
control.pressed ? UM.Theme.colors.action_button_active_border : control.pressed ? UM.Theme.colors.action_button_active_border :
control.hovered ? UM.Theme.colors.action_button_hovered_border : UM.Theme.colors.action_button_border control.hovered ? UM.Theme.colors.action_button_hovered_border : UM.Theme.colors.action_button_border

View File

@ -120,6 +120,7 @@ Rectangle
style: ButtonStyle { style: ButtonStyle {
background: Rectangle { background: Rectangle {
border.width: UM.Theme.sizes.default_lining.width
border.color: control.checked ? UM.Theme.colors.toggle_checked_border : border.color: control.checked ? UM.Theme.colors.toggle_checked_border :
control.pressed ? UM.Theme.colors.toggle_active_border : control.pressed ? UM.Theme.colors.toggle_active_border :
control.hovered ? UM.Theme.colors.toggle_hovered_border : UM.Theme.colors.toggle_unchecked_border control.hovered ? UM.Theme.colors.toggle_hovered_border : UM.Theme.colors.toggle_unchecked_border

View File

@ -17,7 +17,7 @@ Item
property int totalHeightHeader: childrenRect.height property int totalHeightHeader: childrenRect.height
Rectangle { Rectangle {
id: settingsModeRow id: sidebarTabRow
width: base.width width: base.width
height: 0 height: 0
anchors.top: parent.top anchors.top: parent.top
@ -29,7 +29,7 @@ Item
text: catalog.i18nc("@label:listbox","Print Job"); text: catalog.i18nc("@label:listbox","Print Job");
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width; anchors.leftMargin: UM.Theme.sizes.default_margin.width;
anchors.top: settingsModeRow.bottom anchors.top: sidebarTabRow.bottom
anchors.topMargin: UM.Theme.sizes.default_margin.height anchors.topMargin: UM.Theme.sizes.default_margin.height
width: parent.width/100*45 width: parent.width/100*45
font: UM.Theme.fonts.large; font: UM.Theme.fonts.large;
@ -47,7 +47,7 @@ Item
Label{ Label{
id: machineSelectionLabel id: machineSelectionLabel
//: Machine selection label //: Machine selection label
text: catalog.i18nc("@label:listbox","Machine:"); text: catalog.i18nc("@label:listbox","Printer:");
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width anchors.leftMargin: UM.Theme.sizes.default_margin.width
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
@ -93,4 +93,57 @@ Item
} }
} }
} }
Rectangle {
id: variantRow
anchors.top: machineSelectionRow.bottom
anchors.topMargin: UM.MachineManager.hasVariants ? UM.Theme.sizes.default_margin.height : 0
width: base.width
height: UM.MachineManager.hasVariants ? UM.Theme.sizes.sidebar_setup.height : 0
visible: UM.MachineManager.hasVariants
Label{
id: variantLabel
text: catalog.i18nc("@label","Nozzle:");
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width;
anchors.verticalCenter: parent.verticalCenter
width: parent.width/100*45
font: UM.Theme.fonts.default;
color: UM.Theme.colors.text;
}
ToolButton {
id: variantSelection
text: UM.MachineManager.activeMachineVariant
width: parent.width/100*55
height: UM.Theme.sizes.setting_control.height
tooltip: UM.MachineManager.activeMachineVariant;
anchors.right: parent.right
anchors.rightMargin: UM.Theme.sizes.default_margin.width
anchors.verticalCenter: parent.verticalCenter
style: UM.Theme.styles.sidebar_header_button
menu: Menu
{
id: variantsSelectionMenu
Instantiator
{
model: UM.MachineVariantsModel { id: variantsModel }
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
exclusiveGroup: variantSelectionMenuGroup;
onTriggered: UM.MachineManager.setActiveMachineVariant(variantsModel.getItem(index).name)
}
onObjectAdded: variantsSelectionMenu.insertItem(index, object)
onObjectRemoved: variantsSelectionMenu.removeItem(object)
}
ExclusiveGroup { id: variantSelectionMenuGroup; }
}
}
}
} }

View File

@ -127,7 +127,7 @@ Item
anchors.top: parent.top anchors.top: parent.top
anchors.left: parent.left anchors.left: parent.left
width: base.width/100* 35 - UM.Theme.sizes.default_margin.width width: base.width/100* 35 - UM.Theme.sizes.default_margin.width
height: childrenRect.height < UM.Theme.sizes.simple_mode_infill_caption.height ? UM.Theme.sizes.simple_mode_infill_caption.height : childrenRect.height height: childrenRect.height
Label{ Label{
id: infillLabel id: infillLabel
@ -140,17 +140,6 @@ Item
anchors.left: parent.left anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width anchors.leftMargin: UM.Theme.sizes.default_margin.width
} }
/* Label{
id: infillCaption
width: infillCellLeft.width - UM.Theme.sizes.default_margin.width * 2
text: infillModel.count > 0 && infillListView.activeIndex != -1 ? infillModel.get(infillListView.activeIndex).text : ""
font: UM.Theme.fonts.caption
wrapMode: Text.Wrap
color: UM.Theme.colors.text_subtext
anchors.top: infillLabel.bottom
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width
} */
} }
Flow { Flow {
@ -162,7 +151,6 @@ Item
anchors.left: infillCellLeft.right anchors.left: infillCellLeft.right
anchors.top: infillCellLeft.top anchors.top: infillCellLeft.top
anchors.topMargin: UM.Theme.sizes.default_margin.height
Repeater { Repeater {
id: infillListView id: infillListView
@ -335,7 +323,7 @@ Item
property bool hovered_ex: false property bool hovered_ex: false
anchors.top: brimCheckBox.bottom anchors.top: brimCheckBox.bottom
anchors.topMargin: UM.Theme.sizes.default_lining.height anchors.topMargin: UM.Theme.sizes.default_margin.height
anchors.left: parent.left anchors.left: parent.left
//: Setting enable support checkbox //: Setting enable support checkbox

View File

@ -39,7 +39,7 @@ UM.PreferencesPage
checked: boolCheck(UM.Preferences.getValue("view/show_overhang")) checked: boolCheck(UM.Preferences.getValue("view/show_overhang"))
onClicked: UM.Preferences.setValue("view/show_overhang", checked) onClicked: UM.Preferences.setValue("view/show_overhang", checked)
text: catalog.i18nc("@option:check","Display Overhang"); text: catalog.i18nc("@option:check","Display overhang");
} }
} }

View File

@ -129,30 +129,31 @@ Item
section.property: "manufacturer" section.property: "manufacturer"
section.delegate: Button { section.delegate: Button {
text: section + " " text: section
style: ButtonStyle { style: ButtonStyle {
background: Rectangle { background: Rectangle {
id: manufacturerBackground
opacity: 0.3
border.width: 0 border.width: 0
color: control.hovered ? palette.light : "transparent"; color: "transparent";
height: UM.Theme.sizes.standard_list_lineheight.height height: UM.Theme.sizes.standard_list_lineheight.height
width: machineList.width
} }
label: Text { label: Text {
horizontalAlignment: Text.AlignLeft anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.standard_arrow.width + UM.Theme.sizes.default_margin.width
text: control.text text: control.text
color: palette.windowText color: palette.windowText
font.bold: true font.bold: true
UM.RecolorImage { UM.RecolorImage {
id: downArrow id: downArrow
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.right anchors.right: parent.left
anchors.rightMargin: UM.Theme.sizes.default_margin.width
width: UM.Theme.sizes.standard_arrow.width width: UM.Theme.sizes.standard_arrow.width
height: UM.Theme.sizes.standard_arrow.height height: UM.Theme.sizes.standard_arrow.height
sourceSize.width: width sourceSize.width: width
sourceSize.height: width sourceSize.height: width
color: palette.windowText color: palette.windowText
source: base,activeManufacturer == section ? UM.Theme.icons.arrow_bottom : UM.Theme.icons.arrow_right source: base.activeManufacturer == section ? UM.Theme.icons.arrow_bottom : UM.Theme.icons.arrow_right
} }
} }
} }
@ -184,18 +185,6 @@ Item
machineName.text = getMachineName() machineName.text = getMachineName()
} }
Label
{
id: author
text: model.author
font: UM.Theme.fonts.very_small
anchors.left: machineButton.right
anchors.leftMargin: UM.Theme.sizes.standard_list_lineheight.height/2
anchors.baseline: machineButton.baseline
anchors.baselineOffset: -UM.Theme.sizes.standard_list_lineheight.height / 16
color: palette.mid
}
states: State { states: State {
name: "collapsed"; name: "collapsed";
when: base.activeManufacturer != model.manufacturer; when: base.activeManufacturer != model.manufacturer;

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" viewBox="0 -256 1792 1792" id="svg3001" version="1.1" inkscape:version="0.48.3.1 r9886" width="100%" height="100%" sodipodi:docname="pencil_font_awesome.svg">
<metadata id="metadata3011">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs id="defs3009"/>
<sodipodi:namedview pagecolor="#ffffff" bordercolor="#666666" borderopacity="1" objecttolerance="10" gridtolerance="10" guidetolerance="10" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-width="640" inkscape:window-height="480" id="namedview3007" showgrid="false" inkscape:zoom="0.13169643" inkscape:cx="896" inkscape:cy="896" inkscape:window-x="0" inkscape:window-y="25" inkscape:window-maximized="0" inkscape:current-layer="svg3001"/>
<g transform="matrix(1,0,0,-1,121.49153,1270.2373)" id="g3003">
<path d="M 363,0 454,91 219,326 128,235 V 128 H 256 V 0 h 107 z m 523,928 q 0,22 -22,22 -10,0 -17,-7 L 305,401 q -7,-7 -7,-17 0,-22 22,-22 10,0 17,7 l 542,542 q 7,7 7,17 z M 832,1120 1248,704 416,-128 H 0 v 416 z m 683,-96 q 0,-53 -37,-90 l -166,-166 -416,416 166,165 q 36,38 90,38 53,0 91,-38 l 235,-234 q 37,-39 37,-91 z" id="path3005" inkscape:connector-curvature="0" style="fill:currentColor"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -12,7 +12,7 @@ QtObject {
ButtonStyle { ButtonStyle {
background: Rectangle { background: Rectangle {
color: UM.Theme.colors.setting_control color: UM.Theme.colors.setting_control
border.width: 1 border.width: UM.Theme.sizes.default_lining.width
border.color: control.hovered ? UM.Theme.colors.setting_control_border_highlight : UM.Theme.colors.setting_control_border border.color: control.hovered ? UM.Theme.colors.setting_control_border_highlight : UM.Theme.colors.setting_control_border
UM.RecolorImage { UM.RecolorImage {
id: downArrow id: downArrow
@ -331,7 +331,8 @@ QtObject {
width: UM.Theme.sizes.section_icon_column.width width: UM.Theme.sizes.section_icon_column.width
UM.RecolorImage { UM.RecolorImage {
anchors.verticalCenter: parent.verticalCenter anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width
color: UM.Theme.colors.setting_category_text color: UM.Theme.colors.setting_category_text
source: control.iconSource; source: control.iconSource;
width: UM.Theme.sizes.section_icon.width; width: UM.Theme.sizes.section_icon.width;
@ -344,6 +345,7 @@ QtObject {
Label { Label {
anchors { anchors {
left: icon.right; left: icon.right;
leftMargin: UM.Theme.sizes.default_lining.width;
right: parent.right; right: parent.right;
verticalCenter: parent.verticalCenter; verticalCenter: parent.verticalCenter;
} }
@ -493,7 +495,7 @@ QtObject {
radius: width/2; radius: width/2;
color: UM.Theme.colors.slider_groove; color: UM.Theme.colors.slider_groove;
border.width: UM.Theme.sizes.default_lining; border.width: UM.Theme.sizes.default_lining.width;
border.color: UM.Theme.colors.slider_groove_border; border.color: UM.Theme.colors.slider_groove_border;
Rectangle { Rectangle {
anchors { anchors {
@ -515,26 +517,24 @@ QtObject {
TextField { TextField {
id: valueLabel id: valueLabel
property string maxValue: control.maximumValue + 1 property string maxValue: control.maximumValue + 1
placeholderText: control.value + 1 text: control.value + 1
horizontalAlignment: TextInput.AlignHCenter
onEditingFinished: { onEditingFinished: {
if (valueLabel.text != ''){ if (valueLabel.text != ''){
control.value = valueLabel.text - 1 control.value = valueLabel.text - 1
valueLabel.text = ''
valueLabel.focus = false
} }
} }
validator: IntValidator {bottom: 1; top: control.maximumValue + 1;} validator: IntValidator {bottom: 1; top: control.maximumValue + 1;}
visible: UM.LayerView.getLayerActivity && Printer.getPlatformActivity ? true : false visible: UM.LayerView.getLayerActivity && Printer.getPlatformActivity ? true : false
anchors.top: layerSliderControl.bottom anchors.top: layerSliderControl.bottom
anchors.topMargin: UM.Theme.sizes.default_margin.width anchors.topMargin: width/2 - UM.Theme.sizes.default_margin.width/2
anchors.horizontalCenter: layerSliderControl.horizontalCenter anchors.horizontalCenter: layerSliderControl.horizontalCenter
rotation: 90 rotation: 90
style: TextFieldStyle{ style: TextFieldStyle{
textColor: UM.Theme.colors.setting_control_text; textColor: UM.Theme.colors.setting_control_text;
font: UM.Theme.fonts.default; font: UM.Theme.fonts.default;
background: Rectangle { background: Rectangle {
implicitWidth: control.maxValue.length * valueLabel.font.pixelSize implicitWidth: control.maxValue.length * valueLabel.font.pixelSize + UM.Theme.sizes.default_margin.width
implicitHeight: UM.Theme.sizes.slider_handle.height + UM.Theme.sizes.default_margin.width implicitHeight: UM.Theme.sizes.slider_handle.height + UM.Theme.sizes.default_margin.width
border.width: UM.Theme.sizes.default_lining.width; border.width: UM.Theme.sizes.default_lining.width;
border.color: UM.Theme.colors.slider_groove_border; border.color: UM.Theme.colors.slider_groove_border;

View File

@ -9,6 +9,11 @@
"size": 1.15, "size": 1.15,
"family": "Proxima Nova Rg" "family": "Proxima Nova Rg"
}, },
"default_bold": {
"size": 1.15,
"bold": true,
"family": "Proxima Nova Rg"
},
"small": { "small": {
"size": 1.0, "size": 1.0,
"family": "Proxima Nova Rg" "family": "Proxima Nova Rg"
@ -59,7 +64,7 @@
"text": [24, 41, 77, 255], "text": [24, 41, 77, 255],
"text_inactive": [174, 174, 174, 255], "text_inactive": [174, 174, 174, 255],
"text_hover": [35, 35, 35, 255], "text_hover": [70, 84, 113, 255],
"text_pressed": [12, 169, 227, 255], "text_pressed": [12, 169, 227, 255],
"text_white": [255, 255, 255, 255], "text_white": [255, 255, 255, 255],
"text_subtext": [127, 127, 127, 255], "text_subtext": [127, 127, 127, 255],
@ -104,24 +109,24 @@
"action_button_active_border": [12, 169, 227, 255], "action_button_active_border": [12, 169, 227, 255],
"action_button_disabled": [245, 245, 245, 255], "action_button_disabled": [245, 245, 245, 255],
"action_button_disabled_text": [127, 127, 127, 255], "action_button_disabled_text": [127, 127, 127, 255],
"action_button_disabled_border": [127, 127, 127, 255], "action_button_disabled_border": [245, 245, 245, 255],
"scrollbar_background": [255, 255, 255, 255], "scrollbar_background": [255, 255, 255, 255],
"scrollbar_handle": [24, 41, 77, 255], "scrollbar_handle": [24, 41, 77, 255],
"scrollbar_handle_hover": [12, 159, 227, 255], "scrollbar_handle_hover": [12, 159, 227, 255],
"scrollbar_handle_down": [12, 159, 227, 255], "scrollbar_handle_down": [12, 159, 227, 255],
"setting_category": [255, 255, 255, 255], "setting_category": [245, 245, 245, 255],
"setting_category_disabled": [255, 255, 255, 255], "setting_category_disabled": [255, 255, 255, 255],
"setting_category_hover": [245, 245, 245, 255], "setting_category_hover": [245, 245, 245, 255],
"setting_category_active": [255, 255, 255, 255], "setting_category_active": [245, 245, 245, 255],
"setting_category_active_hover": [245, 245, 245, 255], "setting_category_active_hover": [245, 245, 245, 255],
"setting_category_text": [24, 41, 77, 255], "setting_category_text": [24, 41, 77, 255],
"setting_category_border": [127, 127, 127, 255], "setting_category_border": [245, 245, 245, 255],
"setting_category_disabled_border": [127, 127, 127, 255], "setting_category_disabled_border": [245, 245, 245, 255],
"setting_category_hover_border": [12, 159, 227, 255], "setting_category_hover_border": [12, 159, 227, 255],
"setting_category_active_border": [245, 245, 245, 255], "setting_category_active_border": [245, 245, 245, 255],
"setting_category_active_hover_border": [245, 245, 245, 255], "setting_category_active_hover_border": [12, 159, 227, 255],
"setting_control": [255, 255, 255, 255], "setting_control": [255, 255, 255, 255],
"setting_control_selected": [24, 41, 77, 255], "setting_control_selected": [24, 41, 77, 255],
@ -130,7 +135,8 @@
"setting_control_border_highlight": [12, 169, 227, 255], "setting_control_border_highlight": [12, 169, 227, 255],
"setting_control_text": [24, 41, 77, 255], "setting_control_text": [24, 41, 77, 255],
"setting_control_depth_line": [127, 127, 127, 255], "setting_control_depth_line": [127, 127, 127, 255],
"setting_control_revert": [127, 127, 127, 255], "setting_control_button": [127, 127, 127, 255],
"setting_control_button_hover": [70, 84, 113, 255],
"setting_unit": [127, 127, 127, 255], "setting_unit": [127, 127, 127, 255],
"setting_validation_error": [255, 57, 14, 255], "setting_validation_error": [255, 57, 14, 255],
"setting_validation_warning": [255, 186, 15, 255], "setting_validation_warning": [255, 186, 15, 255],
@ -231,7 +237,7 @@
"save_button_save_to_button": [0.3, 2.7], "save_button_save_to_button": [0.3, 2.7],
"save_button_specs_icons": [1.4, 1.4], "save_button_specs_icons": [1.4, 1.4],
"modal_window_minimum": [30.0, 30.0], "modal_window_minimum": [40.0, 30.0],
"wizard_progress": [10.0, 0.0], "wizard_progress": [10.0, 0.0],
"message": [30.0, 5.0], "message": [30.0, 5.0],