// // DialogsManager.h // // // Created by Clement on 1/18/15. // Copyright 2015 High Fidelity, Inc. // // Distributed under the Apache License, Version 2.0. // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // #ifndef hifi_DialogsManager_h #define hifi_DialogsManager_h #include #include class DialogsManager : public QObject, public Dependency { Q_OBJECT SINGLETON_DEPENDENCY public: QPointer getOctreeStatsDialog() { return _octreeStatsDialog; } BandwidthDialog* getBandwidthDialog() const { return _bandwidthDialog; } LodToolsDialog* getLodToolsDialog() const { return _lodToolsDialog; } HMDToolsDialog* getHMDToolsDialog() const { return _hmdToolsDialog; } public slots: void toggleAddressBar(); void toggleLoginDialog(); void showLoginDialog(); void octreeStatsDetails(); void cachesSizeDialog(); void editPreferences(); void editAttachments(); void editAnimations(); void bandwidthDetails(); void lodTools(); void hmdTools(bool showTools); void showMetavoxelEditor(); void showMetavoxelNetworkSimulator(); void showScriptEditor(); private slots: void toggleToolWindow(); void hmdToolsClosed(); private: DialogsManager() {} template void maybeCreateDialog(QPointer& member) { if (!member) { MainWindow* parent = qApp->getWindow(); Q_CHECK_PTR(parent); member = new T(parent); Q_CHECK_PTR(member); if (_hmdToolsDialog) { _hmdToolsDialog->watchWindow(member->windowHandle()); } } } QPointer _addressBarDialog; QPointer _animationsDialog; QPointer _attachmentsDialog; QPointer _bandwidthDialog; QPointer _cachesSizeDialog; QPointer _hmdToolsDialog; QPointer _lodToolsDialog; QPointer _loginDialog; QPointer _metavoxelEditor; QPointer _metavoxelNetworkSimulator; QPointer _octreeStatsDialog; QPointer _preferencesDialog; QPointer _scriptEditor; }; #endif // hifi_DialogsManager_h