From 662cb573e1b8bf03733540c5bc1e9dd46824ff99 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Sun, 17 Oct 2021 17:25:16 +0200 Subject: Allow changing device names, display last seen time and IP --- src/ui/UserProfile.cpp | 19 +++++++++++++++++++ src/ui/UserProfile.h | 5 ++++- 2 files changed, 23 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp index 0e3fd39f..b5a16f43 100644 --- a/src/ui/UserProfile.cpp +++ b/src/ui/UserProfile.cpp @@ -62,6 +62,8 @@ DeviceInfoModel::roleNames() const {DeviceId, "deviceId"}, {DeviceName, "deviceName"}, {VerificationStatus, "verificationStatus"}, + {LastIp, "lastIp"}, + {LastTs, "lastTs"}, }; } @@ -78,6 +80,10 @@ DeviceInfoModel::data(const QModelIndex &index, int role) const return deviceList_[index.row()].display_name; case VerificationStatus: return QVariant::fromValue(deviceList_[index.row()].verification_status); + case LastIp: + return deviceList_[index.row()].lastIp; + case LastTs: + return deviceList_[index.row()].lastTs; default: return {}; } @@ -334,6 +340,19 @@ UserProfile::changeUsername(QString username) } } +void +UserProfile::changeDeviceName(QString deviceID, QString deviceName) +{ + http::client()->set_device_name( + deviceID.toStdString(), deviceName.toStdString(), [this](mtx::http::RequestErr err) { + if (err) { + nhlog::net()->warn("could not change device name"); + return; + } + refreshDevices(); + }); +} + void UserProfile::verify(QString device) { diff --git a/src/ui/UserProfile.h b/src/ui/UserProfile.h index e8bff6ba..cd2f4740 100644 --- a/src/ui/UserProfile.h +++ b/src/ui/UserProfile.h @@ -62,7 +62,7 @@ public: verification::Status verification_status; QString lastIp; - size_t lastTs; + qlonglong lastTs; }; class DeviceInfoModel : public QAbstractListModel @@ -74,6 +74,8 @@ public: DeviceId, DeviceName, VerificationStatus, + LastIp, + LastTs, }; explicit DeviceInfoModel(QObject *parent = nullptr) @@ -141,6 +143,7 @@ public: Q_INVOKABLE void kickUser(); Q_INVOKABLE void startChat(); Q_INVOKABLE void changeUsername(QString username); + Q_INVOKABLE void changeDeviceName(QString deviceID, QString deviceName); Q_INVOKABLE void changeAvatar(); Q_INVOKABLE void openGlobalProfile(); -- cgit 1.5.1