// // DialogsManager.h // interface/src/ui // // Created by Clement on 1/18/15. // Copyright 2015 High Fidelity, Inc. // Copyright 2020 Vircadia contributors. // // 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 #include "HMDToolsDialog.h" #include "TestingDialog.h" class AnimationsDialog; class AttachmentsDialog; class CachesSizeDialog; class LodToolsDialog; class OctreeStatsDialog; class ScriptEditorWindow; class TestingDialog; class QMessageBox; class DomainConnectionDialog; class DialogsManager : public QObject, public Dependency { Q_OBJECT SINGLETON_DEPENDENCY public: QPointer getHMDToolsDialog() const { return _hmdToolsDialog; } QPointer getLodToolsDialog() const { return _lodToolsDialog; } QPointer getOctreeStatsDialog() const { return _octreeStatsDialog; } QPointer getTestingDialog() const { return _testingDialog; } void emitAddressBarShown(bool visible) { emit addressBarShown(visible); } void setAddressBarVisible(bool addressBarVisible); bool getIsDomainLogin() { return _isDomainLogin; } QString getDomainLoginAuthProvider() { return _domainLoginAuthProvider; } public slots: void showAddressBar(); void hideAddressBar(); void showFeed(); void setDomainConnectionFailureVisibility(bool visible); void toggleLoginDialog(); void showLoginDialog(); void hideLoginDialog(); void showDomainLoginDialog(); void octreeStatsDetails(); void lodTools(); void hmdTools(bool showTools); void showDomainConnectionDialog(); void toggleAddressBar(); // Application Update void showUpdateDialog(); signals: void addressBarShown(bool visible); void setUseFeed(bool useFeed); private slots: void hmdToolsClosed(); private: DialogsManager() {} template void maybeCreateDialog(QPointer& member); QPointer _animationsDialog; QPointer _attachmentsDialog; QPointer _cachesSizeDialog; QPointer _ircInfoBox; QPointer _hmdToolsDialog; QPointer _lodToolsDialog; QPointer _octreeStatsDialog; QPointer _testingDialog; QPointer _domainConnectionDialog; bool _dialogCreatedWhileShown { false }; bool _addressBarVisible { false }; bool _isDomainLogin { false }; QString _domainLoginAuthProvider { "" }; }; #endif // hifi_DialogsManager_h