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