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
//
// 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 <QDesktopServices>
#include <QFileDialog>
@ -84,6 +88,13 @@ Menu::Menu() {
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
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() {
DialogsManager::setDomainLogin(false);
void DialogsManager::requestMetaverseLoginState() {
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) {
_isDomainLogin = isDomainLogin;
_domainLoginDomain = domain;
if (!domain.isEmpty()) {
_domainLoginDomain = domain;
}
}
void DialogsManager::toggleLoginDialog() {

View file

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

View file

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