[network/ruqola] src/widgets/room: Clean up
Laurent Montel <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit d9a4e09c0ea497395bace792d0bd31433774f828 by Laurent Montel.
Committed on 19/07/2026 at 11:40.
Pushed by mlaurent into branch 'master'.
Clean up
M +1 -1 src/widgets/room/usersinroomlabel.cpp
M +30 -34 src/widgets/room/usersinroommenu.cpp
M +3 -1 src/widgets/room/usersinroommenu.h
M +1 -1 src/widgets/room/usersinroomwidget.cpp
https://invent.kde.org/network/ruqola/-/commit/d9a4e09c0ea497395bace792d0bd31433774f828
diff --git a/src/widgets/room/usersinroomlabel.cpp b/src/widgets/room/usersinroomlabel.cpp
index 5674760392..73968180d0 100644
--- a/src/widgets/room/usersinroomlabel.cpp
+++ b/src/widgets/room/usersinroomlabel.cpp
@@ -89,7 +89,7 @@ void UserLabel::slotOpenConversation()
void UserLabel::slotCustomContextMenuRequested(const QPoint &pos)
{
if (!mMenu) {
- mMenu = new UsersInRoomMenu(this);
+ mMenu = new UsersInRoomMenu(Ruqola::self()->rocketChatAccount(), this);
mMenu->setParentWidget(this);
mMenu->setRoom(mRoom);
mMenu->setUserId(mUserId);
diff --git a/src/widgets/room/usersinroommenu.cpp b/src/widgets/room/usersinroommenu.cpp
index 7b5ad452bd..b257336b8e 100644
--- a/src/widgets/room/usersinroommenu.cpp
+++ b/src/widgets/room/usersinroommenu.cpp
@@ -13,7 +13,6 @@
#include "rocketchataccount.h"
#include "rooms/roomsbanuserjob.h"
#include "roomutil.h"
-#include "ruqola.h"
#include "ruqolawidgets_debug.h"
#include <KLocalizedString>
#include <KMessageBox>
@@ -21,8 +20,9 @@
#include <QMenu>
using namespace Qt::Literals::StringLiterals;
-UsersInRoomMenu::UsersInRoomMenu(QObject *parent)
+UsersInRoomMenu::UsersInRoomMenu(RocketChatAccount *account, QObject *parent)
: QObject(parent)
+ , mRocketChatAccount(account)
{
}
@@ -30,7 +30,7 @@ UsersInRoomMenu::~UsersInRoomMenu() = default;
void UsersInRoomMenu::slotOpenConversation()
{
- Q_EMIT Ruqola::self()->rocketChatAccount()->openLinkRequested(RoomUtil::generateUserLink(mUserName));
+ Q_EMIT mRocketChatAccount->openLinkRequested(RoomUtil::generateUserLink(mUserName));
}
void UsersInRoomMenu::slotBlockUser()
@@ -46,7 +46,7 @@ void UsersInRoomMenu::slotBlockUser()
return;
}
}
- Ruqola::self()->rocketChatAccount()->blockUser(QString::fromLatin1(mRoom->roomId()), !userIsBlocked);
+ mRocketChatAccount->blockUser(QString::fromLatin1(mRoom->roomId()), !userIsBlocked);
}
void UsersInRoomMenu::slotReportUser()
@@ -55,7 +55,7 @@ void UsersInRoomMenu::slotReportUser()
dlg.setUserName(mUserName);
if (dlg.exec()) {
auto job = new RocketChatRestApi::ModerationReportUserJob(this);
- Ruqola::self()->rocketChatAccount()->restApi()->initializeRestApiJob(job);
+ mRocketChatAccount->restApi()->initializeRestApiJob(job);
job->setDescription(dlg.message());
job->setReportedUserId(mUserId);
if (!job->start()) {
@@ -77,8 +77,7 @@ void UsersInRoomMenu::slotMuteUser()
return;
}
}
- // Fix remove Ruqola::self()
- Ruqola::self()->rocketChatAccount()->muteUser(mRoom->roomId(), mUserName, !userIsMuted);
+ mRocketChatAccount->muteUser(mRoom->roomId(), mUserName, !userIsMuted);
}
void UsersInRoomMenu::slotIgnoreUser()
@@ -94,7 +93,7 @@ void UsersInRoomMenu::slotIgnoreUser()
return;
}
}
- Ruqola::self()->rocketChatAccount()->ignoreUser(mRoom->roomId(), mUserId, !userIsIgnored);
+ mRocketChatAccount->ignoreUser(mRoom->roomId(), mUserId, !userIsIgnored);
}
void UsersInRoomMenu::slotRemoveFromRoom()
@@ -107,20 +106,19 @@ void UsersInRoomMenu::slotRemoveFromRoom()
KStandardGuiItem::cancel())) {
return;
}
- Ruqola::self()->rocketChatAccount()->kickUser(mRoom->roomId(), mUserId, mRoom->channelType());
+ mRocketChatAccount->kickUser(mRoom->roomId(), mUserId, mRoom->channelType());
}
QMenu *UsersInRoomMenu::createMenu()
{
- auto account = Ruqola::self()->rocketChatAccount();
const bool canManageUsersInRoom = mRoom->canChangeRoles();
- const bool isAdministrator = account->ownUser().isAdministrator();
- const QByteArray ownUserId = account->userId();
+ const bool isAdministrator = mRocketChatAccount->ownUser().isAdministrator();
+ const QByteArray ownUserId = mRocketChatAccount->userId();
const bool isAdirectChannel = mRoom->channelType() == Room::RoomType::Direct;
const bool isNotMe = mUserId != ownUserId;
QMenu *menu = new QMenu(mParentWidget);
- if (account->hasPermission(u"create-d"_s)) {
+ if (mRocketChatAccount->hasPermission(u"create-d"_s)) {
if (isNotMe && !isAdirectChannel) {
auto conversationAction = new QAction(i18nc("@action", "Start Conversation"), menu);
connect(conversationAction, &QAction::triggered, this, &UsersInRoomMenu::slotOpenConversation);
@@ -140,11 +138,11 @@ QMenu *UsersInRoomMenu::createMenu()
if (isAdministrator || mRoom->hasPermission(u"set-owner"_s)) {
const bool hasOwnerRole = mRoom->userHasOwnerRole(mUserId);
auto removeAsOwner = new QAction(hasOwnerRole ? i18nc("@action", "Remove as Owner") : i18nc("@action", "Add as Owner"), menu);
- connect(removeAsOwner, &QAction::triggered, this, [this, hasOwnerRole, account]() {
- account->changeRoles(mRoom->roomId(),
- QString::fromLatin1(mUserId),
- mRoom->channelType(),
- hasOwnerRole ? RocketChatAccount::RoleType::RemoveOwner : RocketChatAccount::RoleType::AddOwner);
+ connect(removeAsOwner, &QAction::triggered, this, [this, hasOwnerRole]() {
+ mRocketChatAccount->changeRoles(mRoom->roomId(),
+ QString::fromLatin1(mUserId),
+ mRoom->channelType(),
+ hasOwnerRole ? RocketChatAccount::RoleType::RemoveOwner : RocketChatAccount::RoleType::AddOwner);
});
menu->addAction(removeAsOwner);
@@ -153,11 +151,11 @@ QMenu *UsersInRoomMenu::createMenu()
if (isAdministrator || mRoom->hasPermission(u"set-leader"_s)) {
const bool hasLeaderRole = mRoom->userHasLeaderRole(mUserId);
auto removeAsLeader = new QAction(hasLeaderRole ? i18nc("@action", "Remove as Leader") : i18nc("@action", "Add as Leader"), menu);
- connect(removeAsLeader, &QAction::triggered, this, [this, hasLeaderRole, account]() {
- account->changeRoles(mRoom->roomId(),
- QString::fromLatin1(mUserId),
- mRoom->channelType(),
- hasLeaderRole ? RocketChatAccount::RoleType::RemoveLeader : RocketChatAccount::RoleType::AddLeader);
+ connect(removeAsLeader, &QAction::triggered, this, [this, hasLeaderRole]() {
+ mRocketChatAccount->changeRoles(mRoom->roomId(),
+ QString::fromLatin1(mUserId),
+ mRoom->channelType(),
+ hasLeaderRole ? RocketChatAccount::RoleType::RemoveLeader : RocketChatAccount::RoleType::AddLeader);
});
menu->addAction(removeAsLeader);
}
@@ -165,11 +163,11 @@ QMenu *UsersInRoomMenu::createMenu()
if (isAdministrator || mRoom->hasPermission(u"set-moderator"_s)) {
const bool hasModeratorRole = mRoom->userHasModeratorRole(mUserId);
auto removeAsModerator = new QAction(hasModeratorRole ? i18nc("@action", "Remove as Moderator") : i18nc("@action", "Add as Moderator"), menu);
- connect(removeAsModerator, &QAction::triggered, this, [this, hasModeratorRole, account]() {
- account->changeRoles(mRoom->roomId(),
- QString::fromLatin1(mUserId),
- mRoom->channelType(),
- hasModeratorRole ? RocketChatAccount::RoleType::RemoveModerator : RocketChatAccount::RoleType::AddModerator);
+ connect(removeAsModerator, &QAction::triggered, this, [this, hasModeratorRole]() {
+ mRocketChatAccount->changeRoles(mRoom->roomId(),
+ QString::fromLatin1(mUserId),
+ mRoom->channelType(),
+ hasModeratorRole ? RocketChatAccount::RoleType::RemoveModerator : RocketChatAccount::RoleType::AddModerator);
});
menu->addAction(removeAsModerator);
}
@@ -221,8 +219,7 @@ QMenu *UsersInRoomMenu::createMenu()
void UsersInRoomMenu::slotCustomContextMenuRequested(const QPoint &pos)
{
- auto account = Ruqola::self()->rocketChatAccount();
- const bool offline = account->offlineMode();
+ const bool offline = mRocketChatAccount->offlineMode();
if (offline) {
return;
}
@@ -243,7 +240,7 @@ void UsersInRoomMenu::slotBanUserFromRoomAction()
return;
}
auto job = new RocketChatRestApi::RoomsBanUserJob(this);
- Ruqola::self()->rocketChatAccount()->restApi()->initializeRestApiJob(job);
+ mRocketChatAccount->restApi()->initializeRestApiJob(job);
job->setRoomId(mRoom->roomId());
job->setUserName(mUserName);
if (!job->start()) {
@@ -253,10 +250,9 @@ void UsersInRoomMenu::slotBanUserFromRoomAction()
void UsersInRoomMenu::slotUserInfo()
{
- auto rcAccount = Ruqola::self()->rocketChatAccount();
- DirectChannelInfoDialog dlg(rcAccount, mParentWidget);
+ DirectChannelInfoDialog dlg(mRocketChatAccount, mParentWidget);
dlg.setUserName(mUserName);
- dlg.setRoles(rcAccount->roleInfo());
+ dlg.setRoles(mRocketChatAccount->roleInfo());
dlg.exec();
}
diff --git a/src/widgets/room/usersinroommenu.h b/src/widgets/room/usersinroommenu.h
index 303c08a18b..099be1b2bd 100644
--- a/src/widgets/room/usersinroommenu.h
+++ b/src/widgets/room/usersinroommenu.h
@@ -11,11 +11,12 @@
#include "libruqolawidgets_private_export.h"
class Room;
+class RocketChatAccount;
class LIBRUQOLAWIDGETS_TESTS_EXPORT UsersInRoomMenu : public QObject
{
Q_OBJECT
public:
- explicit UsersInRoomMenu(QObject *parent = nullptr);
+ explicit UsersInRoomMenu(RocketChatAccount *account, QObject *parent = nullptr);
~UsersInRoomMenu() override;
void slotCustomContextMenuRequested(const QPoint &pos);
@@ -39,4 +40,5 @@ private:
QString mUserName;
QPointer<Room> mRoom;
QWidget *mParentWidget = nullptr;
+ RocketChatAccount *const mRocketChatAccount;
};
diff --git a/src/widgets/room/usersinroomwidget.cpp b/src/widgets/room/usersinroomwidget.cpp
index 8d8207c593..6c1a728f31 100644
--- a/src/widgets/room/usersinroomwidget.cpp
+++ b/src/widgets/room/usersinroomwidget.cpp
@@ -126,7 +126,7 @@ void UsersInRoomWidget::setRoom(Room *room)
void UsersInRoomWidget::slotCustomContextMenuRequested(const QPoint &pos)
{
if (!mMenu) {
- mMenu = new UsersInRoomMenu(this);
+ mMenu = new UsersInRoomMenu(mRocketChatAccount, this);
mMenu->setParentWidget(mListView);
mMenu->setRoom(mRoom);
}