mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-15 10:47:49 -06:00
Create a component for the Views selector. This component contains the
list of the views and also the shortcuts for the camera position. The theme colors, sizes and the styles have been updated. Contributes to CURA-5784.
This commit is contained in:
parent
3acfdadd12
commit
075a9a161f
9 changed files with 235 additions and 304 deletions
|
@ -32,15 +32,15 @@ Button
|
||||||
{
|
{
|
||||||
if(control.hovered)
|
if(control.hovered)
|
||||||
{
|
{
|
||||||
return UM.Theme.getColor("topbar_button_text_hovered");
|
return UM.Theme.getColor("toolbox_header_button_text_hovered");
|
||||||
}
|
}
|
||||||
if(control.active)
|
if(control.active)
|
||||||
{
|
{
|
||||||
return UM.Theme.getColor("topbar_button_text_active");
|
return UM.Theme.getColor("toolbox_header_button_text_active");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return UM.Theme.getColor("topbar_button_text_inactive");
|
return UM.Theme.getColor("toolbox_header_button_text_inactive");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
font: control.enabled ? (control.active ? UM.Theme.getFont("medium_bold") : UM.Theme.getFont("medium")) : UM.Theme.getFont("default_italic")
|
font: control.enabled ? (control.active ? UM.Theme.getFont("medium_bold") : UM.Theme.getFont("medium")) : UM.Theme.getFont("default_italic")
|
||||||
|
|
|
@ -191,6 +191,18 @@ UM.MainWindow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ApplicationViews
|
||||||
|
{
|
||||||
|
id: applicationViews
|
||||||
|
|
||||||
|
visible: UM.Controller.activeStage.stageId != "MonitorStage"
|
||||||
|
anchors
|
||||||
|
{
|
||||||
|
top: parent.top
|
||||||
|
right: sidebar.left
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Loader
|
Loader
|
||||||
{
|
{
|
||||||
id: main
|
id: main
|
||||||
|
|
|
@ -77,8 +77,8 @@ Rectangle
|
||||||
UM.RecolorImage {
|
UM.RecolorImage {
|
||||||
id: buildplateIcon
|
id: buildplateIcon
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
width: UM.Theme.getSize("topbar_button_icon").width
|
width: UM.Theme.getSize("topheader_button_icon").width
|
||||||
height: UM.Theme.getSize("topbar_button_icon").height
|
height: UM.Theme.getSize("topheader_button_icon").height
|
||||||
sourceSize.width: width
|
sourceSize.width: width
|
||||||
sourceSize.height: height
|
sourceSize.height: height
|
||||||
source: UM.Theme.getIcon("buildplate")
|
source: UM.Theme.getIcon("buildplate")
|
||||||
|
|
108
resources/qml/Skeleton/ApplicationViews.qml
Normal file
108
resources/qml/Skeleton/ApplicationViews.qml
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
// Copyright (c) 2018 Ultimaker B.V.
|
||||||
|
// Cura is released under the terms of the LGPLv3 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.4 as UM
|
||||||
|
import Cura 1.0 as Cura
|
||||||
|
|
||||||
|
// This item contains the views selector, a combobox that is dinamically created from
|
||||||
|
// the list of available Views (packages that create different visualizactions of the
|
||||||
|
// scene. Aside the selector, there is a row of buttons that change the orientation of the view.
|
||||||
|
Item
|
||||||
|
{
|
||||||
|
id: applicationViewsSelector
|
||||||
|
|
||||||
|
height: UM.Theme.getSize("views_selector").height
|
||||||
|
|
||||||
|
OrientationViews
|
||||||
|
{
|
||||||
|
id: orientationViews
|
||||||
|
|
||||||
|
anchors {
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
right: viewModeButton.left
|
||||||
|
rightMargin: UM.Theme.getSize("default_margin").width
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ComboBox
|
||||||
|
{
|
||||||
|
id: viewModeButton
|
||||||
|
|
||||||
|
anchors {
|
||||||
|
verticalCenter: parent.verticalCenter
|
||||||
|
right: parent.right
|
||||||
|
rightMargin: UM.Theme.getSize("default_margin").width
|
||||||
|
}
|
||||||
|
|
||||||
|
style: UM.Theme.styles.combobox
|
||||||
|
|
||||||
|
model: UM.ViewModel { }
|
||||||
|
textRole: "name"
|
||||||
|
|
||||||
|
// update the model's active index
|
||||||
|
function updateItemActiveFlags ()
|
||||||
|
{
|
||||||
|
currentIndex = getActiveIndex()
|
||||||
|
for (var i = 0; i < model.rowCount(); i++)
|
||||||
|
{
|
||||||
|
model.getItem(i).active = (i == currentIndex)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the index of the active model item on start
|
||||||
|
function getActiveIndex ()
|
||||||
|
{
|
||||||
|
for (var i = 0; i < model.rowCount(); i++)
|
||||||
|
{
|
||||||
|
if (model.getItem(i).active) {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
// set the active index
|
||||||
|
function setActiveIndex (index)
|
||||||
|
{
|
||||||
|
UM.Controller.setActiveView(index)
|
||||||
|
// the connection to UM.ActiveView will trigger update so there is no reason to call it manually here
|
||||||
|
}
|
||||||
|
|
||||||
|
onCurrentIndexChanged:
|
||||||
|
{
|
||||||
|
if (model.getItem(currentIndex).id != undefined)
|
||||||
|
{
|
||||||
|
viewModeButton.setActiveIndex(model.getItem(currentIndex).id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
currentIndex: getActiveIndex()
|
||||||
|
|
||||||
|
// watch the active view proxy for changes made from the menu item
|
||||||
|
Connections
|
||||||
|
{
|
||||||
|
target: UM.ActiveView
|
||||||
|
onActiveViewChanged: viewModeButton.updateItemActiveFlags()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Loader
|
||||||
|
{
|
||||||
|
id: viewPanel
|
||||||
|
|
||||||
|
anchors.top: viewModeButton.bottom
|
||||||
|
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||||
|
anchors.right: viewModeButton.right
|
||||||
|
|
||||||
|
property var buttonTarget: Qt.point(viewModeButton.x + Math.round(viewModeButton.width / 2), viewModeButton.y + Math.round(viewModeButton.height / 2))
|
||||||
|
|
||||||
|
height: childrenRect.height
|
||||||
|
width: childrenRect.width
|
||||||
|
|
||||||
|
source: UM.ActiveView.valid ? UM.ActiveView.activeViewPanel : ""
|
||||||
|
}
|
||||||
|
}
|
56
resources/qml/Skeleton/OrientationViews.qml
Normal file
56
resources/qml/Skeleton/OrientationViews.qml
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
// Copyright (c) 2018 Ultimaker B.V.
|
||||||
|
// Cura is released under the terms of the LGPLv3 or higher.
|
||||||
|
|
||||||
|
import QtQuick 2.2
|
||||||
|
import QtQuick.Controls 1.1
|
||||||
|
import QtQuick.Controls.Styles 1.1
|
||||||
|
|
||||||
|
import UM 1.4 as UM
|
||||||
|
|
||||||
|
// View orientation Item
|
||||||
|
Row
|
||||||
|
{
|
||||||
|
id: viewOrientationControl
|
||||||
|
|
||||||
|
spacing: 2 * screenScaleFactor
|
||||||
|
|
||||||
|
// #1 3d view
|
||||||
|
Button
|
||||||
|
{
|
||||||
|
iconSource: UM.Theme.getIcon("view_3d")
|
||||||
|
style: UM.Theme.styles.small_tool_button
|
||||||
|
onClicked:UM.Controller.rotateView("3d", 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// #2 Front view
|
||||||
|
Button
|
||||||
|
{
|
||||||
|
iconSource: UM.Theme.getIcon("view_front")
|
||||||
|
style: UM.Theme.styles.small_tool_button
|
||||||
|
onClicked: UM.Controller.rotateView("home", 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
// #3 Top view
|
||||||
|
Button
|
||||||
|
{
|
||||||
|
iconSource: UM.Theme.getIcon("view_top")
|
||||||
|
style: UM.Theme.styles.small_tool_button
|
||||||
|
onClicked: UM.Controller.rotateView("y", 90)
|
||||||
|
}
|
||||||
|
|
||||||
|
// #4 Left view
|
||||||
|
Button
|
||||||
|
{
|
||||||
|
iconSource: UM.Theme.getIcon("view_left")
|
||||||
|
style: UM.Theme.styles.small_tool_button
|
||||||
|
onClicked: UM.Controller.rotateView("x", 90)
|
||||||
|
}
|
||||||
|
|
||||||
|
// #5 Right view
|
||||||
|
Button
|
||||||
|
{
|
||||||
|
iconSource: UM.Theme.getIcon("view_right")
|
||||||
|
style: UM.Theme.styles.small_tool_button
|
||||||
|
onClicked: UM.Controller.rotateView("x", -90)
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,38 +12,9 @@ import Cura 1.0 as Cura
|
||||||
Rectangle
|
Rectangle
|
||||||
{
|
{
|
||||||
id: base
|
id: base
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
height: UM.Theme.getSize("sidebar_header").height
|
|
||||||
color: UM.Controller.activeStage.stageId == "MonitorStage" ? UM.Theme.getColor("topbar_background_color_monitoring") : UM.Theme.getColor("topbar_background_color")
|
|
||||||
|
|
||||||
property bool printerConnected: Cura.MachineManager.printerConnected
|
height: UM.Theme.getSize("topheader").height
|
||||||
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
|
color: UM.Theme.getColor("topheader_background")
|
||||||
|
|
||||||
property int rightMargin: UM.Theme.getSize("sidebar").width + UM.Theme.getSize("default_margin").width;
|
|
||||||
property int allItemsWidth: 0;
|
|
||||||
|
|
||||||
function updateMarginsAndSizes() {
|
|
||||||
if (UM.Preferences.getValue("cura/sidebar_collapsed"))
|
|
||||||
{
|
|
||||||
rightMargin = UM.Theme.getSize("default_margin").width;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rightMargin = UM.Theme.getSize("sidebar").width + UM.Theme.getSize("default_margin").width;
|
|
||||||
}
|
|
||||||
allItemsWidth = (
|
|
||||||
logo.width + UM.Theme.getSize("topbar_logo_right_margin").width +
|
|
||||||
UM.Theme.getSize("topbar_logo_right_margin").width + stagesMenuContainer.width +
|
|
||||||
UM.Theme.getSize("default_margin").width + viewModeButton.width +
|
|
||||||
rightMargin);
|
|
||||||
}
|
|
||||||
|
|
||||||
UM.I18nCatalog
|
|
||||||
{
|
|
||||||
id: catalog
|
|
||||||
name:"cura"
|
|
||||||
}
|
|
||||||
|
|
||||||
Image
|
Image
|
||||||
{
|
{
|
||||||
|
@ -52,36 +23,36 @@ Rectangle
|
||||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
|
||||||
source: UM.Theme.getImage("logo");
|
source: UM.Theme.getImage("logo")
|
||||||
width: UM.Theme.getSize("logo").width;
|
width: UM.Theme.getSize("logo").width
|
||||||
height: UM.Theme.getSize("logo").height;
|
height: UM.Theme.getSize("logo").height
|
||||||
|
|
||||||
sourceSize.width: width;
|
sourceSize.width: width
|
||||||
sourceSize.height: height;
|
sourceSize.height: height
|
||||||
}
|
}
|
||||||
|
|
||||||
Row
|
Row
|
||||||
{
|
{
|
||||||
id: stagesMenuContainer
|
id: stagesMenuContainer
|
||||||
anchors.left: logo.right
|
anchors.left: logo.right
|
||||||
anchors.leftMargin: UM.Theme.getSize("topbar_logo_right_margin").width
|
anchors.leftMargin: UM.Theme.getSize("topheader_logo_right_margin").width
|
||||||
spacing: UM.Theme.getSize("default_margin").width
|
spacing: UM.Theme.getSize("default_margin").width
|
||||||
|
|
||||||
// The topbar is dynamically filled with all available stages
|
// The topheader is dynamically filled with all available stages
|
||||||
Repeater
|
Repeater
|
||||||
{
|
{
|
||||||
id: stagesMenu
|
id: stagesMenu
|
||||||
|
|
||||||
model: UM.StageModel{}
|
model: UM.StageModel { }
|
||||||
|
|
||||||
delegate: Button
|
delegate: Button
|
||||||
{
|
{
|
||||||
text: model.name
|
text: model.name
|
||||||
checkable: true
|
checkable: true
|
||||||
checked: model.active
|
checked: model.active
|
||||||
exclusiveGroup: topbarMenuGroup
|
exclusiveGroup: topheaderMenuGroup
|
||||||
style: (model.stage.iconSource != "") ? UM.Theme.styles.topbar_header_tab_no_overlay : UM.Theme.styles.topbar_header_tab
|
style: UM.Theme.styles.topheader_tab
|
||||||
height: UM.Theme.getSize("sidebar_header").height
|
height: UM.Theme.getSize("topheader").height
|
||||||
onClicked: UM.Controller.setActiveStage(model.id)
|
onClicked: UM.Controller.setActiveStage(model.id)
|
||||||
iconSource: model.stage.iconSource
|
iconSource: model.stage.iconSource
|
||||||
|
|
||||||
|
@ -90,157 +61,6 @@ Rectangle
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ExclusiveGroup { id: topbarMenuGroup }
|
ExclusiveGroup { id: topheaderMenuGroup }
|
||||||
}
|
}
|
||||||
|
|
||||||
// View orientation Item
|
|
||||||
Row
|
|
||||||
{
|
|
||||||
id: viewOrientationControl
|
|
||||||
height: 30
|
|
||||||
|
|
||||||
spacing: 2
|
|
||||||
visible: UM.Controller.activeStage.stageId != "MonitorStage"
|
|
||||||
|
|
||||||
anchors
|
|
||||||
{
|
|
||||||
verticalCenter: base.verticalCenter
|
|
||||||
right: viewModeButton.left
|
|
||||||
rightMargin: UM.Theme.getSize("default_margin").width
|
|
||||||
}
|
|
||||||
|
|
||||||
// #1 3d view
|
|
||||||
Button
|
|
||||||
{
|
|
||||||
iconSource: UM.Theme.getIcon("view_3d")
|
|
||||||
style: UM.Theme.styles.small_tool_button
|
|
||||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
|
||||||
onClicked:UM.Controller.rotateView("3d", 0)
|
|
||||||
visible: base.width - allItemsWidth - 4 * this.width > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// #2 Front view
|
|
||||||
Button
|
|
||||||
{
|
|
||||||
iconSource: UM.Theme.getIcon("view_front")
|
|
||||||
style: UM.Theme.styles.small_tool_button
|
|
||||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
|
||||||
onClicked: UM.Controller.rotateView("home", 0);
|
|
||||||
visible: base.width - allItemsWidth - 3 * this.width > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// #3 Top view
|
|
||||||
Button
|
|
||||||
{
|
|
||||||
iconSource: UM.Theme.getIcon("view_top")
|
|
||||||
style: UM.Theme.styles.small_tool_button
|
|
||||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
|
||||||
onClicked: UM.Controller.rotateView("y", 90)
|
|
||||||
visible: base.width - allItemsWidth - 2 * this.width > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// #4 Left view
|
|
||||||
Button
|
|
||||||
{
|
|
||||||
iconSource: UM.Theme.getIcon("view_left")
|
|
||||||
style: UM.Theme.styles.small_tool_button
|
|
||||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
|
||||||
onClicked: UM.Controller.rotateView("x", 90)
|
|
||||||
visible: base.width - allItemsWidth - 1 * this.width > 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// #5 Right view
|
|
||||||
Button
|
|
||||||
{
|
|
||||||
iconSource: UM.Theme.getIcon("view_right")
|
|
||||||
style: UM.Theme.styles.small_tool_button
|
|
||||||
anchors.verticalCenter: viewOrientationControl.verticalCenter
|
|
||||||
onClicked: UM.Controller.rotateView("x", -90)
|
|
||||||
visible: base.width - allItemsWidth > 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox
|
|
||||||
{
|
|
||||||
id: viewModeButton
|
|
||||||
|
|
||||||
anchors {
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
right: parent.right
|
|
||||||
rightMargin: rightMargin
|
|
||||||
}
|
|
||||||
|
|
||||||
style: UM.Theme.styles.combobox
|
|
||||||
visible: UM.Controller.activeStage.stageId != "MonitorStage"
|
|
||||||
|
|
||||||
model: UM.ViewModel { }
|
|
||||||
textRole: "name"
|
|
||||||
|
|
||||||
// update the model's active index
|
|
||||||
function updateItemActiveFlags () {
|
|
||||||
currentIndex = getActiveIndex()
|
|
||||||
for (var i = 0; i < model.rowCount(); i++) {
|
|
||||||
model.getItem(i).active = (i == currentIndex)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// get the index of the active model item on start
|
|
||||||
function getActiveIndex () {
|
|
||||||
for (var i = 0; i < model.rowCount(); i++) {
|
|
||||||
if (model.getItem(i).active) {
|
|
||||||
return i
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// set the active index
|
|
||||||
function setActiveIndex (index) {
|
|
||||||
UM.Controller.setActiveView(index)
|
|
||||||
// the connection to UM.ActiveView will trigger update so there is no reason to call it manually here
|
|
||||||
}
|
|
||||||
|
|
||||||
onCurrentIndexChanged:
|
|
||||||
{
|
|
||||||
if (model.getItem(currentIndex).id != undefined)
|
|
||||||
viewModeButton.setActiveIndex(model.getItem(currentIndex).id)
|
|
||||||
}
|
|
||||||
currentIndex: getActiveIndex()
|
|
||||||
|
|
||||||
// watch the active view proxy for changes made from the menu item
|
|
||||||
Connections
|
|
||||||
{
|
|
||||||
target: UM.ActiveView
|
|
||||||
onActiveViewChanged: viewModeButton.updateItemActiveFlags()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Loader
|
|
||||||
{
|
|
||||||
id: view_panel
|
|
||||||
|
|
||||||
anchors.top: viewModeButton.bottom
|
|
||||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
|
||||||
anchors.right: viewModeButton.right
|
|
||||||
|
|
||||||
property var buttonTarget: Qt.point(viewModeButton.x + Math.round(viewModeButton.width / 2), viewModeButton.y + Math.round(viewModeButton.height / 2))
|
|
||||||
|
|
||||||
height: childrenRect.height
|
|
||||||
width: childrenRect.width
|
|
||||||
|
|
||||||
source: UM.ActiveView.valid ? UM.ActiveView.activeViewPanel : "";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Expand or collapse sidebar
|
|
||||||
Connections
|
|
||||||
{
|
|
||||||
target: Cura.Actions.expandSidebar
|
|
||||||
onTriggered: updateMarginsAndSizes()
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted:
|
|
||||||
{
|
|
||||||
updateMarginsAndSizes();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,12 +15,11 @@
|
||||||
"border": [127, 127, 127, 255],
|
"border": [127, 127, 127, 255],
|
||||||
"secondary": [241, 242, 242, 255],
|
"secondary": [241, 242, 242, 255],
|
||||||
|
|
||||||
"topbar_background_color": [0, 0, 0, 0],
|
"topheader_background": [31, 36, 39, 255],
|
||||||
"topbar_background_color_monitoring": [31, 36, 39, 255],
|
|
||||||
|
|
||||||
"topbar_button_text_active": [255, 255, 255, 255],
|
"topheader_button_text_active": [255, 255, 255, 255],
|
||||||
"topbar_button_text_inactive": [128, 128, 128, 255],
|
"topheader_button_text_inactive": [128, 128, 128, 255],
|
||||||
"topbar_button_text_hovered": [255, 255, 255, 255],
|
"topheader_button_text_hovered": [255, 255, 255, 255],
|
||||||
|
|
||||||
"text": [255, 255, 255, 204],
|
"text": [255, 255, 255, 204],
|
||||||
"text_detail": [255, 255, 255, 172],
|
"text_detail": [255, 255, 255, 172],
|
||||||
|
@ -221,6 +220,10 @@
|
||||||
"quality_slider_available": [255, 255, 255, 255],
|
"quality_slider_available": [255, 255, 255, 255],
|
||||||
"quality_slider_handle": [255, 255, 255, 255],
|
"quality_slider_handle": [255, 255, 255, 255],
|
||||||
"quality_slider_handle_hover": [127, 127, 127, 255],
|
"quality_slider_handle_hover": [127, 127, 127, 255],
|
||||||
"quality_slider_text": [255, 255, 255, 255]
|
"quality_slider_text": [255, 255, 255, 255],
|
||||||
|
|
||||||
|
"toolbox_header_button_text_active": [255, 255, 255, 255],
|
||||||
|
"toolbox_header_button_text_inactive": [128, 128, 128, 255],
|
||||||
|
"toolbox_header_button_text_hovered": [255, 255, 255, 255]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,85 +90,11 @@ QtObject {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
property Component topbar_header_tab_no_overlay: Component {
|
property Component topheader_tab: Component {
|
||||||
ButtonStyle {
|
|
||||||
background: Rectangle {
|
|
||||||
implicitHeight: Theme.getSize("topbar_button").height
|
|
||||||
implicitWidth: Theme.getSize("topbar_button").width
|
|
||||||
color: "transparent"
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
Rectangle
|
|
||||||
{
|
|
||||||
id: underline
|
|
||||||
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
width: parent.width
|
|
||||||
height: Theme.getSize("sidebar_header_highlight").height
|
|
||||||
color: control.checked ? UM.Theme.getColor("sidebar_header_highlight") : UM.Theme.getColor("sidebar_header_highlight_hover")
|
|
||||||
visible: control.hovered || control.checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
label: Rectangle {
|
|
||||||
implicitHeight: Theme.getSize("topbar_button_icon").height
|
|
||||||
implicitWidth: Theme.getSize("topbar_button").width
|
|
||||||
color: "transparent"
|
|
||||||
anchors.fill: parent
|
|
||||||
|
|
||||||
Item
|
|
||||||
{
|
|
||||||
anchors.centerIn: parent
|
|
||||||
width: Math.round(textLabel.width + icon.width + Theme.getSize("default_margin").width / 2)
|
|
||||||
Label
|
|
||||||
{
|
|
||||||
id: textLabel
|
|
||||||
text: control.text
|
|
||||||
anchors.right: icon.visible ? icon.left : parent.right
|
|
||||||
anchors.rightMargin: icon.visible ? Math.round(Theme.getSize("default_margin").width / 2) : 0
|
|
||||||
anchors.verticalCenter: parent.verticalCenter;
|
|
||||||
font: control.checked ? UM.Theme.getFont("large") : UM.Theme.getFont("large_nonbold")
|
|
||||||
color:
|
|
||||||
{
|
|
||||||
if(control.hovered)
|
|
||||||
{
|
|
||||||
return UM.Theme.getColor("topbar_button_text_hovered");
|
|
||||||
}
|
|
||||||
if(control.checked)
|
|
||||||
{
|
|
||||||
return UM.Theme.getColor("topbar_button_text_active");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return UM.Theme.getColor("topbar_button_text_inactive");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Image
|
|
||||||
{
|
|
||||||
id: icon
|
|
||||||
visible: control.iconSource != ""
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
opacity: !control.enabled ? 0.2 : 1.0
|
|
||||||
source: control.iconSource
|
|
||||||
width: visible ? Theme.getSize("topbar_button_icon").width : 0
|
|
||||||
height: Theme.getSize("topbar_button_icon").height
|
|
||||||
|
|
||||||
sourceSize: Theme.getSize("topbar_button_icon")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
property Component topbar_header_tab: Component {
|
|
||||||
ButtonStyle {
|
ButtonStyle {
|
||||||
background: Item {
|
background: Item {
|
||||||
implicitHeight: Theme.getSize("topbar_button").height
|
implicitHeight: Theme.getSize("topheader_button").height
|
||||||
implicitWidth: Theme.getSize("topbar_button").width + Theme.getSize("topbar_button_icon").width
|
implicitWidth: Theme.getSize("topheader_button").width + Theme.getSize("topheader_button_icon").width
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: buttonFace;
|
id: buttonFace;
|
||||||
|
@ -182,7 +108,7 @@ QtObject {
|
||||||
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
width: Theme.getSize("topbar_button").width + Theme.getSize("topbar_button_icon").width
|
width: Theme.getSize("topheader_button").width + Theme.getSize("topheader_button_icon").width
|
||||||
height: Theme.getSize("sidebar_header_highlight").height
|
height: Theme.getSize("sidebar_header_highlight").height
|
||||||
color: control.checked ? UM.Theme.getColor("sidebar_header_highlight") : UM.Theme.getColor("sidebar_header_highlight_hover")
|
color: control.checked ? UM.Theme.getColor("sidebar_header_highlight") : UM.Theme.getColor("sidebar_header_highlight_hover")
|
||||||
visible: control.hovered || control.checked
|
visible: control.hovered || control.checked
|
||||||
|
@ -192,14 +118,14 @@ QtObject {
|
||||||
|
|
||||||
label: Item
|
label: Item
|
||||||
{
|
{
|
||||||
implicitHeight: Theme.getSize("topbar_button_icon").height
|
implicitHeight: Theme.getSize("topheader_button_icon").height
|
||||||
implicitWidth: Theme.getSize("topbar_button").width + Theme.getSize("topbar_button_icon").width
|
implicitWidth: Theme.getSize("topheader_button").width + Theme.getSize("topheader_button_icon").width
|
||||||
Item
|
Item
|
||||||
{
|
{
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
anchors.verticalCenter: parent.verticalCenter;
|
anchors.verticalCenter: parent.verticalCenter;
|
||||||
width: childrenRect.width
|
width: childrenRect.width
|
||||||
height: Theme.getSize("topbar_button_icon").height
|
height: Theme.getSize("topheader_button_icon").height
|
||||||
Label
|
Label
|
||||||
{
|
{
|
||||||
id: button_label
|
id: button_label
|
||||||
|
@ -210,15 +136,15 @@ QtObject {
|
||||||
{
|
{
|
||||||
if(control.hovered)
|
if(control.hovered)
|
||||||
{
|
{
|
||||||
return UM.Theme.getColor("topbar_button_text_hovered");
|
return UM.Theme.getColor("topheader_button_text_hovered");
|
||||||
}
|
}
|
||||||
if(control.checked)
|
if(control.checked)
|
||||||
{
|
{
|
||||||
return UM.Theme.getColor("topbar_button_text_active");
|
return UM.Theme.getColor("topheader_button_text_active");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return UM.Theme.getColor("topbar_button_text_inactive");
|
return UM.Theme.getColor("topheader_button_text_inactive");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -231,10 +157,10 @@ QtObject {
|
||||||
color: UM.Theme.getColor("text_emphasis")
|
color: UM.Theme.getColor("text_emphasis")
|
||||||
opacity: !control.enabled ? 0.2 : 1.0
|
opacity: !control.enabled ? 0.2 : 1.0
|
||||||
source: control.iconSource
|
source: control.iconSource
|
||||||
width: visible ? Theme.getSize("topbar_button_icon").width : 0
|
width: visible ? Theme.getSize("topheader_button_icon").width : 0
|
||||||
height: Theme.getSize("topbar_button_icon").height
|
height: Theme.getSize("topheader_button_icon").height
|
||||||
|
|
||||||
sourceSize: Theme.getSize("topbar_button_icon")
|
sourceSize: Theme.getSize("topheader_button_icon")
|
||||||
}
|
}
|
||||||
UM.RecolorImage
|
UM.RecolorImage
|
||||||
{
|
{
|
||||||
|
@ -245,10 +171,10 @@ QtObject {
|
||||||
color: control.overlayColor
|
color: control.overlayColor
|
||||||
opacity: !control.enabled ? 0.2 : 1.0
|
opacity: !control.enabled ? 0.2 : 1.0
|
||||||
source: control.overlayIconSource
|
source: control.overlayIconSource
|
||||||
width: visible ? Theme.getSize("topbar_button_icon").width : 0
|
width: visible ? Theme.getSize("topheader_button_icon").width : 0
|
||||||
height: Theme.getSize("topbar_button_icon").height
|
height: Theme.getSize("topheader_button_icon").height
|
||||||
|
|
||||||
sourceSize: Theme.getSize("topbar_button_icon")
|
sourceSize: Theme.getSize("topheader_button_icon")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,12 +79,11 @@
|
||||||
"border": [127, 127, 127, 255],
|
"border": [127, 127, 127, 255],
|
||||||
"secondary": [245, 245, 245, 255],
|
"secondary": [245, 245, 245, 255],
|
||||||
|
|
||||||
"topbar_background_color": [255, 255, 255, 0],
|
"topheader_background": [255, 255, 255, 255],
|
||||||
"topbar_background_color_monitoring": [255, 255, 255, 255],
|
|
||||||
|
|
||||||
"topbar_button_text_active": [0, 0, 0, 255],
|
"topheader_button_text_active": [0, 0, 0, 255],
|
||||||
"topbar_button_text_inactive": [128, 128, 128, 255],
|
"topheader_button_text_inactive": [128, 128, 128, 255],
|
||||||
"topbar_button_text_hovered": [0, 0, 0, 255],
|
"topheader_button_text_hovered": [0, 0, 0, 255],
|
||||||
|
|
||||||
"text": [0, 0, 0, 255],
|
"text": [0, 0, 0, 255],
|
||||||
"text_detail": [174, 174, 174, 128],
|
"text_detail": [174, 174, 174, 128],
|
||||||
|
@ -317,6 +316,10 @@
|
||||||
"printer_config_matched": [12, 169, 227, 255],
|
"printer_config_matched": [12, 169, 227, 255],
|
||||||
"printer_config_mismatch": [127, 127, 127, 255],
|
"printer_config_mismatch": [127, 127, 127, 255],
|
||||||
|
|
||||||
|
"toolbox_header_button_text_active": [0, 0, 0, 255],
|
||||||
|
"toolbox_header_button_text_inactive": [128, 128, 128, 255],
|
||||||
|
"toolbox_header_button_text_hovered": [0, 0, 0, 255],
|
||||||
|
|
||||||
"favorites_header_bar": [245, 245, 245, 255],
|
"favorites_header_bar": [245, 245, 245, 255],
|
||||||
"favorites_header_hover": [245, 245, 245, 255],
|
"favorites_header_hover": [245, 245, 245, 255],
|
||||||
"favorites_header_text": [31, 36, 39, 255],
|
"favorites_header_text": [31, 36, 39, 255],
|
||||||
|
@ -332,6 +335,13 @@
|
||||||
"sizes": {
|
"sizes": {
|
||||||
"window_minimum_size": [70, 50],
|
"window_minimum_size": [70, 50],
|
||||||
|
|
||||||
|
"topheader": [0.0, 4.0],
|
||||||
|
"topheader_logo_right_margin": [3, 0],
|
||||||
|
"topheader_button": [8, 4],
|
||||||
|
"topheader_button_icon": [1.2, 1.2],
|
||||||
|
|
||||||
|
"views_selector": [0.0, 4.0],
|
||||||
|
|
||||||
"default_lining": [0.08, 0.08],
|
"default_lining": [0.08, 0.08],
|
||||||
"default_arrow": [0.8, 0.8],
|
"default_arrow": [0.8, 0.8],
|
||||||
"logo": [7.6, 1.6],
|
"logo": [7.6, 1.6],
|
||||||
|
@ -390,10 +400,6 @@
|
||||||
"printer_status_icon": [1.8, 1.8],
|
"printer_status_icon": [1.8, 1.8],
|
||||||
"printer_sync_icon": [1.2, 1.2],
|
"printer_sync_icon": [1.2, 1.2],
|
||||||
|
|
||||||
"topbar_logo_right_margin": [3, 0],
|
|
||||||
"topbar_button": [8, 4],
|
|
||||||
"topbar_button_icon": [1.2, 1.2],
|
|
||||||
|
|
||||||
"button_tooltip": [1.0, 1.3],
|
"button_tooltip": [1.0, 1.3],
|
||||||
"button_tooltip_arrow": [0.25, 0.25],
|
"button_tooltip_arrow": [0.25, 0.25],
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue