mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 05:19:08 +08:00
15.10 restyling of the profile setup
Contributes to: issue CURA-60
This commit is contained in:
parent
476533b416
commit
546872aa87
148
resources/qml/ProfileSetup.qml
Normal file
148
resources/qml/ProfileSetup.qml
Normal 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
|
||||
}
|
||||
}
|
@ -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
|
||||
|
@ -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],
|
||||
|
Loading…
x
Reference in New Issue
Block a user