summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorLoren Burkholder <computersemiexpert@outlook.com>2023-02-25 23:19:15 -0500
committerLoren Burkholder <computersemiexpert@outlook.com>2023-02-28 20:40:22 -0500
commit24d401365e8f83c207b9381e59cb0a6ac9e24b1c (patch)
tree87470441d6b65ad74f6d01ec5803b89d22ae5c3e /src
parentChange members button color when hovered (diff)
downloadnheko-24d401365e8f83c207b9381e59cb0a6ac9e24b1c.tar.xz
Always open the invite dialog properly from the member list
Diffstat (limited to 'src')
-rw-r--r--src/InviteesModel.cpp5
-rw-r--r--src/InviteesModel.h8
-rw-r--r--src/timeline/TimelineViewManager.cpp2
3 files changed, 11 insertions, 4 deletions
diff --git a/src/InviteesModel.cpp b/src/InviteesModel.cpp

index 2b95a36f..7e4f4e8b 100644 --- a/src/InviteesModel.cpp +++ b/src/InviteesModel.cpp
@@ -9,8 +9,9 @@ #include "MatrixClient.h" #include "mtx/responses/profile.hpp" -InviteesModel::InviteesModel(QObject *parent) - : QAbstractListModel{parent} +InviteesModel::InviteesModel(TimelineModel *room, QObject *parent) + : QAbstractListModel{parent}, + room_{room} { } diff --git a/src/InviteesModel.h b/src/InviteesModel.h
index 8fe8fc22..66811838 100644 --- a/src/InviteesModel.h +++ b/src/InviteesModel.h
@@ -8,6 +8,8 @@ #include <QAbstractListModel> #include <QVector> +class TimelineModel; + class Invitee final : public QObject { Q_OBJECT @@ -34,6 +36,7 @@ class InviteesModel final : public QAbstractListModel Q_OBJECT Q_PROPERTY(int count READ rowCount NOTIFY countChanged) + Q_PROPERTY(TimelineModel * room READ room CONSTANT) public: enum Roles @@ -43,7 +46,9 @@ public: AvatarUrl, }; - InviteesModel(QObject *parent = nullptr); + InviteesModel(TimelineModel *room, QObject *parent = nullptr); + + TimelineModel *room() const { return room_; } Q_INVOKABLE void addUser(QString mxid, QString displayName = "", QString avatarUrl = ""); Q_INVOKABLE void removeUser(QString mxid); @@ -63,6 +68,7 @@ signals: private: QVector<Invitee *> invitees_; + TimelineModel *room_; }; #endif // INVITEESMODEL_H diff --git a/src/timeline/TimelineViewManager.cpp b/src/timeline/TimelineViewManager.cpp
index cdcc689d..c19d0c3f 100644 --- a/src/timeline/TimelineViewManager.cpp +++ b/src/timeline/TimelineViewManager.cpp
@@ -180,7 +180,7 @@ TimelineViewManager::openRoomSettings(QString room_id) void TimelineViewManager::openInviteUsers(QString roomId) { - InviteesModel *model = new InviteesModel{}; + InviteesModel *model = new InviteesModel{rooms_->getRoomById(roomId).data()}; connect(model, &InviteesModel::accept, this, [this, model, roomId]() { emit inviteUsers(roomId, model->mxids()); });