15.10 restyling of the profile setup

Contributes to: issue CURA-60
This commit is contained in:
Tamara Hogenhout 2015-09-02 16:34:37 +02:00
parent 476533b416
commit 546872aa87
3 changed files with 155 additions and 82 deletions

View File

@ -0,0 +1,148 @@
// Copyright (c) 2015 Ultimaker B.V.
// Cura is released under the terms of the AGPLv3 or higher.
import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import UM 1.1 as UM
Column{
id: base;
UM.I18nCatalog { id: catalog; name:"cura"}
property int totalHeightProfileSetup: childrenRect.height
spacing: 0
Rectangle{
id: variantItem;
height: UM.Theme.sizes.sidebar_setup.height
width: base.width
visible: UM.MachineManager.hasVariants;
Rectangle {
id: variantRow
width: base.width
height: parent.heigth
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 { }
MenuItem
{
text: model.name;
checkable: true;
checked: model.active;
exclusiveGroup: variantSelectionMenuGroup;
onTriggered: UM.MachineManager.setActiveMachineVariant(model.getItem(index).name)
}
}
ExclusiveGroup { id: variantSelectionMenuGroup; }
}
}
}
}
Rectangle{
id: globalProfileRow;
height: UM.Theme.sizes.sidebar_setup.height
width: base.width
Label{
id: globalProfileLabel
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.default_margin.width;
anchors.verticalCenter: parent.verticalCenter
text: catalog.i18nc("@label","Global Profile:");
width: parent.width/100*45
font: UM.Theme.fonts.default;
}
ToolButton {
id: globalProfileSelection
text: UM.MachineManager.activeProfile
width: parent.width/100*45
height: UM.Theme.sizes.setting_control.height
anchors.right: parent.right
anchors.rightMargin: (UM.Theme.sizes.default_margin.width * 2) + saveProfileButton.width
anchors.verticalCenter: parent.verticalCenter
tooltip: UM.MachineManager.activeProfile
style: UM.Theme.styles.sidebar_header_button
menu: Menu
{
id: machineSelectionMenu
Instantiator
{
model: UM.ProfilesModel { }
MenuItem
{
text: model.name
checkable: true;
checked: model.active;
exclusiveGroup: profileSelectionMenuGroup;
onTriggered: UM.MachineManager.setActiveProfile(model.name)
}
onObjectAdded: machineSelectionMenu.insertItem(index, object)
onObjectRemoved: machineSelectionMenu.removeItem(object)
}
ExclusiveGroup { id: profileSelectionMenuGroup; }
}
Button {
id: saveProfileButton
visible: true
anchors.top: parent.top
x: globalProfileSelection.width + 2
width: parent.width/100*25
text: catalog.i18nc("@action:button", "Save");
height: parent.height
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; } }
width: actualLabel.width + UM.Theme.sizes.default_margin.width
Label {
id: actualLabel
anchors.centerIn: parent
color: UM.Theme.colors.load_save_button_text
font: UM.Theme.fonts.default
text: control.text;
}
}
label: Item { }
}
}
}
}
Rectangle{
width: base.width
height: UM.Theme.sizes.default_margin.width/2
}
}

View File

@ -42,8 +42,7 @@ Rectangle
}
SidebarHeader {
id: header;
id: header
width: parent.width
height: totalHeightHeader
@ -63,86 +62,11 @@ Rectangle
onCurrentModeIndexChanged: UM.Preferences.setValue("cura/active_mode", currentModeIndex);
}
Item
{
id: variantItem;
anchors.top: header.bottom;
height: UM.Theme.sizes.setting.height;
visible: UM.MachineManager.hasVariants;
Row
{
spacing: UM.Theme.sizes.default_margin.width;
Label
{
anchors.verticalCenter: parent.verticalCenter;
text: catalog.i18nc("@label","Variant");
}
ComboBox {
anchors.verticalCenter: parent.verticalCenter;
model: UM.MachineVariantsModel { }
textRole: "name"
onActivated: UM.MachineManager.setActiveMachineVariant(model.getItem(index).name);
currentIndex:
{
for(var i = 0; i < model.rowCount(); ++i)
{
if(model.getItem(i).name == UM.MachineManager.activeMachineVariant)
{
return i;
}
}
return 0;
}
}
}
}
Item
{
id: profileItem;
anchors.top: variantItem.bottom;
height: UM.Theme.sizes.setting.height;
Row
{
spacing: UM.Theme.sizes.default_margin.width;
Label
{
anchors.verticalCenter: parent.verticalCenter;
text: catalog.i18nc("@label","Global Profile");
}
ComboBox
{
anchors.verticalCenter: parent.verticalCenter;
model: UM.ProfilesModel { }
textRole: "name"
onActivated: UM.MachineManager.setActiveProfile(model.getItem(index).name)
currentIndex:
{
for(var i = 0; i < model.rowCount(); ++i)
{
if(model.getItem(i).name == UM.MachineManager.activeProfile)
return i;
}
UM.MachineManager.setActiveProfile(model.getItem(0).name)
return 0;
}
}
Button
{
text: catalog.i18nc("@action:button", "Save");
}
}
ProfileSetup {
id: profileItem
anchors.top: header.bottom
width: parent.width
height: totalHeightProfileSetup
}
Loader

View File

@ -155,6 +155,7 @@
"sidebar": [24.0, 10.0],
"sidebar_header": [0.0, 3.2],
"sidebar_setup": [0.0, 2.8],
"sidebar_subParts": [0.0, 2.4],
"sidebar_specs_bar": [0.0, 2.2],
"sidebar_inputFields": [0.0, 1.9],