From fade8f9c043006769e41d8b2aab012a6ef4e01f6 Mon Sep 17 00:00:00 2001 From: Zach Fox Date: Wed, 12 Jun 2019 12:42:58 -0700 Subject: [PATCH] It works! --- interface/resources/qml/hifi/Desktop.qml | 6 +++--- libraries/ui/src/OffscreenUi.cpp | 3 +-- libraries/ui/src/ui/ToolbarScriptingInterface.cpp | 10 +++++----- libraries/ui/src/ui/ToolbarScriptingInterface.h | 12 ++++++------ 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/interface/resources/qml/hifi/Desktop.qml b/interface/resources/qml/hifi/Desktop.qml index 64a145b0c5..87647efe3f 100644 --- a/interface/resources/qml/hifi/Desktop.qml +++ b/interface/resources/qml/hifi/Desktop.qml @@ -74,11 +74,11 @@ OriginalDesktop.Desktop { shown: tablet ? tablet.toolbarMode : false; onVisibleChanged: { - console.log("ZRF HERE DESKTOP.QML: " + visible); - desktop.toolbarVisibleChanged(visible); + console.log("ZRF HERE DESKTOP.QML: " + visible + " " + sysToolbar.objectName); + desktop.toolbarVisibleChanged(visible, sysToolbar.objectName); } } - signal toolbarVisibleChanged(bool isVisible); + signal toolbarVisibleChanged(bool isVisible, string toolbarName); QtSettings.Settings { id: settings; diff --git a/libraries/ui/src/OffscreenUi.cpp b/libraries/ui/src/OffscreenUi.cpp index c39159748d..32512e6316 100644 --- a/libraries/ui/src/OffscreenUi.cpp +++ b/libraries/ui/src/OffscreenUi.cpp @@ -691,8 +691,7 @@ void OffscreenUi::createDesktop(const QUrl& url) { QString toolbarName = newObject->property("toolbarObjectName").toString(); // will return "com.highfidelity.interface.toolbar.system" auto toolbarScriptingInterface = DependencyManager::get(); - _currentToolbarProxy = dynamic_cast(toolbarScriptingInterface->getToolbar(toolbarName)); - connect(_desktop, SIGNAL(toolbarVisibleChanged(bool)), _currentToolbarProxy, SLOT(onToolbarVisibleChanged(bool))); + connect(_desktop, SIGNAL(toolbarVisibleChanged(bool, QString)), toolbarScriptingInterface.data(), SLOT(onToolbarVisibleChanged(bool, QString))); auto keyboardFocus = new KeyboardFocusHack(); connect(_desktop, SIGNAL(showDesktop()), this, SIGNAL(showDesktop())); diff --git a/libraries/ui/src/ui/ToolbarScriptingInterface.cpp b/libraries/ui/src/ui/ToolbarScriptingInterface.cpp index ebc22d528b..dc31d08e42 100644 --- a/libraries/ui/src/ui/ToolbarScriptingInterface.cpp +++ b/libraries/ui/src/ui/ToolbarScriptingInterface.cpp @@ -63,11 +63,6 @@ void ToolbarButtonProxy::editProperties(const QVariantMap& properties) { } } -void ToolbarProxy::onToolbarVisibleChanged(bool isVisible) { - qDebug() << "ZRF HERE IN ENGINE SLOT"; - emit ToolbarProxy::toolbarVisibleChanged(isVisible); -} - ToolbarProxy::ToolbarProxy(QObject* qmlObject, QObject* parent) : QmlWrapper(qmlObject, parent) { Q_ASSERT(QThread::currentThread() == qApp->thread()); } @@ -125,3 +120,8 @@ ToolbarProxy* ToolbarScriptingInterface::getToolbar(const QString& toolbarId) { return new ToolbarProxy(rawToolbar); } + +void ToolbarScriptingInterface::onToolbarVisibleChanged(bool isVisible, QString toolbarName) { + qDebug() << "ZRF HERE IN ENGINE SLOT" << isVisible << toolbarName; + emit ToolbarScriptingInterface::toolbarVisibleChanged(isVisible, toolbarName); +} diff --git a/libraries/ui/src/ui/ToolbarScriptingInterface.h b/libraries/ui/src/ui/ToolbarScriptingInterface.h index 8ce548f7b6..8266bb93f2 100644 --- a/libraries/ui/src/ui/ToolbarScriptingInterface.h +++ b/libraries/ui/src/ui/ToolbarScriptingInterface.h @@ -129,12 +129,6 @@ public: * @param {string[]} propertyList * @returns {object} */ - -public slots: - void onToolbarVisibleChanged(bool isVisible); - -signals: - void toolbarVisibleChanged(bool isVisible); }; Q_DECLARE_METATYPE(ToolbarProxy*); @@ -156,6 +150,12 @@ public: * @returns {ToolbarProxy} */ Q_INVOKABLE ToolbarProxy* getToolbar(const QString& toolbarId); + +public slots: + void onToolbarVisibleChanged(bool isVisible, QString toolbarName); + +signals: + void toolbarVisibleChanged(bool isVisible, QString toolbarName); };