diff --git a/resources/qml/UserProfile.qml b/resources/qml/UserProfile.qml
index 79e2b665..4442c97d 100644
--- a/resources/qml/UserProfile.qml
+++ b/resources/qml/UserProfile.qml
@@ -36,7 +36,10 @@ ApplicationWindow {
TextInput {
id: displayUsername
- readOnly: !profile.isUsernameEditingAllowed
+
+ property bool isUsernameEditingAllowed
+
+ readOnly: !isUsernameEditingAllowed
text: profile.displayName
font.pixelSize: 20
color: TimelineManager.userColor(profile.userid, colors.window)
@@ -44,20 +47,24 @@ ApplicationWindow {
Layout.alignment: Qt.AlignHCenter
selectByMouse: true
- onAccepted: profile.changeUsername(displayUsername.text)
+ onAccepted: {
+ profile.changeUsername(displayUsername.text)
+ displayUsername.isUsernameEditingAllowed = false
+ }
ImageButton {
visible: profile.isSelf
anchors.leftMargin: 5
anchors.left: displayUsername.right
anchors.verticalCenter: displayUsername.verticalCenter
- image: profile.isUsernameEditingAllowed ? ":/icons/icons/ui/checkmark.png" : ":/icons/icons/ui/edit.png"
+ image: displayUsername.isUsernameEditingAllowed ? ":/icons/icons/ui/checkmark.png" : ":/icons/icons/ui/edit.png"
onClicked: {
- if (profile.isUsernameEditingAllowed) {
+ if (displayUsername.isUsernameEditingAllowed) {
profile.changeUsername(displayUsername.text)
+ displayUsername.isUsernameEditingAllowed = false
} else {
- profile.allowUsernameEditing(true)
+ displayUsername.isUsernameEditingAllowed = true
}
}
}
diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp
index 9e8d45b5..3872294a 100644
--- a/src/ui/UserProfile.cpp
+++ b/src/ui/UserProfile.cpp
@@ -270,8 +270,6 @@ UserProfile::changeUsername(QString username)
err->matrix_error.error);
});
}
-
- allowUsernameEditing(false);
}
void
@@ -291,19 +289,6 @@ UserProfile::unverify(QString device)
}
void
-UserProfile::allowUsernameEditing(bool allow)
-{
- usernameEditing = allow;
- emit usernameEditingChanged();
-}
-
-bool
-UserProfile::isUsernameEditingAllowed() const
-{
- return usernameEditing;
-}
-
-void
UserProfile::setGlobalUsername(const QString &globalUser)
{
globalUsername = globalUser;
diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h
index d450d58f..11f588b6 100644
--- a/src/ui/UserProfile.h
+++ b/src/ui/UserProfile.h
@@ -88,8 +88,6 @@ class UserProfile : public QObject
Q_PROPERTY(
bool userVerificationEnabled READ userVerificationEnabled NOTIFY userStatusChanged)
Q_PROPERTY(bool isSelf READ isSelf CONSTANT)
- Q_PROPERTY(
- bool isUsernameEditingAllowed READ isUsernameEditingAllowed NOTIFY usernameEditingChanged)
public:
UserProfile(QString roomid,
QString userid,
@@ -105,7 +103,6 @@ public:
bool getUserStatus();
bool userVerificationEnabled() const;
bool isSelf() const;
- bool isUsernameEditingAllowed() const;
Q_INVOKABLE void verify(QString device = "");
Q_INVOKABLE void unverify(QString device = "");
@@ -115,11 +112,9 @@ public:
Q_INVOKABLE void kickUser();
Q_INVOKABLE void startChat();
Q_INVOKABLE void changeUsername(QString username);
- Q_INVOKABLE void allowUsernameEditing(bool allow);
signals:
void userStatusChanged();
- void usernameEditingChanged();
void displayNameChanged();
void globalUsernameRetrieved(const QString &globalUser);
@@ -130,9 +125,8 @@ private:
QString roomid_, userid_;
QString globalUsername;
DeviceInfoModel deviceList_;
- bool isUserVerified = false;
- bool hasMasterKey = false;
- bool usernameEditing = false;
+ bool isUserVerified = false;
+ bool hasMasterKey = false;
TimelineViewManager *manager;
TimelineModel *model;
};
|