From c59bd6cc09f80467ec0e33ea7dbdb8c67ec95622 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 7 Sep 2017 16:21:26 +0200 Subject: [PATCH] Change LayView Mode button to a dropdown CURA-4212 --- resources/qml/Topbar.qml | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/resources/qml/Topbar.qml b/resources/qml/Topbar.qml index e0001cb5cd..799942f0f6 100644 --- a/resources/qml/Topbar.qml +++ b/resources/qml/Topbar.qml @@ -197,23 +197,40 @@ Rectangle menu: PrinterMenu { } } - Button + ComboBox { id: viewModeButton - anchors { verticalCenter: parent.verticalCenter right: parent.right rightMargin: UM.Theme.getSize("sidebar").width + UM.Theme.getSize("default_margin").width } - text: catalog.i18nc("@action:button", "View Mode") - iconSource: UM.Theme.getIcon("viewmode") + style: UM.Theme.styles.combobox - style: UM.Theme.styles.tool_button - tooltip: ""; - enabled: !PrintInformation.preSliced - menu: ViewMenu { } + model: UM.ViewModel { } + textRole: "name" + onCurrentIndexChanged: + { + UM.Controller.setActiveView(model.getItem(currentIndex).id); + // Update the active flag + for (var i = 0; i < model.rowCount; ++i) + { + const is_active = i == currentIndex; + model.getItem(i).active = is_active; + } + } + currentIndex: + { + for (var i = 0; i < model.rowCount; ++i) + { + if (model.getItem(i).active) + { + return i; + } + } + return 0; + } } Loader