Changed edit method from double clicking to an edit button
This commit is contained in:
parent
87490c29cd
commit
b3f29f592b
@ -42,18 +42,26 @@ ApplicationWindow {
|
|||||||
color: TimelineManager.userColor(profile.userid, colors.window)
|
color: TimelineManager.userColor(profile.userid, colors.window)
|
||||||
font.bold: true
|
font.bold: true
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
focus: true
|
selectByMouse: true
|
||||||
|
|
||||||
onEditingFinished: profile.changeUsername(displayUsername.text)
|
Keys.priority: Keys.BeforeItem
|
||||||
|
Keys.onReturnPressed: profile.changeUsername(displayUsername.text)
|
||||||
|
|
||||||
MouseArea {
|
ImageButton {
|
||||||
enabled: !profile.isUsernameEditingAllowed
|
anchors.leftMargin: 5
|
||||||
anchors.fill: parent
|
anchors.left: displayUsername.right
|
||||||
onDoubleClicked: {
|
anchors.verticalCenter: displayUsername.verticalCenter
|
||||||
|
image: profile.isUsernameEditingAllowed ? ":/icons/icons/ui/checkmark.png" : ":/icons/icons/ui/edit.png"
|
||||||
|
|
||||||
|
onClicked: {
|
||||||
|
if(profile.isUsernameEditingAllowed) {
|
||||||
|
profile.changeUsername(displayUsername.text)
|
||||||
|
}else{
|
||||||
profile.allowUsernameEditing(true)
|
profile.allowUsernameEditing(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MatrixText {
|
MatrixText {
|
||||||
text: profile.userid
|
text: profile.userid
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include "TimelineViewManager.h"
|
#include "TimelineViewManager.h"
|
||||||
#include "Utils.h"
|
#include "Utils.h"
|
||||||
#include "dialogs/RawMessage.h"
|
#include "dialogs/RawMessage.h"
|
||||||
|
#include <mtx/responses.hpp>
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(QModelIndex)
|
Q_DECLARE_METATYPE(QModelIndex)
|
||||||
|
|
||||||
@ -260,6 +261,17 @@ TimelineModel::TimelineModel(TimelineViewManager *manager, QString room_id, QObj
|
|||||||
connect(&events, &EventStore::updateFlowEventId, this, [this](std::string event_id) {
|
connect(&events, &EventStore::updateFlowEventId, this, [this](std::string event_id) {
|
||||||
this->updateFlowEventId(event_id);
|
this->updateFlowEventId(event_id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const auto userid = utils::localUser().toStdString();
|
||||||
|
http::client()->get_profile(
|
||||||
|
userid, [this](const mtx::responses::Profile &res, mtx::http::RequestErr err) {
|
||||||
|
if (err) {
|
||||||
|
nhlog::net()->warn("failed to retrieve own profile info");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
globalUsername = QString::fromStdString(res.display_name);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
QHash<int, QByteArray>
|
QHash<int, QByteArray>
|
||||||
@ -801,7 +813,12 @@ TimelineModel::viewDecryptedRawMessage(QString id) const
|
|||||||
void
|
void
|
||||||
TimelineModel::openUserProfile(QString userid, bool global)
|
TimelineModel::openUserProfile(QString userid, bool global)
|
||||||
{
|
{
|
||||||
emit openProfile(new UserProfile(global ? "" : room_id_, global ? utils::localUser() : userid, manager_, this));
|
if (global) {
|
||||||
|
emit openProfile(new UserProfile("",utils::localUser(),
|
||||||
|
manager_, this, globalUsername));
|
||||||
|
} else {
|
||||||
|
emit openProfile(new UserProfile(room_id_, userid, manager_, this));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -317,6 +317,7 @@ private:
|
|||||||
mutable EventStore events;
|
mutable EventStore events;
|
||||||
|
|
||||||
QString room_id_;
|
QString room_id_;
|
||||||
|
QString globalUsername;
|
||||||
|
|
||||||
bool decryptDescription = true;
|
bool decryptDescription = true;
|
||||||
bool m_paginationInProgress = false;
|
bool m_paginationInProgress = false;
|
||||||
|
@ -12,12 +12,14 @@
|
|||||||
UserProfile::UserProfile(QString roomid,
|
UserProfile::UserProfile(QString roomid,
|
||||||
QString userid,
|
QString userid,
|
||||||
TimelineViewManager *manager_,
|
TimelineViewManager *manager_,
|
||||||
TimelineModel *parent)
|
TimelineModel *parent,
|
||||||
|
QString globalUsername)
|
||||||
: QObject(parent)
|
: QObject(parent)
|
||||||
, roomid_(roomid)
|
, roomid_(roomid)
|
||||||
, userid_(userid)
|
, userid_(userid)
|
||||||
, manager(manager_)
|
, manager(manager_)
|
||||||
, model(parent)
|
, model(parent)
|
||||||
|
, globalUsername(globalUsername)
|
||||||
{
|
{
|
||||||
fetchDeviceList(this->userid_);
|
fetchDeviceList(this->userid_);
|
||||||
|
|
||||||
@ -98,7 +100,7 @@ UserProfile::userid()
|
|||||||
QString
|
QString
|
||||||
UserProfile::displayName()
|
UserProfile::displayName()
|
||||||
{
|
{
|
||||||
return cache::displayName(roomid_, userid_);
|
return globalUserProfile() ? globalUsername : cache::displayName(roomid_, userid_);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString
|
QString
|
||||||
|
@ -94,7 +94,8 @@ public:
|
|||||||
UserProfile(QString roomid,
|
UserProfile(QString roomid,
|
||||||
QString userid,
|
QString userid,
|
||||||
TimelineViewManager *manager_,
|
TimelineViewManager *manager_,
|
||||||
TimelineModel *parent = nullptr);
|
TimelineModel *parent = nullptr,
|
||||||
|
QString globalUsername = "");
|
||||||
|
|
||||||
DeviceInfoModel *deviceList();
|
DeviceInfoModel *deviceList();
|
||||||
|
|
||||||
@ -119,11 +120,11 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void userStatusChanged();
|
void userStatusChanged();
|
||||||
|
|
||||||
void usernameEditingChanged();
|
void usernameEditingChanged();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString roomid_, userid_;
|
QString roomid_, userid_;
|
||||||
|
QString globalUsername;
|
||||||
DeviceInfoModel deviceList_;
|
DeviceInfoModel deviceList_;
|
||||||
bool isUserVerified = false;
|
bool isUserVerified = false;
|
||||||
bool hasMasterKey = false;
|
bool hasMasterKey = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user