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
43#include "avatar/AvatarManager.h"43#include "avatar/AvatarManager.h"
44#include "avatar/AvatarPackager.h"44#include "avatar/AvatarPackager.h"
45#include "AvatarBookmarks.h"45#include "AvatarBookmarks.h"
46#include "DomainAccountManager.h"
46#include "MainWindow.h"47#include "MainWindow.h"
47#include "render/DrawStatus.h"48#include "render/DrawStatus.h"
48#include "scripting/MenuScriptingInterface.h"49#include "scripting/MenuScriptingInterface.h"
@@ -73,6 +74,7 @@ const char* EXCLUSION_GROUP_KEY = "exclusionGroup"; · 24 unmodified lines
73Menu::Menu() {74Menu::Menu() {
74 auto dialogsManager = DependencyManager::get<DialogsManager>();75 auto dialogsManager = DependencyManager::get<DialogsManager>();
75 auto accountManager = DependencyManager::get<AccountManager>();76 auto accountManager = DependencyManager::get<AccountManager>();
77 auto domainAccountManager = DependencyManager::get<DomainAccountManager>();
76 78
77 // File/Application menu ----------------------------------79 // File/Application menu ----------------------------------
78 MenuWrapper* fileMenu = addMenu("File");80 MenuWrapper* fileMenu = addMenu("File");
@@ -89,11 +91,15 @@ Menu::Menu() { · 10 unmodified lines
89 }91 }
90 92
91 auto domainLogin = addActionToQMenuAndActionHash(fileMenu, "Domain: Log In");93 auto domainLogin = addActionToQMenuAndActionHash(fileMenu, "Domain: Log In");
94 domainLogin->setVisible(false);
92 connect(domainLogin, &QAction::triggered, [] {95 connect(domainLogin, &QAction::triggered, [] {
93 auto dialogsManager = DependencyManager::get<DialogsManager>();96 auto dialogsManager = DependencyManager::get<DialogsManager>();
94 dialogsManager->setDomainLoginState();97 dialogsManager->setDomainLoginState();
95 dialogsManager->showDomainLoginDialog();98 dialogsManager->showDomainLoginDialog();
96 });99 });
100 connect(domainAccountManager.data(), &DomainAccountManager::hasLogInChanged, [domainLogin](bool hasLogIn) {
101 domainLogin->setVisible(hasLogIn);
102 });
97 103
98 // File > Quit104 // File > Quit
99 addActionToQMenuAndActionHash(fileMenu, MenuOption::Quit, Qt::CTRL | Qt::Key_Q, qApp, SLOT(quit()), QAction::QuitRole);105 addActionToQMenuAndActionHash(fileMenu, MenuOption::Quit, Qt::CTRL | Qt::Key_Q, qApp, SLOT(quit()), QAction::QuitRole);