diff --git a/interface/resources/qml/LoginDialog.qml b/interface/resources/qml/LoginDialog.qml index 227fce3454..336858502d 100644 --- a/interface/resources/qml/LoginDialog.qml +++ b/interface/resources/qml/LoginDialog.qml @@ -85,13 +85,4 @@ ModalWindow { break } } - Component.onDestruction: { - if (closeButtonVisible && clickedCloseButton && Settings.getValue("loginDialogPoppedUp", false)) { - var data = { - "action": "opted out" - }; - UserActivityLogger.logAction("encourageLoginDialog", data); - } - Settings.setValue("loginDialogPoppedUp", false); - } } diff --git a/interface/resources/qml/LoginDialog/LinkAccountBody.qml b/interface/resources/qml/LoginDialog/LinkAccountBody.qml index d19837a023..f7216584e0 100644 --- a/interface/resources/qml/LoginDialog/LinkAccountBody.qml +++ b/interface/resources/qml/LoginDialog/LinkAccountBody.qml @@ -350,11 +350,23 @@ Item { bodyLoader.item.width = root.pane.width bodyLoader.item.height = root.pane.height } + if (Settings.getValue("loginDialogPoppedUp", false)) { + var data = { + "action": "user logged in" + }; + UserActivityLogger.logAction("encourageLoginDialog", data); + } } onHandleLoginFailed: { console.log("Login Failed") mainTextContainer.visible = true toggleLoading(false) + if (Settings.getValue("loginDialogPoppedUp", false)) { + var data = { + "action": "user failed logging in" + }; + UserActivityLogger.logAction("encourageLoginDialog", data); + } } onHandleLinkCompleted: { console.log("Link Succeeded") diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 7f437e273c..de788de99f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2309,16 +2309,14 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo auto accountManager = DependencyManager::get(); auto dialogsManager = DependencyManager::get(); if (!accountManager->isLoggedIn() && !qApp->isHMDMode()) { - Settings settings; - settings.setValue("loginDialogPoppedUp", true); + Setting::Handle{"loginDialogPoppedUp", false}.set(true); dialogsManager->showLoginDialog(); QJsonObject loginData = {}; loginData["action"] = "login dialog shown"; UserActivityLogger::getInstance().logAction("encourageLoginDialog", loginData); } }); - Settings settings; - settings.setValue("loginDialogPoppedUp", false); + Setting::Handle{"loginDialogPoppedUp", false}.set(false); checkLoginTimer->start(); } @@ -2453,6 +2451,8 @@ void Application::onAboutToQuit() { // so its persisted explicitly here Setting::Handle{ ACTIVE_DISPLAY_PLUGIN_SETTING_NAME }.set(getActiveDisplayPlugin()->getName()); + Setting::Handle{"loginDialogPoppedUp", false}.set(false); + getActiveDisplayPlugin()->deactivate(); if (_autoSwitchDisplayModeSupportedHMDPlugin && _autoSwitchDisplayModeSupportedHMDPlugin->isSessionActive()) { @@ -4949,9 +4949,6 @@ void Application::loadSettings() { } void Application::saveSettings() const { - Settings settings; - settings.setValue("loginDialogPoppedUp", false); - sessionRunTime.set(_sessionRunTimer.elapsed() / MSECS_PER_SECOND); DependencyManager::get()->saveSettings(); DependencyManager::get()->saveSettings(); diff --git a/interface/src/ui/LoginDialog.cpp b/interface/src/ui/LoginDialog.cpp index 6d94e1419b..5116c2a92c 100644 --- a/interface/src/ui/LoginDialog.cpp +++ b/interface/src/ui/LoginDialog.cpp @@ -43,7 +43,6 @@ LoginDialog::LoginDialog(QQuickItem *parent) : OffscreenQmlDialog(parent) { } LoginDialog::~LoginDialog() { - Settings settings; Setting::Handle loginDialogPoppedUp{ "loginDialogPoppedUp", false }; auto poppedUp = loginDialogPoppedUp.get(); if (poppedUp) { @@ -51,7 +50,7 @@ LoginDialog::~LoginDialog() { data["action"] = "user opted out"; UserActivityLogger::getInstance().logAction("encourageLoginDialog", data); } - settings.setValue("loginDialogPoppedUp", false); + loginDialogPoppedUp.set(false); } void LoginDialog::showWithSelection()