History

Make Menu.visible a persistent setting

Ada committed 1 year ago

Commit d1b03b11 parent 656b1d45 files · +30 −16Browse files

Showing the changes to interface/src/scripting/MenuScriptingInterface.cpp (1 of 5 files). Show all

Unified · Split

interface/src/scripting/MenuScriptingInterface.cpp+6−14
@@ -20,6 +20,10 @@ · 19 unmodified lines
20#include <MenuItemProperties.h>20#include <MenuItemProperties.h>
21#include "Menu.h"21#include "Menu.h"
22 22
23MenuScriptingInterface::MenuScriptingInterface() {
24 connect(qApp, &Application::menuBarVisibilityChanged, this, &MenuScriptingInterface::visibilityChanged);
25}
26
23MenuScriptingInterface* MenuScriptingInterface::getInstance() {27MenuScriptingInterface* MenuScriptingInterface::getInstance() {
24 static MenuScriptingInterface sharedInstance;28 static MenuScriptingInterface sharedInstance;
25 return &sharedInstance;29 return &sharedInstance;
@@ -220,21 +224,9 @@ void MenuScriptingInterface::triggerOption(const QString& menuOption) { · 194 unmodified lines
220}224}
221 225
222void MenuScriptingInterface::setVisible(bool visible) {226void MenuScriptingInterface::setVisible(bool visible) {
223 if (QThread::currentThread() != qApp->thread()) {227 qApp->setMenuBarVisible(visible);
224 QMetaObject::invokeMethod(this, "setVisible", Q_ARG(bool, visible));
225 return;
226 }
227
228 auto* menuBar = qApp->getWindow()->menuBar();
229 bool wasVisible = menuBar->isVisible();
230
231 if (visible != wasVisible) {
232 menuBar->setVisible(visible);
233
234 emit visibilityChanged(visible);
235 }
236}228}
237 229
238bool MenuScriptingInterface::isVisible() {230bool MenuScriptingInterface::isVisible() {
239 return qApp->getWindow()->menuBar()->isVisible();231 return qApp->getMenuBarVisible();
240}232}