[network/ruqola] src/widgets: Assign room
Laurent Montel <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 8247bed2062cdd57187c455fcfa7a58973fd0483 by Laurent Montel.
Committed on 20/07/2026 at 05:19.
Pushed by mlaurent into branch 'master'.
Assign room
M +6 -0 src/widgets/dialogs/directchannelinfodialog.cpp
M +2 -0 src/widgets/dialogs/directchannelinfodialog.h
M +11 -1 src/widgets/dialogs/directchannelinfowidget.cpp
M +4 -1 src/widgets/dialogs/directchannelinfowidget.h
M +1 -0 src/widgets/room/messagelistview.cpp
M +1 -0 src/widgets/room/roomwidget.cpp
M +1 -0 src/widgets/room/usersinroommenu.cpp
https://invent.kde.org/network/ruqola/-/commit/8247bed2062cdd57187c455fcfa7a58973fd0483
diff --git a/src/widgets/dialogs/directchannelinfodialog.cpp b/src/widgets/dialogs/directchannelinfodialog.cpp
index 3d8de5044c..15a70b5ee4 100644
--- a/src/widgets/dialogs/directchannelinfodialog.cpp
+++ b/src/widgets/dialogs/directchannelinfodialog.cpp
@@ -7,6 +7,7 @@
#include "directchannelinfodialog.h"
#include "directchannelinfowidget.h"
+#include "room.h"
#include <KLocalizedString>
#include <KSharedConfig>
#include <QDialogButtonBox>
@@ -42,4 +43,9 @@ void DirectChannelInfoDialog::setRoles(const QList<RoleInfo> &newRoles)
mDirectChannelInfoWidget->setRoles(newRoles);
}
+void DirectChannelInfoDialog::setRoom(Room *room)
+{
+ mDirectChannelInfoWidget->setRoom(room);
+}
+
#include "moc_directchannelinfodialog.cpp"
diff --git a/src/widgets/dialogs/directchannelinfodialog.h b/src/widgets/dialogs/directchannelinfodialog.h
index 6d0d5f754f..3085992fe9 100644
--- a/src/widgets/dialogs/directchannelinfodialog.h
+++ b/src/widgets/dialogs/directchannelinfodialog.h
@@ -13,6 +13,7 @@ class DirectChannelInfoWidget;
class User;
class RocketChatAccount;
class RoleInfo;
+class Room;
class LIBRUQOLAWIDGETS_TESTS_EXPORT DirectChannelInfoDialog : public QDialog
{
Q_OBJECT
@@ -21,6 +22,7 @@ public:
~DirectChannelInfoDialog() override;
void setUserName(const QString &userName);
void setRoles(const QList<RoleInfo> &newRoles);
+ void setRoom(Room *room);
private:
DirectChannelInfoWidget *const mDirectChannelInfoWidget;
diff --git a/src/widgets/dialogs/directchannelinfowidget.cpp b/src/widgets/dialogs/directchannelinfowidget.cpp
index 065bff97af..bf86dc5aab 100644
--- a/src/widgets/dialogs/directchannelinfowidget.cpp
+++ b/src/widgets/dialogs/directchannelinfowidget.cpp
@@ -228,6 +228,11 @@ void DirectChannelInfoWidget::setUser(const User &user)
mDirectChannelActionWidget->setUser(user);
}
+void DirectChannelInfoWidget::setRoom(Room *room)
+{
+ mDirectChannelActionWidget->setRoom(room);
+}
+
DirectChannelActionWidget::DirectChannelActionWidget(RocketChatAccount *account, QWidget *parent)
: QWidget(parent)
, mToolButton(new QToolButton(this))
@@ -259,8 +264,13 @@ void DirectChannelActionWidget::setUser(const User &user)
menu->setParentWidget(this);
menu->setUserId(user.userId());
menu->setUserName(user.userName());
- // TODO add room
+ menu->setRoom(mRoom);
mToolButton->setMenu(menu->createMenu());
}
+void DirectChannelActionWidget::setRoom(Room *room)
+{
+ mRoom = room;
+}
+
#include "moc_directchannelinfowidget.cpp"
diff --git a/src/widgets/dialogs/directchannelinfowidget.h b/src/widgets/dialogs/directchannelinfowidget.h
index f56981949e..616477d52f 100644
--- a/src/widgets/dialogs/directchannelinfowidget.h
+++ b/src/widgets/dialogs/directchannelinfowidget.h
@@ -16,6 +16,7 @@ class QFormLayout;
class RocketChatAccount;
class ResizablePixmapLabel;
class QToolButton;
+class Room;
class LIBRUQOLAWIDGETS_TESTS_EXPORT DirectChannelActionWidget : public QWidget
{
Q_OBJECT
@@ -23,7 +24,7 @@ public:
explicit DirectChannelActionWidget(RocketChatAccount *account, QWidget *parent = nullptr);
~DirectChannelActionWidget() override;
void setUser(const User &user);
-
+ void setRoom(Room *room);
Q_SIGNALS:
void ignoreUser();
void reportUser();
@@ -31,6 +32,7 @@ Q_SIGNALS:
private:
QToolButton *const mToolButton;
RocketChatAccount *const mRocketChatAccount;
+ Room *mRoom = nullptr;
};
class LIBRUQOLAWIDGETS_TESTS_EXPORT DirectChannelInfoWidget : public QWidget
@@ -43,6 +45,7 @@ public:
void setUserName(const QString &userName);
void setRoles(const QList<RoleInfo> &newRoles);
+ void setRoom(Room *room);
private:
LIBRUQOLAWIDGETS_NO_EXPORT void slotIgnoreUser();
diff --git a/src/widgets/room/messagelistview.cpp b/src/widgets/room/messagelistview.cpp
index 9e14a0ca04..eeb43223b9 100644
--- a/src/widgets/room/messagelistview.cpp
+++ b/src/widgets/room/messagelistview.cpp
@@ -1182,6 +1182,7 @@ void MessageListView::slotShowUserInfo(const QString &userName)
DirectChannelInfoDialog dlg(mCurrentRocketChatAccount, this);
dlg.setUserName(userName);
dlg.setRoles(mCurrentRocketChatAccount->roleInfo());
+ dlg.setRoom(mRoom);
dlg.exec();
}
diff --git a/src/widgets/room/roomwidget.cpp b/src/widgets/room/roomwidget.cpp
index 5125940fd6..867145c87b 100644
--- a/src/widgets/room/roomwidget.cpp
+++ b/src/widgets/room/roomwidget.cpp
@@ -300,6 +300,7 @@ void RoomWidget::slotChannelInfoRequested()
if (mRoomType == Room::RoomType::Direct) {
DirectChannelInfoDialog dlg(mCurrentRocketChatAccount, this);
dlg.setUserName(mRoom->name());
+ dlg.setRoom(mRoom);
dlg.exec();
} else {
QPointer<ChannelInfoDialog> dlg = new ChannelInfoDialog(mRoom, mCurrentRocketChatAccount, this);
diff --git a/src/widgets/room/usersinroommenu.cpp b/src/widgets/room/usersinroommenu.cpp
index b257336b8e..ba74b36922 100644
--- a/src/widgets/room/usersinroommenu.cpp
+++ b/src/widgets/room/usersinroommenu.cpp
@@ -253,6 +253,7 @@ void UsersInRoomMenu::slotUserInfo()
DirectChannelInfoDialog dlg(mRocketChatAccount, mParentWidget);
dlg.setUserName(mUserName);
dlg.setRoles(mRocketChatAccount->roleInfo());
+ dlg.setRoom(mRoom);
dlg.exec();
}