History

Display domain login menu item only on domains that have domain login

David Rowe committed 6 years ago

Commit 67100b51 parent 29e5bfd3 files · +10 −0Browse files

Showing the changes to interface/src/Menu.cpp (1 of 3 files). Show all

Unified · Split

interface/src/Menu.cpp+6−0
@@ -43,6 +43,7 @@ · 42 unmodified lines
4343 #include "avatar/AvatarManager.h"
4444 #include "avatar/AvatarPackager.h"
4545 #include "AvatarBookmarks.h"
46+#include "DomainAccountManager.h"
4647 #include "MainWindow.h"
4748 #include "render/DrawStatus.h"
4849 #include "scripting/MenuScriptingInterface.h"
@@ -73,6 +74,7 @@ const char* EXCLUSION_GROUP_KEY = "exclusionGroup"; · 24 unmodified lines
7374 Menu::Menu() {
7475 auto dialogsManager = DependencyManager::get<DialogsManager>();
7576 auto accountManager = DependencyManager::get<AccountManager>();
77+ auto domainAccountManager = DependencyManager::get<DomainAccountManager>();
7678
7779 // File/Application menu ----------------------------------
7880 MenuWrapper* fileMenu = addMenu("File");
@@ -89,11 +91,15 @@ Menu::Menu() { · 10 unmodified lines
8991 }
9092
9193 auto domainLogin = addActionToQMenuAndActionHash(fileMenu, "Domain: Log In");
94+ domainLogin->setVisible(false);
9295 connect(domainLogin, &QAction::triggered, [] {
9396 auto dialogsManager = DependencyManager::get<DialogsManager>();
9497 dialogsManager->setDomainLoginState();
9598 dialogsManager->showDomainLoginDialog();
9699 });
100+ connect(domainAccountManager.data(), &DomainAccountManager::hasLogInChanged, [domainLogin](bool hasLogIn) {
101+ domainLogin->setVisible(hasLogIn);
102+ });
97103
98104 // File > Quit
99105 addActionToQMenuAndActionHash(fileMenu, MenuOption::Quit, Qt::CTRL | Qt::Key_Q, qApp, SLOT(quit()), QAction::QuitRole);