[network/ruqola] src/widgets: Add exploredatabasee2eroomsstoragewidget
Laurent Montel <[email protected]> Wed, 5 Aug 2026 05:29:20 +0000 (UTC)
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit d389cc14a1a3507f6bba7015beef790dfa8e8c9e by Laurent Montel.
Committed on 05/08/2026 at 05:19.
Pushed by mlaurent into branch 'master'.
Add exploredatabasee2eroomsstoragewidget
M +2 -0 src/widgets/CMakeLists.txt
M +4 -0 src/widgets/databasedialog/autotests/exploredatabasedialogtest.cpp
M +5 -0 src/widgets/databasedialog/exploredatabasedialog.cpp
M +2 -0 src/widgets/databasedialog/exploredatabasedialog.h
A +36 -0 src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.cpp [License: LGPL(v2.0+)]
A +21 -0 src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.h [License: LGPL(v2.0+)]
https://invent.kde.org/network/ruqola/-/commit/d389cc14a1a3507f6bba7015beef790dfa8e8c9e
diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt
index 39775cbc60..596a9ce9e0 100644
--- a/src/widgets/CMakeLists.txt
+++ b/src/widgets/CMakeLists.txt
@@ -888,6 +888,8 @@ target_sources(
databasedialog/exploredatabaseroomspendingtypedinfostoragewidget.h
databasedialog/exploredatabaseroomsubscriptionswidget.h
databasedialog/exploredatabaseroomsubscriptionswidget.cpp
+ databasedialog/exploredatabasee2eroomsstoragewidget.cpp
+ databasedialog/exploredatabasee2eroomsstoragewidget.h
explorepermissionsdialog/explorepermissionsdialog.h
explorepermissionsdialog/explorepermissionsdialog.cpp
explorepermissionsdialog/explorepermissionswidget.h
diff --git a/src/widgets/databasedialog/autotests/exploredatabasedialogtest.cpp b/src/widgets/databasedialog/autotests/exploredatabasedialogtest.cpp
index a6802be72a..ec61e93d76 100644
--- a/src/widgets/databasedialog/autotests/exploredatabasedialogtest.cpp
+++ b/src/widgets/databasedialog/autotests/exploredatabasedialogtest.cpp
@@ -8,6 +8,7 @@
#include "databasedialog/exploredatabaseaccountstoragewidget.h"
#include "databasedialog/exploredatabasedialog.h"
+#include "databasedialog/exploredatabasee2eroomsstoragewidget.h"
#include "databasedialog/exploredatabasee2estoragewidget.h"
#include "databasedialog/exploredatabaseglobalstoragewidget.h"
#include "databasedialog/exploredatabasejsonwidget.h"
@@ -69,6 +70,9 @@ void ExploreDatabaseDialogTest::shouldHaveDefaultValues()
auto mExploreDatabaseRoomSubscriptionsWidget = d.findChild<ExploreDatabaseRoomSubscriptionsWidget *>(u"mExploreDatabaseRoomSubscriptionsWidget"_s);
QVERIFY(mExploreDatabaseRoomSubscriptionsWidget);
+ auto mExploreDatabaseE2ERoomsStorageWidget = d.findChild<ExploreDatabaseE2ERoomsStorageWidget *>(u"mExploreDatabaseE2ERoomsStorageWidget"_s);
+ QVERIFY(mExploreDatabaseE2ERoomsStorageWidget);
+
auto button = d.findChild<QDialogButtonBox *>(u"button"_s);
QVERIFY(button);
}
diff --git a/src/widgets/databasedialog/exploredatabasedialog.cpp b/src/widgets/databasedialog/exploredatabasedialog.cpp
index 814e20df3c..451430c820 100644
--- a/src/widgets/databasedialog/exploredatabasedialog.cpp
+++ b/src/widgets/databasedialog/exploredatabasedialog.cpp
@@ -5,6 +5,7 @@
*/
#include "exploredatabasedialog.h"
+#include "databasedialog/exploredatabasee2eroomsstoragewidget.h"
#include "databasedialog/exploredatabaseroomspendingtypedinfostoragewidget.h"
#include "databasedialog/exploredatabaseroomsubscriptionswidget.h"
#include "exploredatabaseaccountstoragewidget.h"
@@ -38,6 +39,7 @@ ExploreDatabaseDialog::ExploreDatabaseDialog(RocketChatAccount *account, QWidget
, mExploreDatabaseAccountStorageWidget(new ExploreDatabaseAccountStorageWidget(account, this))
, mExploreDatabaseRoomsStorageWidget(new ExploreDatabaseRoomsStorageWidget(account, this))
, mExploreDatabaseGlobalStorageWidget(new ExploreDatabaseGlobalStorageWidget(account, this))
+ , mExploreDatabaseE2ERoomsStorageWidget(new ExploreDatabaseE2ERoomsStorageWidget(account, this))
, mExploreDatabaseE2EStorageWidget(new ExploreDatabaseE2EStorageWidget(account, this))
, mExploreDatabaseRoomsPendingTypedInfoStorageWidget(new ExploreDatabaseRoomsPendingTypedInfoStorageWidget(account, this))
, mExploreDatabaseRoomSubscriptionsWidget(new ExploreDatabaseRoomSubscriptionsWidget(account, this))
@@ -71,6 +73,9 @@ ExploreDatabaseDialog::ExploreDatabaseDialog(RocketChatAccount *account, QWidget
mExploreDatabaseE2EStorageWidget->setObjectName(u"mExploreDatabaseE2EStorageWidget"_s);
tabWidget->addTab(mExploreDatabaseE2EStorageWidget, i18n("DataBase E2E"));
+ mExploreDatabaseE2ERoomsStorageWidget->setObjectName(u"mExploreDatabaseE2ERoomsStorageWidget"_s);
+ tabWidget->addTab(mExploreDatabaseE2ERoomsStorageWidget, i18n("DataBase E2E Rooms"));
+
mExploreDatabaseRoomsPendingTypedInfoStorageWidget->setObjectName(u"mExploreDatabaseRoomsPendingTypedInfoStorageWidget"_s);
tabWidget->addTab(mExploreDatabaseRoomsPendingTypedInfoStorageWidget, i18n("DataBase Room Pending Typed Info"));
diff --git a/src/widgets/databasedialog/exploredatabasedialog.h b/src/widgets/databasedialog/exploredatabasedialog.h
index 7f79f04db3..a7b528fdd6 100644
--- a/src/widgets/databasedialog/exploredatabasedialog.h
+++ b/src/widgets/databasedialog/exploredatabasedialog.h
@@ -18,6 +18,7 @@ class ExploreDatabaseGlobalStorageWidget;
class ExploreDatabaseE2EStorageWidget;
class ExploreDatabaseRoomSubscriptionsWidget;
class ExploreDatabaseRoomsPendingTypedInfoStorageWidget;
+class ExploreDatabaseE2ERoomsStorageWidget;
class LIBRUQOLAWIDGETS_TESTS_EXPORT ExploreDatabaseDialog : public QDialog
{
Q_OBJECT
@@ -34,6 +35,7 @@ private:
ExploreDatabaseAccountStorageWidget *const mExploreDatabaseAccountStorageWidget;
ExploreDatabaseRoomsStorageWidget *const mExploreDatabaseRoomsStorageWidget;
ExploreDatabaseGlobalStorageWidget *const mExploreDatabaseGlobalStorageWidget;
+ ExploreDatabaseE2ERoomsStorageWidget *const mExploreDatabaseE2ERoomsStorageWidget;
ExploreDatabaseE2EStorageWidget *const mExploreDatabaseE2EStorageWidget;
ExploreDatabaseRoomsPendingTypedInfoStorageWidget *const mExploreDatabaseRoomsPendingTypedInfoStorageWidget;
ExploreDatabaseRoomSubscriptionsWidget *const mExploreDatabaseRoomSubscriptionsWidget;
diff --git a/src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.cpp b/src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.cpp
new file mode 100644
index 0000000000..1d10908ad4
--- /dev/null
+++ b/src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.cpp
@@ -0,0 +1,36 @@
+/*
+ SPDX-FileCopyrightText: 2025-2026 Laurent Montel <[email protected]>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+
+#include "exploredatabasee2eroomsstoragewidget.h"
+#include "databasedialog/exploredatabasetooltipdelegate.h"
+#include "localdatabase/localdatabasemanager.h"
+#include "rocketchataccount.h"
+#include "ruqola_database_widget_debug.h"
+#include <QTableView>
+using namespace Qt::Literals::StringLiterals;
+ExploreDatabaseE2ERoomsStorageWidget::ExploreDatabaseE2ERoomsStorageWidget(RocketChatAccount *account, QWidget *parent)
+ : ExploreDatabaseBaseStorageWidget{account, parent}
+ , mLocalE2ERoomsDatabase(account ? account->localDatabaseManager()->e2ERoomsDataBase() : nullptr)
+{
+ if (account) {
+ slotLoadModelFromDataBase(account->accountName());
+ }
+ mTableView->setItemDelegateForColumn(1, new ExploreDatabaseTooltipDelegate(this));
+}
+
+ExploreDatabaseE2ERoomsStorageWidget::~ExploreDatabaseE2ERoomsStorageWidget() = default;
+
+void ExploreDatabaseE2ERoomsStorageWidget::slotLoadModelFromDataBase(const QString &accountName)
+{
+ mModel = mLocalE2ERoomsDatabase->createE2eRoomsModel(accountName);
+ if (mModel) {
+ setModel(mModel.get());
+ } else {
+ qCDebug(RUQOLA_DATABASE_WIDGETS_LOG) << "e2e rooms model is nullptr" << accountName;
+ }
+}
+
+#include "moc_exploredatabasee2eroomsstoragewidget.cpp"
diff --git a/src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.h b/src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.h
new file mode 100644
index 0000000000..1e63452bf0
--- /dev/null
+++ b/src/widgets/databasedialog/exploredatabasee2eroomsstoragewidget.h
@@ -0,0 +1,21 @@
+/*
+ SPDX-FileCopyrightText: 2025-2026 Laurent Montel <[email protected]>
+
+ SPDX-License-Identifier: LGPL-2.0-or-later
+*/
+#pragma once
+
+#include "exploredatabasebasestoragewidget.h"
+#include "localdatabase/e2eroomsdatabase.h"
+class RocketChatAccount;
+class LIBRUQOLAWIDGETS_TESTS_EXPORT ExploreDatabaseE2ERoomsStorageWidget : public ExploreDatabaseBaseStorageWidget
+{
+ Q_OBJECT
+public:
+ explicit ExploreDatabaseE2ERoomsStorageWidget(RocketChatAccount *account, QWidget *parent = nullptr);
+ ~ExploreDatabaseE2ERoomsStorageWidget() override;
+ void slotLoadModelFromDataBase(const QString &accountName);
+
+private:
+ E2ERoomsDataBase *const mLocalE2ERoomsDatabase;
+};