Add menu items and triggers.

This commit is contained in:
Kasen IO 2020-08-05 00:14:27 -04:00
parent 2881f1147f
commit c42adc9e00
4 changed files with 36 additions and 6 deletions

View file

@ -9,6 +9,10 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
// For happ(ier) development of QML, use these two things:
// This forces QML files to be pulled from the source as you edit it: HIFI_USE_SOURCE_TREE_RESOURCES=1
// Use this to live reload: DependencyManager::get<OffscreenUi>()->clearCache();
#include "Menu.h" #include "Menu.h"
#include <QDesktopServices> #include <QDesktopServices>
#include <QFileDialog> #include <QFileDialog>
@ -84,6 +88,13 @@ Menu::Menu() {
dialogsManager.data(), &DialogsManager::toggleLoginDialog); dialogsManager.data(), &DialogsManager::toggleLoginDialog);
} }
auto domainLogin = addActionToQMenuAndActionHash(fileMenu, "Domain: Log In");
connect(domainLogin, &QAction::triggered, [] {
auto dialogsManager = DependencyManager::get<DialogsManager>();
dialogsManager->requestDomainLoginState();
dialogsManager->showDomainLoginDialog();
});
// File > Quit // File > Quit
addActionToQMenuAndActionHash(fileMenu, MenuOption::Quit, Qt::CTRL | Qt::Key_Q, qApp, SLOT(quit()), QAction::QuitRole); addActionToQMenuAndActionHash(fileMenu, MenuOption::Quit, Qt::CTRL | Qt::Key_Q, qApp, SLOT(quit()), QAction::QuitRole);

View file

@ -110,13 +110,29 @@ void DialogsManager::setDomainConnectionFailureVisibility(bool visible) {
} }
} }
void DialogsManager::requestMetaverseLogin() { void DialogsManager::requestMetaverseLoginState() {
DialogsManager::setDomainLogin(false); DialogsManager::setMetaverseLoginState();
}
void DialogsManager::requestDomainLoginState() {
DialogsManager::setDomainLoginState();
}
void DialogsManager::setMetaverseLoginState() {
// We're only turning off the domain login trigger but the actual domain auth URL is still saved.
// So we can continue the domain login if desired.
_isDomainLogin = false;
}
void DialogsManager::setDomainLoginState() {
_isDomainLogin = true;
} }
void DialogsManager::setDomainLogin(bool isDomainLogin, const QString& domain) { void DialogsManager::setDomainLogin(bool isDomainLogin, const QString& domain) {
_isDomainLogin = isDomainLogin; _isDomainLogin = isDomainLogin;
_domainLoginDomain = domain; if (!domain.isEmpty()) {
_domainLoginDomain = domain;
}
} }
void DialogsManager::toggleLoginDialog() { void DialogsManager::toggleLoginDialog() {

View file

@ -41,7 +41,8 @@ public:
QPointer<TestingDialog> getTestingDialog() const { return _testingDialog; } QPointer<TestingDialog> getTestingDialog() const { return _testingDialog; }
void emitAddressBarShown(bool visible) { emit addressBarShown(visible); } void emitAddressBarShown(bool visible) { emit addressBarShown(visible); }
void setAddressBarVisible(bool addressBarVisible); void setAddressBarVisible(bool addressBarVisible);
void requestMetaverseLogin(); void requestMetaverseLoginState();
void requestDomainLoginState();
bool getIsDomainLogin() { return _isDomainLogin; } bool getIsDomainLogin() { return _isDomainLogin; }
QString getDomainLoginDomain() { return _domainLoginDomain; } QString getDomainLoginDomain() { return _domainLoginDomain; }
@ -53,7 +54,7 @@ public slots:
void toggleLoginDialog(); void toggleLoginDialog();
void showLoginDialog(); void showLoginDialog();
void hideLoginDialog(); void hideLoginDialog();
void showDomainLoginDialog(const QString& domain); void showDomainLoginDialog(const QString& domain = "");
void octreeStatsDetails(); void octreeStatsDetails();
void lodTools(); void lodTools();
void hmdTools(bool showTools); void hmdTools(bool showTools);
@ -89,6 +90,8 @@ private:
bool _addressBarVisible { false }; bool _addressBarVisible { false };
void setDomainLogin(bool isDomainLogin, const QString& domain = ""); void setDomainLogin(bool isDomainLogin, const QString& domain = "");
void setMetaverseLoginState();
void setDomainLoginState();
bool _isDomainLogin { false }; bool _isDomainLogin { false };
QString _domainLoginDomain; QString _domainLoginDomain;
}; };

View file

@ -108,7 +108,7 @@ void LoginDialog::toggleAction() {
// if not in login state, show. // if not in login state, show.
if (!qApp->getLoginDialogPoppedUp()) { if (!qApp->getLoginDialogPoppedUp()) {
auto dialogsManager = DependencyManager::get<DialogsManager>(); auto dialogsManager = DependencyManager::get<DialogsManager>();
dialogsManager->requestMetaverseLogin(); dialogsManager->requestMetaverseLoginState();
LoginDialog::showWithSelection(); LoginDialog::showWithSelection();
} }
}); });