diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 58d0042322..36c1dfccdc 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -82,6 +82,7 @@ #include #include #include +#include "LocationBookmarks.h" #include #include #include @@ -524,6 +525,7 @@ bool setupEssentials(int& argc, char** argv) { DependencyManager::set(); DependencyManager::set(nullptr, qApp->getOcteeSceneStats()); DependencyManager::set(); + DependencyManager::set(); return previousSessionCrashed; } @@ -698,9 +700,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo usleep(USECS_PER_MSEC * 50); // 20hz } - _locationBookmarks = new LocationBookmarks(); // Before setting up the menu - _avatarBookmarks = new AvatarBookmarks(); - // start the nodeThread so its event loop is running QThread* nodeThread = new QThread(this); nodeThread->setObjectName("NodeList Thread"); @@ -2003,6 +2002,7 @@ void Application::initializeUi() { rootContext->setContextProperty("ScriptDiscoveryService", DependencyManager::get().data()); rootContext->setContextProperty("AudioDevice", AudioDeviceScriptingInterface::getInstance()); rootContext->setContextProperty("AvatarBookmarks", DependencyManager::get().data()); + rootContext->setContextProperty("LocationBookmarks", DependencyManager::get().data()); // Caches rootContext->setContextProperty("AnimationCache", DependencyManager::get().data()); @@ -5485,6 +5485,7 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri scriptEngine->registerGlobalObject("AudioStats", DependencyManager::get()->getStats().data()); scriptEngine->registerGlobalObject("AudioScope", DependencyManager::get().data()); scriptEngine->registerGlobalObject("AvatarBookmarks", DependencyManager::get().data()); + scriptEngine->registerGlobalObject("LocationBookmarks", DependencyManager::get().data()); // Caches scriptEngine->registerGlobalObject("AnimationCache", DependencyManager::get().data()); diff --git a/interface/src/Application.h b/interface/src/Application.h index aeb4966066..0c06c086bc 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -52,8 +52,6 @@ #include "avatar/MyAvatar.h" #include "BandwidthRecorder.h" -#include "LocationBookmarks.h" -#include "AvatarBookmarks.h" #include "Camera.h" #include "ConnectionMonitor.h" #include "gpu/Context.h" @@ -264,8 +262,6 @@ public: glm::mat4 getEyeProjection(int eye) const; QRect getDesirableApplicationGeometry() const; - LocationBookmarks* getLocationBookmarks() const { return _locationBookmarks; } - AvatarBookmarks* getAvatarBookmarks() const { return _avatarBookmarks; } virtual bool canAcceptURL(const QString& url) const override; virtual bool acceptURL(const QString& url, bool defaultUpload = false) override; @@ -605,9 +601,6 @@ private: bool _aboutToQuit; - QPointer _locationBookmarks; - QPointer _avatarBookmarks; - bool _notifiedPacketVersionMismatchThisDomain; QThread _settingsThread; diff --git a/interface/src/Bookmarks.cpp b/interface/src/Bookmarks.cpp index 776ac3dbb0..e7af7ea2c9 100644 --- a/interface/src/Bookmarks.cpp +++ b/interface/src/Bookmarks.cpp @@ -136,7 +136,6 @@ int Bookmarks::getMenuItemLocation(QList actions, const QString& name) if (name.toLower().localeAwareCompare(action->text().toLower()) < 0) { menuItemLocation = actions.indexOf(action); break; - } } return menuItemLocation; diff --git a/interface/src/LocationBookmarks.h b/interface/src/LocationBookmarks.h index b762a0be9d..1324e96574 100644 --- a/interface/src/LocationBookmarks.h +++ b/interface/src/LocationBookmarks.h @@ -12,10 +12,12 @@ #ifndef hifi_LocationBookmarks_h #define hifi_LocationBookmarks_h +#include #include "Bookmarks.h" -class LocationBookmarks: public Bookmarks { +class LocationBookmarks : public Bookmarks, public Dependency { Q_OBJECT + SINGLETON_DEPENDENCY public: LocationBookmarks(); diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index e63f87bc99..109900f4a6 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -32,6 +32,7 @@ #include "assets/ATPAssetMigrator.h" #include "audio/AudioScope.h" #include "avatar/AvatarManager.h" +#include "AvatarBookmarks.h" #include "devices/DdeFaceTracker.h" #include "devices/Faceshift.h" #include "MainWindow.h" @@ -40,6 +41,7 @@ #include "ui/DialogsManager.h" #include "ui/StandAloneJSConsole.h" #include "InterfaceLogging.h" +#include "LocationBookmarks.h" #if defined(Q_OS_MAC) || defined(Q_OS_WIN) #include "SpeechRecognizer.h" @@ -195,7 +197,8 @@ Menu::Menu() { qApp, SLOT(resetSensors())); // Avatar > AvatarBookmarks related menus -- Note: the AvatarBookmarks class adds its own submenus here. - qApp->getAvatarBookmarks()->setupMenus(this, avatarMenu); + auto avatarBookmarks = DependencyManager::get(); + avatarBookmarks->setupMenus(this, avatarMenu); // Display menu ---------------------------------- // FIXME - this is not yet matching Alan's spec because it doesn't have @@ -259,7 +262,8 @@ Menu::Menu() { dialogsManager.data(), SLOT(toggleAddressBar())); // Navigate > LocationBookmarks related menus -- Note: the LocationBookmarks class adds its own submenus here. - qApp->getLocationBookmarks()->setupMenus(this, navigateMenu); + auto locationBookmarks = DependencyManager::get(); + locationBookmarks->setupMenus(this, navigateMenu); // Navigate > Copy Address [advanced] auto addressManager = DependencyManager::get(); diff --git a/interface/src/ui/AddressBarDialog.cpp b/interface/src/ui/AddressBarDialog.cpp index 0534a9f456..8aaaac1a57 100644 --- a/interface/src/ui/AddressBarDialog.cpp +++ b/interface/src/ui/AddressBarDialog.cpp @@ -17,6 +17,7 @@ #include "DependencyManager.h" #include "AddressManager.h" #include "DialogsManager.h" +#include "LocationBookmarks.h" HIFI_QML_DEF(AddressBarDialog) @@ -52,7 +53,8 @@ void AddressBarDialog::loadAddress(const QString& address, bool fromSuggestions) void AddressBarDialog::loadHome() { qDebug() << "Called LoadHome"; - QString homeLocation = qApp->getLocationBookmarks()->addressForBookmark(LocationBookmarks::HOME_BOOKMARK); + auto locationBookmarks = DependencyManager::get(); + QString homeLocation = locationBookmarks->addressForBookmark(LocationBookmarks::HOME_BOOKMARK); const QString DEFAULT_HOME_LOCATION = "localhost"; if (homeLocation == "") { homeLocation = DEFAULT_HOME_LOCATION;