mirror of
https://github.com/overte-org/overte.git
synced 2025-04-08 01:12:48 +02:00
Merge pull request #2 from overte-org/tell-accountmanager-url-changed
Tell accountmanager url changed
This commit is contained in:
commit
e6b78fdedf
5 changed files with 97 additions and 26 deletions
|
@ -74,6 +74,19 @@ Item {
|
|||
}
|
||||
|
||||
function login() {
|
||||
// make sure the metaverse server is set so we don't send your password to the wrong place!
|
||||
if (!isLoggingInToDomain) {
|
||||
Settings.setValue("private/selectedMetaverseURL", metaverseServerField.text);
|
||||
}
|
||||
|
||||
if (keepMeLoggedInCheckbox.checked) {
|
||||
if (!isLoggingInToDomain) {
|
||||
Settings.setValue("keepMeLoggedIn/savedUsername", emailField.text);
|
||||
} else {
|
||||
// ####### TODO
|
||||
}
|
||||
}
|
||||
|
||||
if (!isLoggingInToDomain) {
|
||||
loginDialog.login(emailField.text, passwordField.text);
|
||||
} else {
|
||||
|
@ -118,6 +131,10 @@ Item {
|
|||
if (!isLoggingInToDomain) {
|
||||
var savedUsername = Settings.getValue("keepMeLoggedIn/savedUsername", "");
|
||||
emailField.text = keepMeLoggedInCheckbox.checked ? savedUsername === "Unknown user" ? "" : savedUsername : "";
|
||||
|
||||
var metaverseServer = Settings.getValue("private/selectedMetaverseURL", "");
|
||||
console.log("Saved metaverse server:", metaverseServer);
|
||||
metaverseServerField.text = metaverseServer;
|
||||
} else {
|
||||
// ####### TODO
|
||||
}
|
||||
|
@ -147,7 +164,7 @@ Item {
|
|||
Item {
|
||||
id: loginContainer
|
||||
width: displayNameField.width
|
||||
height: errorContainer.height + loginDialogTextContainer.height + displayNameField.height + emailField.height + passwordField.height + 5.5 * hifi.dimensions.contentSpacing.y +
|
||||
height: errorContainer.height + loginDialogTextContainer.height + displayNameField.height + emailField.height + passwordField.height + metaverseServerField.height + 5.5 * hifi.dimensions.contentSpacing.y +
|
||||
keepMeLoggedInCheckbox.height + loginButton.height + cantAccessTextMetrics.height + continueButton.height
|
||||
anchors {
|
||||
top: parent.top
|
||||
|
@ -237,18 +254,11 @@ Item {
|
|||
break;
|
||||
case Qt.Key_Backtab:
|
||||
event.accepted = true;
|
||||
passwordField.focus = true;
|
||||
metaverseServerField.focus = true;
|
||||
break;
|
||||
case Qt.Key_Enter:
|
||||
case Qt.Key_Return:
|
||||
event.accepted = true;
|
||||
if (keepMeLoggedInCheckbox.checked) {
|
||||
if (!isLoggingInToDomain) {
|
||||
Settings.setValue("keepMeLoggedIn/savedUsername", emailField.text);
|
||||
} else {
|
||||
// ####### TODO
|
||||
}
|
||||
}
|
||||
linkAccountBody.login();
|
||||
break;
|
||||
}
|
||||
|
@ -285,13 +295,7 @@ Item {
|
|||
case Qt.Key_Enter:
|
||||
case Qt.Key_Return:
|
||||
event.accepted = true;
|
||||
if (keepMeLoggedInCheckbox.checked) {
|
||||
if (!isLoggingInToDomain) {
|
||||
Settings.setValue("keepMeLoggedIn/savedUsername", emailField.text);
|
||||
} else {
|
||||
// ####### TODO
|
||||
}
|
||||
}
|
||||
|
||||
linkAccountBody.login();
|
||||
break;
|
||||
}
|
||||
|
@ -360,7 +364,7 @@ Item {
|
|||
switch (event.key) {
|
||||
case Qt.Key_Tab:
|
||||
event.accepted = true;
|
||||
displayNameField.focus = true;
|
||||
metaverseServerField.focus = true;
|
||||
break;
|
||||
case Qt.Key_Backtab:
|
||||
event.accepted = true;
|
||||
|
@ -369,18 +373,69 @@ Item {
|
|||
case Qt.Key_Enter:
|
||||
case Qt.Key_Return:
|
||||
event.accepted = true;
|
||||
if (keepMeLoggedInCheckbox.checked) {
|
||||
if (!isLoggingInToDomain) {
|
||||
Settings.setValue("keepMeLoggedIn/savedUsername", emailField.text);
|
||||
} else {
|
||||
// ####### TODO
|
||||
}
|
||||
}
|
||||
linkAccountBody.login();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
HifiControlsUit.TextField {
|
||||
id: metaverseServerField
|
||||
width: root.bannerWidth
|
||||
height: linkAccountBody.textFieldHeight
|
||||
font.pixelSize: linkAccountBody.textFieldFontSize
|
||||
styleRenderType: Text.QtRendering
|
||||
anchors {
|
||||
top: passwordField.bottom
|
||||
topMargin: 1.5 * hifi.dimensions.contentSpacing.y
|
||||
}
|
||||
placeholderText: "Metaverse Server (optional)"
|
||||
activeFocusOnPress: true
|
||||
Keys.onPressed: {
|
||||
switch (event.key) {
|
||||
case Qt.Key_Tab:
|
||||
event.accepted = true;
|
||||
displayNameField.focus = true;
|
||||
break;
|
||||
case Qt.Key_Backtab:
|
||||
event.accepted = true;
|
||||
passwordField.focus = true;
|
||||
break;
|
||||
case Qt.Key_Enter:
|
||||
case Qt.Key_Return:
|
||||
event.accepted = true;
|
||||
if (!isLoggingInToDomain) {
|
||||
var url = metaverseServerField.text;
|
||||
console.log("Setting metaverse server to", url);
|
||||
Settings.setValue("private/selectedMetaverseURL", url);
|
||||
if(AccountServices.isLoggedIn()){
|
||||
AccountServices.logOut();
|
||||
}
|
||||
passwordField.text = "";
|
||||
AccountServices.updateAuthURLFromMetaverseServerURL();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
onFocusChanged: {
|
||||
root.text = "";
|
||||
if (focus) {
|
||||
root.isPassword = false;
|
||||
}else{
|
||||
var url = metaverseServerField.text;
|
||||
if(!(url == Settings.getValue("private/selectedMetaverseURL")) && !(url == "")){
|
||||
if (!isLoggingInToDomain) {
|
||||
console.log("Setting metaverse server to", url);
|
||||
Settings.setValue("private/selectedMetaverseURL", url);
|
||||
if(AccountServices.isLoggedIn()){
|
||||
AccountServices.logOut();
|
||||
}
|
||||
passwordField.text = "";
|
||||
AccountServices.updateAuthURLFromMetaverseServerURL();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
HifiControlsUit.CheckBox {
|
||||
id: keepMeLoggedInCheckbox
|
||||
checked: !isLoggingInToDomain ? Settings.getValue("keepMeLoggedIn", false) : false; // ####### TODO
|
||||
|
@ -391,9 +446,9 @@ Item {
|
|||
color: hifi.colors.white;
|
||||
visible: !isLoggingInToDomain
|
||||
anchors {
|
||||
top: passwordField.bottom;
|
||||
top: metaverseServerField.bottom;
|
||||
topMargin: hifi.dimensions.contentSpacing.y;
|
||||
left: passwordField.left;
|
||||
left: metaverseServerField.left;
|
||||
}
|
||||
onCheckedChanged: {
|
||||
Settings.setValue("keepMeLoggedIn", checked);
|
||||
|
|
|
@ -72,6 +72,11 @@ void AccountServicesScriptingInterface::logOut() {
|
|||
return accountManager->logout();
|
||||
}
|
||||
|
||||
void AccountServicesScriptingInterface::updateAuthURLFromMetaverseServerURL() {
|
||||
auto accountManager = DependencyManager::get<AccountManager>();
|
||||
return accountManager->updateAuthURLFromMetaverseServerURL();
|
||||
}
|
||||
|
||||
void AccountServicesScriptingInterface::loggedOut() {
|
||||
emit AccountServicesScriptingInterface::disconnected(QString("logout"));
|
||||
}
|
||||
|
|
|
@ -192,6 +192,12 @@ public slots:
|
|||
* @function AccountServices.logOut
|
||||
*/
|
||||
void logOut();
|
||||
|
||||
/*@jsdoc
|
||||
* Updates Metaverse Server URL in AccountManager. It's called by Login window after Metaverse Server URL is changed.
|
||||
* @function AccountServices.updateAuthURLFromMetaverseServerURL
|
||||
*/
|
||||
void updateAuthURLFromMetaverseServerURL();
|
||||
|
||||
private slots:
|
||||
void loggedOut();
|
||||
|
|
|
@ -205,6 +205,10 @@ void AccountManager::setAuthURL(const QUrl& authURL) {
|
|||
}
|
||||
}
|
||||
|
||||
void AccountManager::updateAuthURLFromMetaverseServerURL() {
|
||||
setAuthURL(MetaverseAPI::getCurrentMetaverseServerURL());
|
||||
}
|
||||
|
||||
void AccountManager::setSessionID(const QUuid& sessionID) {
|
||||
if (_sessionID != sessionID) {
|
||||
qCDebug(networking) << "Metaverse session ID changed to" << uuidStringWithoutCurlyBraces(sessionID);
|
||||
|
|
|
@ -79,6 +79,7 @@ public:
|
|||
const QUrl& getAuthURL() const { return _authURL; }
|
||||
void setAuthURL(const QUrl& authURL);
|
||||
bool hasAuthEndpoint() { return !_authURL.isEmpty(); }
|
||||
Q_INVOKABLE void updateAuthURLFromMetaverseServerURL();
|
||||
|
||||
bool isLoggedIn() { return !_authURL.isEmpty() && hasValidAccessToken(); }
|
||||
bool hasValidAccessToken();
|
||||
|
|
Loading…
Reference in a new issue