Added logout. Truncate username to 8 characters

This commit is contained in:
vladest 2017-08-25 17:37:10 +02:00
parent be56cab8e1
commit 26026cb2b5
4 changed files with 39 additions and 10 deletions

View file

@ -1,5 +1,6 @@
import QtQuick 2.5
import QtGraphicalEffects 1.0
import QtQuick.Layouts 1.3
import "../../styles-uit"
import "../audio" as HifiAudio
@ -116,20 +117,36 @@ Item {
anchors.rightMargin: 30
anchors.verticalCenter: parent.verticalCenter
RalewaySemiBold {
id: usernameText
text: Account.isLoggedIn() ? tabletRoot.username : qsTr("Log in")
anchors.verticalCenter: parent.verticalCenter
horizontalAlignment: Text.AlignRight
anchors.right: parent.right
font.pixelSize: 20
color: "#afafaf"
ColumnLayout {
anchors.fill: parent
RalewaySemiBold {
text: Account.isLoggedIn() ? qsTr("Log out") : qsTr("Log in")
horizontalAlignment: Text.AlignRight
anchors.right: parent.right
font.pixelSize: 20
color: "#afafaf"
}
RalewaySemiBold {
visible: Account.isLoggedIn()
height: Account.isLoggedIn() ? parent.height/2 - parent.spacing/2 : 0
text: Account.isLoggedIn() ? "[" + tabletRoot.usernameShort + "]" : ""
horizontalAlignment: Text.AlignRight
anchors.right: parent.right
font.pixelSize: 20
color: "#afafaf"
}
}
MouseArea {
anchors.fill: parent
enabled: !Account.isLoggedIn()
onClicked: {
DialogsManager.showLoginDialog()
if (!Account.isLoggedIn()) {
DialogsManager.showLoginDialog()
} else {
Account.logOut()
}
}
}
}

View file

@ -8,6 +8,7 @@ Item {
id: tabletRoot
objectName: "tabletRoot"
property string username: "Unknown user"
property string usernameShort: "Unknown user"
property var rootMenu;
property var openModal: null;
property var openMessage: null;
@ -157,6 +158,11 @@ Item {
function setUsername(newUsername) {
username = newUsername;
usernameShort = newUsername.substring(0, 8);
if (newUsername.length > 8) {
usernameShort = usernameShort + "..."
}
}
ListModel {

View file

@ -31,6 +31,11 @@ bool AccountScriptingInterface::checkAndSignalForAccessToken() {
return accountManager->checkAndSignalForAccessToken();
}
void AccountScriptingInterface::logOut() {
auto accountManager = DependencyManager::get<AccountManager>();
return accountManager->logout();
}
QString AccountScriptingInterface::getUsername() {
auto accountManager = DependencyManager::get<AccountManager>();
if (accountManager->isLoggedIn()) {

View file

@ -50,6 +50,7 @@ public slots:
*/
bool isLoggedIn();
bool checkAndSignalForAccessToken();
void logOut();
};
#endif // hifi_AccountScriptingInterface_h