mirror of
https://github.com/overte-org/overte.git
synced 2025-04-15 03:47:56 +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() {
|
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) {
|
if (!isLoggingInToDomain) {
|
||||||
loginDialog.login(emailField.text, passwordField.text);
|
loginDialog.login(emailField.text, passwordField.text);
|
||||||
} else {
|
} else {
|
||||||
|
@ -118,6 +131,10 @@ Item {
|
||||||
if (!isLoggingInToDomain) {
|
if (!isLoggingInToDomain) {
|
||||||
var savedUsername = Settings.getValue("keepMeLoggedIn/savedUsername", "");
|
var savedUsername = Settings.getValue("keepMeLoggedIn/savedUsername", "");
|
||||||
emailField.text = keepMeLoggedInCheckbox.checked ? savedUsername === "Unknown user" ? "" : 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 {
|
} else {
|
||||||
// ####### TODO
|
// ####### TODO
|
||||||
}
|
}
|
||||||
|
@ -147,7 +164,7 @@ Item {
|
||||||
Item {
|
Item {
|
||||||
id: loginContainer
|
id: loginContainer
|
||||||
width: displayNameField.width
|
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
|
keepMeLoggedInCheckbox.height + loginButton.height + cantAccessTextMetrics.height + continueButton.height
|
||||||
anchors {
|
anchors {
|
||||||
top: parent.top
|
top: parent.top
|
||||||
|
@ -237,18 +254,11 @@ Item {
|
||||||
break;
|
break;
|
||||||
case Qt.Key_Backtab:
|
case Qt.Key_Backtab:
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
passwordField.focus = true;
|
metaverseServerField.focus = true;
|
||||||
break;
|
break;
|
||||||
case Qt.Key_Enter:
|
case Qt.Key_Enter:
|
||||||
case Qt.Key_Return:
|
case Qt.Key_Return:
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
if (keepMeLoggedInCheckbox.checked) {
|
|
||||||
if (!isLoggingInToDomain) {
|
|
||||||
Settings.setValue("keepMeLoggedIn/savedUsername", emailField.text);
|
|
||||||
} else {
|
|
||||||
// ####### TODO
|
|
||||||
}
|
|
||||||
}
|
|
||||||
linkAccountBody.login();
|
linkAccountBody.login();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -285,13 +295,7 @@ Item {
|
||||||
case Qt.Key_Enter:
|
case Qt.Key_Enter:
|
||||||
case Qt.Key_Return:
|
case Qt.Key_Return:
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
if (keepMeLoggedInCheckbox.checked) {
|
|
||||||
if (!isLoggingInToDomain) {
|
|
||||||
Settings.setValue("keepMeLoggedIn/savedUsername", emailField.text);
|
|
||||||
} else {
|
|
||||||
// ####### TODO
|
|
||||||
}
|
|
||||||
}
|
|
||||||
linkAccountBody.login();
|
linkAccountBody.login();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -360,7 +364,7 @@ Item {
|
||||||
switch (event.key) {
|
switch (event.key) {
|
||||||
case Qt.Key_Tab:
|
case Qt.Key_Tab:
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
displayNameField.focus = true;
|
metaverseServerField.focus = true;
|
||||||
break;
|
break;
|
||||||
case Qt.Key_Backtab:
|
case Qt.Key_Backtab:
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
|
@ -369,18 +373,69 @@ Item {
|
||||||
case Qt.Key_Enter:
|
case Qt.Key_Enter:
|
||||||
case Qt.Key_Return:
|
case Qt.Key_Return:
|
||||||
event.accepted = true;
|
event.accepted = true;
|
||||||
if (keepMeLoggedInCheckbox.checked) {
|
|
||||||
if (!isLoggingInToDomain) {
|
|
||||||
Settings.setValue("keepMeLoggedIn/savedUsername", emailField.text);
|
|
||||||
} else {
|
|
||||||
// ####### TODO
|
|
||||||
}
|
|
||||||
}
|
|
||||||
linkAccountBody.login();
|
linkAccountBody.login();
|
||||||
break;
|
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 {
|
HifiControlsUit.CheckBox {
|
||||||
id: keepMeLoggedInCheckbox
|
id: keepMeLoggedInCheckbox
|
||||||
checked: !isLoggingInToDomain ? Settings.getValue("keepMeLoggedIn", false) : false; // ####### TODO
|
checked: !isLoggingInToDomain ? Settings.getValue("keepMeLoggedIn", false) : false; // ####### TODO
|
||||||
|
@ -391,9 +446,9 @@ Item {
|
||||||
color: hifi.colors.white;
|
color: hifi.colors.white;
|
||||||
visible: !isLoggingInToDomain
|
visible: !isLoggingInToDomain
|
||||||
anchors {
|
anchors {
|
||||||
top: passwordField.bottom;
|
top: metaverseServerField.bottom;
|
||||||
topMargin: hifi.dimensions.contentSpacing.y;
|
topMargin: hifi.dimensions.contentSpacing.y;
|
||||||
left: passwordField.left;
|
left: metaverseServerField.left;
|
||||||
}
|
}
|
||||||
onCheckedChanged: {
|
onCheckedChanged: {
|
||||||
Settings.setValue("keepMeLoggedIn", checked);
|
Settings.setValue("keepMeLoggedIn", checked);
|
||||||
|
|
|
@ -72,6 +72,11 @@ void AccountServicesScriptingInterface::logOut() {
|
||||||
return accountManager->logout();
|
return accountManager->logout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AccountServicesScriptingInterface::updateAuthURLFromMetaverseServerURL() {
|
||||||
|
auto accountManager = DependencyManager::get<AccountManager>();
|
||||||
|
return accountManager->updateAuthURLFromMetaverseServerURL();
|
||||||
|
}
|
||||||
|
|
||||||
void AccountServicesScriptingInterface::loggedOut() {
|
void AccountServicesScriptingInterface::loggedOut() {
|
||||||
emit AccountServicesScriptingInterface::disconnected(QString("logout"));
|
emit AccountServicesScriptingInterface::disconnected(QString("logout"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -192,6 +192,12 @@ public slots:
|
||||||
* @function AccountServices.logOut
|
* @function AccountServices.logOut
|
||||||
*/
|
*/
|
||||||
void 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:
|
private slots:
|
||||||
void loggedOut();
|
void loggedOut();
|
||||||
|
|
|
@ -205,6 +205,10 @@ void AccountManager::setAuthURL(const QUrl& authURL) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AccountManager::updateAuthURLFromMetaverseServerURL() {
|
||||||
|
setAuthURL(MetaverseAPI::getCurrentMetaverseServerURL());
|
||||||
|
}
|
||||||
|
|
||||||
void AccountManager::setSessionID(const QUuid& sessionID) {
|
void AccountManager::setSessionID(const QUuid& sessionID) {
|
||||||
if (_sessionID != sessionID) {
|
if (_sessionID != sessionID) {
|
||||||
qCDebug(networking) << "Metaverse session ID changed to" << uuidStringWithoutCurlyBraces(sessionID);
|
qCDebug(networking) << "Metaverse session ID changed to" << uuidStringWithoutCurlyBraces(sessionID);
|
||||||
|
|
|
@ -79,6 +79,7 @@ public:
|
||||||
const QUrl& getAuthURL() const { return _authURL; }
|
const QUrl& getAuthURL() const { return _authURL; }
|
||||||
void setAuthURL(const QUrl& authURL);
|
void setAuthURL(const QUrl& authURL);
|
||||||
bool hasAuthEndpoint() { return !_authURL.isEmpty(); }
|
bool hasAuthEndpoint() { return !_authURL.isEmpty(); }
|
||||||
|
Q_INVOKABLE void updateAuthURLFromMetaverseServerURL();
|
||||||
|
|
||||||
bool isLoggedIn() { return !_authURL.isEmpty() && hasValidAccessToken(); }
|
bool isLoggedIn() { return !_authURL.isEmpty() && hasValidAccessToken(); }
|
||||||
bool hasValidAccessToken();
|
bool hasValidAccessToken();
|
||||||
|
|
Loading…
Reference in a new issue