Showing the changes to interface/src/scripting/MenuScriptingInterface.cpp (1 of 5 files). Show all
Unified · Split
| @@ -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 | ||
| 23 | MenuScriptingInterface::MenuScriptingInterface() { | ||
| 24 | connect(qApp, &Application::menuBarVisibilityChanged, this, &MenuScriptingInterface::visibilityChanged); | ||
| 25 | } | ||
| 26 | |||
| 23 | MenuScriptingInterface* MenuScriptingInterface::getInstance() { | 27 | MenuScriptingInterface* 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 | ||
| 222 | void MenuScriptingInterface::setVisible(bool visible) { | 226 | void 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 | ||
| 238 | bool MenuScriptingInterface::isVisible() { | 230 | bool MenuScriptingInterface::isVisible() { |
| 239 | return qApp->getWindow()->menuBar()->isVisible(); | 231 | return qApp->getMenuBarVisible(); |
| 240 | } | 232 | } |