[network/ruqola] /: Reduce duplicate code
Laurent Montel <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 2b0e2faf8046c61ab8d3d3d5c4c3d078c66772b1 by Laurent Montel.
Committed on 02/08/2026 at 09:49.
Pushed by mlaurent into branch 'master'.
Reduce duplicate code
M +0 -3 CMakeLists.txt
M +0 -1 config-ruqola.h.in
M +0 -2 src/widgets/CMakeLists.txt
M +2 -2 src/widgets/autogenerateui/blockelement/autogenerateinteractionuiviewactionsblock.cpp
M +2 -2 src/widgets/autogenerateui/widgets/multistaticselectwidget.cpp
M +5 -2 src/widgets/autogenerateui/widgets/multistaticselectwidget.h
D +0 -211 src/widgets/common/flowlayout.cpp
D +0 -61 src/widgets/common/flowlayout.h
M +2 -2 src/widgets/conferencecalldialog/conferenceinfowidget.cpp
M +2 -2 src/widgets/dialogs/searchmessagecommandbuttonwidget.cpp
M +2 -2 src/widgets/forwardmessage/autotests/forwardmessagewidgettest.cpp
M +2 -2 src/widgets/forwardmessage/forwardmessagewidget.cpp
M +5 -2 src/widgets/forwardmessage/forwardmessagewidget.h
M +2 -2 src/widgets/misc/adduserswidget.cpp
M +5 -2 src/widgets/misc/adduserswidget.h
M +2 -2 src/widgets/misc/autotests/adduserswidgettest.cpp
M +2 -2 src/widgets/room/autotests/usersinroomflowwidgettest.cpp
M +2 -2 src/widgets/room/pendingattachmentwidget.cpp
M +5 -2 src/widgets/room/pendingattachmentwidget.h
M +2 -2 src/widgets/room/usersinroomflowwidget.cpp
M +5 -2 src/widgets/room/usersinroomflowwidget.h
M +2 -2 src/widgets/teams/teamsearchroomforteamwidget.cpp
M +5 -2 src/widgets/teams/teamsearchroomforteamwidget.h
https://invent.kde.org/network/ruqola/-/commit/2b0e2faf8046c61ab8d3d3d5c4c3d078c66772b1
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7336e1903b..6746e066ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -321,9 +321,6 @@ set_package_properties(
TYPE
REQUIRED
)
-if(${KF6TextAddonsWidgets_VERSION} VERSION_GREATER_EQUAL 2.1.41)
- set(HAVE_TEXTADDONSWIDGETS_FLOWLAYOUT TRUE)
-endif()
# shall we use DBus?
# enabled per default on Linux & BSD systems
diff --git a/config-ruqola.h.in b/config-ruqola.h.in
index df51e07dcf..e19dc85575 100644
--- a/config-ruqola.h.in
+++ b/config-ruqola.h.in
@@ -22,4 +22,3 @@
#cmakedefine01 RUQOLA_STABLE_VERSION
#cmakedefine01 HAVE_TEXT_AUTOGENERATE_TEXT
#cmakedefine01 ADD_OFFLINE_SUPPORT
-#cmakedefine01 HAVE_TEXTADDONSWIDGETS_FLOWLAYOUT
diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt
index cbf7375b4f..39775cbc60 100644
--- a/src/widgets/CMakeLists.txt
+++ b/src/widgets/CMakeLists.txt
@@ -242,8 +242,6 @@ target_sources(
common/delegatepaintutil.h
common/emojicompletiondelegate.cpp
common/emojicompletiondelegate.h
- common/flowlayout.cpp
- common/flowlayout.h
common/usercompletiondelegate.h
common/usercompletiondelegate.cpp
common/userandchannelcompletiondelegate.h
diff --git a/src/widgets/autogenerateui/blockelement/autogenerateinteractionuiviewactionsblock.cpp b/src/widgets/autogenerateui/blockelement/autogenerateinteractionuiviewactionsblock.cpp
index 1e16559e1a..db5af47d4b 100644
--- a/src/widgets/autogenerateui/blockelement/autogenerateinteractionuiviewactionsblock.cpp
+++ b/src/widgets/autogenerateui/blockelement/autogenerateinteractionuiviewactionsblock.cpp
@@ -17,12 +17,12 @@
#include "autogenerateui/elements/autogenerateinteractionuiviewuserselectelement.h"
#include "autogenerateui/widgets/actionelementwidget.h"
-#include "common/flowlayout.h"
#include "ruqola_autogenerateui_debug.h"
#include <QJsonArray>
#include <QJsonObject>
#include <QLayout>
#include <QWidget>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
AutoGenerateInteractionUiViewActionsBlock::AutoGenerateInteractionUiViewActionsBlock(QObject *parent)
: AutoGenerateInteractionUiViewBlockBase(parent)
@@ -127,7 +127,7 @@ QWidget *AutoGenerateInteractionUiViewActionsBlock::generateWidget(QWidget *pare
{
auto widget = new QWidget(parent);
parent->layout()->addWidget(widget);
- auto hboxLayout = new FlowLayout;
+ auto hboxLayout = new TextAddonsWidgets::TextAddonsWidgetFlowLayout;
hboxLayout->setContentsMargins({});
widget->setLayout(hboxLayout);
for (const auto &e : std::as_const(mElements)) {
diff --git a/src/widgets/autogenerateui/widgets/multistaticselectwidget.cpp b/src/widgets/autogenerateui/widgets/multistaticselectwidget.cpp
index 5ad24b2e99..c05f6baf24 100644
--- a/src/widgets/autogenerateui/widgets/multistaticselectwidget.cpp
+++ b/src/widgets/autogenerateui/widgets/multistaticselectwidget.cpp
@@ -5,16 +5,16 @@
*/
#include "multistaticselectwidget.h"
-#include "common/flowlayout.h"
#include "misc/clickablewidget.h"
#include "multistaticselectlineedit.h"
#include <QVBoxLayout>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
MultiStaticSelectWidget::MultiStaticSelectWidget(QWidget *parent)
: QWidget{parent}
, mLineEdit(new MultiStaticSelectLineEdit(this))
- , mFlowLayout(new FlowLayout)
+ , mFlowLayout(new TextAddonsWidgets::TextAddonsWidgetFlowLayout)
{
auto mainLayout = new QVBoxLayout(this);
mainLayout->setObjectName("mainLayout"_L1);
diff --git a/src/widgets/autogenerateui/widgets/multistaticselectwidget.h b/src/widgets/autogenerateui/widgets/multistaticselectwidget.h
index 434e29c6c6..277d856b6b 100644
--- a/src/widgets/autogenerateui/widgets/multistaticselectwidget.h
+++ b/src/widgets/autogenerateui/widgets/multistaticselectwidget.h
@@ -10,7 +10,10 @@
#include "multistaticselectlineeditmodel.h"
#include <QWidget>
class MultiStaticSelectLineEdit;
-class FlowLayout;
+namespace TextAddonsWidgets
+{
+class TextAddonsWidgetFlowLayout;
+}
class ClickableWidget;
class LIBRUQOLAWIDGETS_TESTS_EXPORT MultiStaticSelectWidget : public QWidget
{
@@ -32,7 +35,7 @@ private:
LIBRUQOLAWIDGETS_NO_EXPORT void slotRemoveUser(const QString &username);
LIBRUQOLAWIDGETS_NO_EXPORT void checkMaxSelectedItems();
MultiStaticSelectLineEdit *const mLineEdit;
- FlowLayout *const mFlowLayout;
+ TextAddonsWidgets::TextAddonsWidgetFlowLayout *const mFlowLayout;
QMap<QString, ClickableWidget *> mMap;
int mMaxSelectItems = -1;
};
diff --git a/src/widgets/common/flowlayout.cpp b/src/widgets/common/flowlayout.cpp
deleted file mode 100644
index b60a72391a..0000000000
--- a/src/widgets/common/flowlayout.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2020-2026 Laurent Montel <[email protected]>
-
- SPDX-License-Identifier: LGPL-2.0-or-later
-*/
-
-#include "flowlayout.h"
-
-#include <QStyle>
-#include <QWidget>
-
-#if HAVE_TEXTADDONSWIDGETS_FLOWLAYOUT
-FlowLayout::FlowLayout(QWidget *parent)
- : TextAddonsWidgets::TextAddonsWidgetFlowLayout(parent)
-{
-}
-
-FlowLayout::~FlowLayout()
-{
- clearAndDeleteWidgets();
-}
-#else
-static int smartSpacing(QObject *parent, QStyle::PixelMetric pm)
-{
- if (!parent) {
- return -1;
- } else if (parent->isWidgetType()) {
- auto pw = static_cast<QWidget *>(parent);
- return pw->style()->pixelMetric(pm, nullptr, pw);
- } else {
- return static_cast<QLayout *>(parent)->spacing();
- }
-}
-
-FlowLayout::FlowLayout(QWidget *parent)
- : QLayout(parent)
-{
-}
-
-FlowLayout::~FlowLayout()
-{
- clear();
-}
-
-int FlowLayout::horizontalSpacing() const
-{
- if (mHorizontalSpacing >= 0) {
- return mHorizontalSpacing;
- } else {
- return smartSpacing(parent(), QStyle::PM_LayoutHorizontalSpacing);
- }
-}
-
-void FlowLayout::setHorizontalSpacing(int horizontalSpacing)
-{
- if (mHorizontalSpacing != horizontalSpacing) {
- mHorizontalSpacing = horizontalSpacing;
- invalidate();
- }
-}
-
-int FlowLayout::verticalSpacing() const
-{
- if (mVerticalSpacing >= 0) {
- return mVerticalSpacing;
- } else {
- return smartSpacing(parent(), QStyle::PM_LayoutVerticalSpacing);
- }
-}
-
-void FlowLayout::setVerticalSpacing(int verticalSpacing)
-{
- if (mVerticalSpacing != verticalSpacing) {
- mVerticalSpacing = verticalSpacing;
- invalidate();
- }
-}
-
-QSize FlowLayout::sizeHint() const
-{
- return minimumSize();
-}
-
-QSize FlowLayout::minimumSize() const
-{
- const QMargins margins = contentsMargins();
- QSize size;
-
- for (const QLayoutItem *item : mItems) {
- size = size.expandedTo(item->minimumSize());
- }
-
- size += QSize(margins.left() + margins.right(), margins.top() + margins.bottom());
- return size;
-}
-
-void FlowLayout::addItem(QLayoutItem *item)
-{
- Q_ASSERT(!mItems.contains(item));
- mItems.append(item);
- invalidate();
-}
-
-QLayoutItem *FlowLayout::itemAt(int index) const
-{
- if (index >= 0 && index < mItems.count()) {
- return mItems[index];
- }
-
- return nullptr;
-}
-
-QLayoutItem *FlowLayout::takeAt(int index)
-{
- if (index >= 0 && index < mItems.count()) {
- auto *it = mItems.takeAt(index);
- invalidate();
- return it;
- }
-
- return nullptr;
-}
-
-int FlowLayout::count() const
-{
- return mItems.count();
-}
-
-Qt::Orientations FlowLayout::expandingDirections() const
-{
- return {};
-}
-
-bool FlowLayout::hasHeightForWidth() const
-{
- return true;
-}
-
-int FlowLayout::heightForWidth(int width) const
-{
- return doFlow(QRect(0, 0, width, 0), false);
-}
-
-void FlowLayout::setGeometry(const QRect &rect)
-{
- QLayout::setGeometry(rect);
- doFlow(rect, true);
-}
-
-void FlowLayout::clear()
-{
- while (QLayoutItem *item = takeAt(0)) {
- delete item;
- }
-}
-
-void FlowLayout::clearAndDeleteWidgets()
-{
- while (QLayoutItem *item = takeAt(0)) {
- item->widget()->deleteLater();
- delete item;
- }
-}
-
-int FlowLayout::doFlow(QRect rect, bool effective) const
-{
- const QMargins margins = contentsMargins();
- const QRect effectiveRect = rect.adjusted(margins.left(), margins.top(), -margins.right(), -margins.bottom());
- int x = effectiveRect.x();
- int y = effectiveRect.y();
- int highest = 0;
-
- for (QLayoutItem *item : mItems) {
- const QWidget *widget = item->widget();
-
- if (!widget->isVisibleTo(parentWidget())) {
- continue;
- }
-
- int hSpacing = horizontalSpacing();
- int vSpacing = verticalSpacing();
-
- if (hSpacing == -1) {
- hSpacing = widget->style()->layoutSpacing(QSizePolicy::Frame, QSizePolicy::Frame, Qt::Horizontal);
- }
-
- if (vSpacing == -1) {
- vSpacing = widget->style()->layoutSpacing(QSizePolicy::Frame, QSizePolicy::Frame, Qt::Vertical);
- }
-
- int widgetXPos = x + item->sizeHint().width() + hSpacing;
-
- if (widgetXPos - hSpacing > effectiveRect.right() && highest > 0) {
- x = effectiveRect.x();
- y += highest + vSpacing;
- widgetXPos = x + item->sizeHint().width() + hSpacing;
- highest = 0;
- }
-
- if (effective) {
- item->setGeometry(QRect(QPoint(x, y), item->sizeHint()));
- }
-
- x = widgetXPos;
- highest = qMax(highest, item->sizeHint().height());
- }
-
- return y + highest - rect.y() + margins.bottom();
-}
-#endif
-#include "moc_flowlayout.cpp"
diff --git a/src/widgets/common/flowlayout.h b/src/widgets/common/flowlayout.h
deleted file mode 100644
index e6fe37ca6a..0000000000
--- a/src/widgets/common/flowlayout.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- SPDX-FileCopyrightText: 2020-2026 Laurent Montel <[email protected]>
-
- SPDX-License-Identifier: LGPL-2.0-or-later
-*/
-#pragma once
-#include "config-ruqola.h"
-#include "libruqolawidgets_export.h"
-#include <QLayout>
-#include <QList>
-// TODO remove when we depend against ktextaddons 2.1.2
-#if HAVE_TEXTADDONSWIDGETS_FLOWLAYOUT
-#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
-class LIBRUQOLAWIDGETS_EXPORT FlowLayout : public TextAddonsWidgets::TextAddonsWidgetFlowLayout
-{
- Q_OBJECT
-
-public:
- explicit FlowLayout(QWidget *parent = nullptr);
- ~FlowLayout() override;
-};
-
-#else
-class LIBRUQOLAWIDGETS_EXPORT FlowLayout : public QLayout
-{
- Q_OBJECT
-
-public:
- explicit FlowLayout(QWidget *parent = nullptr);
- ~FlowLayout() override;
-
- [[nodiscard]] int horizontalSpacing() const;
- void setHorizontalSpacing(int horizontalSpacing);
-
- [[nodiscard]] int verticalSpacing() const;
- void setVerticalSpacing(int verticalSpacing);
-
- [[nodiscard]] QSize sizeHint() const override;
- [[nodiscard]] QSize minimumSize() const override;
-
- void addItem(QLayoutItem *item) override;
- QLayoutItem *itemAt(int index) const override;
- QLayoutItem *takeAt(int index) override;
- [[nodiscard]] int count() const override;
-
- [[nodiscard]] Qt::Orientations expandingDirections() const override;
- [[nodiscard]] bool hasHeightForWidth() const override;
- [[nodiscard]] int heightForWidth(int width) const override;
-
- void setGeometry(const QRect &rect) override;
-
- void clearAndDeleteWidgets();
-
-private:
- LIBRUQOLAWIDGETS_NO_EXPORT void clear();
- LIBRUQOLAWIDGETS_NO_EXPORT int doFlow(QRect rect, bool effective) const;
- QList<QLayoutItem *> mItems;
- int mHorizontalSpacing = -1;
- int mVerticalSpacing = -1;
-};
-#endif
diff --git a/src/widgets/conferencecalldialog/conferenceinfowidget.cpp b/src/widgets/conferencecalldialog/conferenceinfowidget.cpp
index a08b559e1a..fcb0411101 100644
--- a/src/widgets/conferencecalldialog/conferenceinfowidget.cpp
+++ b/src/widgets/conferencecalldialog/conferenceinfowidget.cpp
@@ -7,7 +7,6 @@
#include "conferenceinfowidget.h"
using namespace Qt::Literals::StringLiterals;
-#include "common/flowlayout.h"
#include "connection.h"
#include "rocketchataccount.h"
#include "ruqolawidgets_debug.h"
@@ -18,6 +17,7 @@ using namespace Qt::Literals::StringLiterals;
#include <QIcon>
#include <QLabel>
#include <QScreen>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
ConferenceInfoWidget::ConferenceInfoWidget(RocketChatAccount *account, QWidget *parent)
: QWidget{parent}
@@ -52,7 +52,7 @@ void ConferenceInfoWidget::initializeInfo()
}
const auto users = videoInfo.users();
if (!users.isEmpty()) {
- auto avatarLayout = new FlowLayout;
+ auto avatarLayout = new TextAddonsWidgets::TextAddonsWidgetFlowLayout;
mFormLayout->addItem(avatarLayout);
for (const auto &user : users) {
auto avatarLabel = new QLabel(this);
diff --git a/src/widgets/dialogs/searchmessagecommandbuttonwidget.cpp b/src/widgets/dialogs/searchmessagecommandbuttonwidget.cpp
index b9a58d9680..93385c4a1f 100644
--- a/src/widgets/dialogs/searchmessagecommandbuttonwidget.cpp
+++ b/src/widgets/dialogs/searchmessagecommandbuttonwidget.cpp
@@ -5,15 +5,15 @@
*/
#include "searchmessagecommandbuttonwidget.h"
-#include "common/flowlayout.h"
#include "dialogs/searchmessagecommand.h"
#include <KLocalizedString>
#include <QPushButton>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
SearchMessageCommandButtonWidget::SearchMessageCommandButtonWidget(QWidget *parent)
: QWidget{parent}
{
- auto flowLayout = new FlowLayout(this);
+ auto flowLayout = new TextAddonsWidgets::TextAddonsWidgetFlowLayout(this);
flowLayout->setObjectName(u"flowLayout"_s);
flowLayout->setContentsMargins({});
flowLayout->setSpacing(0);
diff --git a/src/widgets/forwardmessage/autotests/forwardmessagewidgettest.cpp b/src/widgets/forwardmessage/autotests/forwardmessagewidgettest.cpp
index f719a6cb7c..98922a52aa 100644
--- a/src/widgets/forwardmessage/autotests/forwardmessagewidgettest.cpp
+++ b/src/widgets/forwardmessage/autotests/forwardmessagewidgettest.cpp
@@ -7,11 +7,11 @@
#include "forwardmessagewidgettest.h"
using namespace Qt::Literals::StringLiterals;
-#include "common/flowlayout.h"
#include "forwardmessage/forwardmessagewidget.h"
#include <QLabel>
#include <QTest>
#include <QVBoxLayout>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
QTEST_MAIN(ForwardMessageWidgetTest)
ForwardMessageWidgetTest::ForwardMessageWidgetTest(QObject *parent)
@@ -31,7 +31,7 @@ void ForwardMessageWidgetTest::shouldHaveDefaultValues()
QVERIFY(label);
QVERIFY(!label->text().isEmpty());
- auto mFlowLayout = w.findChild<FlowLayout *>(u"mFlowLayout"_s);
+ auto mFlowLayout = w.findChild<TextAddonsWidgets::TextAddonsWidgetFlowLayout *>(u"mFlowLayout"_s);
QVERIFY(mFlowLayout);
auto mForwardMessageAddChannelCompletionLineEdit =
diff --git a/src/widgets/forwardmessage/forwardmessagewidget.cpp b/src/widgets/forwardmessage/forwardmessagewidget.cpp
index c3489a618f..e6bc9de589 100644
--- a/src/widgets/forwardmessage/forwardmessagewidget.cpp
+++ b/src/widgets/forwardmessage/forwardmessagewidget.cpp
@@ -6,17 +6,17 @@
#include "forwardmessagewidget.h"
-#include "common/flowlayout.h"
#include "misc/clickablewidget.h"
#include <KLocalizedString>
#include <QLabel>
#include <QVBoxLayout>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
ForwardMessageWidget::ForwardMessageWidget(RocketChatAccount *account, QWidget *parent)
: QWidget{parent}
, mForwardMessageAddChannelCompletionLineEdit(new ForwardMessageAddChannelCompletionLineEdit(account, this))
- , mFlowLayout(new FlowLayout)
+ , mFlowLayout(new TextAddonsWidgets::TextAddonsWidgetFlowLayout)
{
auto mainLayout = new QVBoxLayout(this);
mainLayout->setObjectName(u"mainLayout"_s);
diff --git a/src/widgets/forwardmessage/forwardmessagewidget.h b/src/widgets/forwardmessage/forwardmessagewidget.h
index 3657080abe..4289e552d3 100644
--- a/src/widgets/forwardmessage/forwardmessagewidget.h
+++ b/src/widgets/forwardmessage/forwardmessagewidget.h
@@ -9,7 +9,10 @@
#include "libruqolawidgets_private_export.h"
#include <QWidget>
class RocketChatAccount;
-class FlowLayout;
+namespace TextAddonsWidgets
+{
+class TextAddonsWidgetFlowLayout;
+}
class ClickableWidget;
class LIBRUQOLAWIDGETS_TESTS_EXPORT ForwardMessageWidget : public QWidget
{
@@ -27,6 +30,6 @@ private:
LIBRUQOLAWIDGETS_NO_EXPORT void slotRemoveRoom(const QString &name);
LIBRUQOLAWIDGETS_NO_EXPORT void slotForwardToChannel(const JoinedChannelCompletionLineEditBase::JoinedChannelCompletionInfo &channelInfo);
ForwardMessageAddChannelCompletionLineEdit *const mForwardMessageAddChannelCompletionLineEdit;
- FlowLayout *const mFlowLayout;
+ TextAddonsWidgets::TextAddonsWidgetFlowLayout *const mFlowLayout;
QMap<QString, ClickableWidget *> mMap;
};
diff --git a/src/widgets/misc/adduserswidget.cpp b/src/widgets/misc/adduserswidget.cpp
index 35d5d00244..03c166f02f 100644
--- a/src/widgets/misc/adduserswidget.cpp
+++ b/src/widgets/misc/adduserswidget.cpp
@@ -6,17 +6,17 @@
#include "adduserswidget.h"
-#include "common/flowlayout.h"
#include "misc/avatarcachemanager.h"
#include "misc/clickablewidget.h"
#include "utils.h"
#include <QVBoxLayout>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
AddUsersWidget::AddUsersWidget(RocketChatAccount *account, QWidget *parent)
: QWidget(parent)
, mSearchUserLineEdit(new AddUsersCompletionLineEdit(account, this))
- , mFlowLayout(new FlowLayout)
+ , mFlowLayout(new TextAddonsWidgets::TextAddonsWidgetFlowLayout)
, mAvatarCacheManager(new AvatarCacheManager(Utils::AvatarType::User, this))
{
auto mainLayout = new QVBoxLayout(this);
diff --git a/src/widgets/misc/adduserswidget.h b/src/widgets/misc/adduserswidget.h
index 67de03b5f7..b133465b0e 100644
--- a/src/widgets/misc/adduserswidget.h
+++ b/src/widgets/misc/adduserswidget.h
@@ -10,7 +10,10 @@
#include "libruqolawidgets_private_export.h"
#include <QMap>
#include <QWidget>
-class FlowLayout;
+namespace TextAddonsWidgets
+{
+class TextAddonsWidgetFlowLayout;
+}
class ClickableWidget;
class RocketChatAccount;
class AvatarCacheManager;
@@ -39,7 +42,7 @@ private:
LIBRUQOLAWIDGETS_NO_EXPORT void slotRemoveUser(const QString &username);
LIBRUQOLAWIDGETS_NO_EXPORT void slotAddNewName(const AddUsersCompletionLineEdit::UserCompletionInfo &info);
AddUsersCompletionLineEdit *const mSearchUserLineEdit;
- FlowLayout *const mFlowLayout;
+ TextAddonsWidgets::TextAddonsWidgetFlowLayout *const mFlowLayout;
QMap<QString, ClickableWidget *> mMap;
AvatarCacheManager *const mAvatarCacheManager;
};
diff --git a/src/widgets/misc/autotests/adduserswidgettest.cpp b/src/widgets/misc/autotests/adduserswidgettest.cpp
index 87eaa53777..39f46cce38 100644
--- a/src/widgets/misc/autotests/adduserswidgettest.cpp
+++ b/src/widgets/misc/autotests/adduserswidgettest.cpp
@@ -6,11 +6,11 @@
#include "adduserswidgettest.h"
-#include "common/flowlayout.h"
#include "dialogs/adduserscompletionlineedit.h"
#include "misc/adduserswidget.h"
#include <QTest>
#include <QVBoxLayout>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
QTEST_MAIN(AddUsersWidgetTest)
using namespace Qt::Literals::StringLiterals;
AddUsersWidgetTest::AddUsersWidgetTest(QObject *parent)
@@ -30,7 +30,7 @@ void AddUsersWidgetTest::shouldHaveDefaultValues()
QVERIFY(mSearchUserLineEdit);
QVERIFY(mSearchUserLineEdit->placeholderText().isEmpty());
- auto mFlowLayout = w.findChild<FlowLayout *>(u"mFlowLayout"_s);
+ auto mFlowLayout = w.findChild<TextAddonsWidgets::TextAddonsWidgetFlowLayout *>(u"mFlowLayout"_s);
QVERIFY(mFlowLayout);
QVERIFY(w.userIds().isEmpty());
diff --git a/src/widgets/room/autotests/usersinroomflowwidgettest.cpp b/src/widgets/room/autotests/usersinroomflowwidgettest.cpp
index 5d41c2aac8..19c388210e 100644
--- a/src/widgets/room/autotests/usersinroomflowwidgettest.cpp
+++ b/src/widgets/room/autotests/usersinroomflowwidgettest.cpp
@@ -7,9 +7,9 @@
#include "usersinroomflowwidgettest.h"
using namespace Qt::Literals::StringLiterals;
-#include "common/flowlayout.h"
#include "room/usersinroomflowwidget.h"
#include <QTest>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
QTEST_MAIN(UsersInRoomFlowWidgetTest)
UsersInRoomFlowWidgetTest::UsersInRoomFlowWidgetTest(QObject *parent)
@@ -20,7 +20,7 @@ UsersInRoomFlowWidgetTest::UsersInRoomFlowWidgetTest(QObject *parent)
void UsersInRoomFlowWidgetTest::shouldHaveDefaultValues()
{
UsersInRoomFlowWidget w;
- auto mFlowLayout = w.findChild<FlowLayout *>(u"mFlowLayout"_s);
+ auto mFlowLayout = w.findChild<TextAddonsWidgets::TextAddonsWidgetFlowLayout *>(u"mFlowLayout"_s);
QVERIFY(mFlowLayout);
QCOMPARE(mFlowLayout->spacing(), 0);
QCOMPARE(mFlowLayout->contentsMargins(), QMargins{});
diff --git a/src/widgets/room/pendingattachmentwidget.cpp b/src/widgets/room/pendingattachmentwidget.cpp
index a161c46d7c..93bf538d7d 100644
--- a/src/widgets/room/pendingattachmentwidget.cpp
+++ b/src/widgets/room/pendingattachmentwidget.cpp
@@ -5,7 +5,6 @@
*/
#include "pendingattachmentwidget.h"
-#include "common/flowlayout.h"
#include "pendingattachmentclickablewidget.h"
#include <KLocalizedString>
#include <QFileInfo>
@@ -14,12 +13,13 @@
#include <QIcon>
#include <QLabel>
#include <QToolButton>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
PendingAttachmentWidget::PendingAttachmentWidget(QWidget *parent)
: QWidget(parent)
- , mFlowLayout(new FlowLayout(this))
+ , mFlowLayout(new TextAddonsWidgets::TextAddonsWidgetFlowLayout(this))
{
setAutoFillBackground(true);
mFlowLayout->setSpacing(4);
diff --git a/src/widgets/room/pendingattachmentwidget.h b/src/widgets/room/pendingattachmentwidget.h
index a60a01dc12..0ae0224f77 100644
--- a/src/widgets/room/pendingattachmentwidget.h
+++ b/src/widgets/room/pendingattachmentwidget.h
@@ -10,7 +10,10 @@
#include <QMap>
#include <QUrl>
#include <QWidget>
-class FlowLayout;
+namespace TextAddonsWidgets
+{
+class TextAddonsWidgetFlowLayout;
+}
class LIBRUQOLAWIDGETS_TESTS_EXPORT PendingAttachmentWidget : public QWidget
{
Q_OBJECT
@@ -34,6 +37,6 @@ private:
LIBRUQOLAWIDGETS_NO_EXPORT void slotRemoveAttachment(const QUrl &url);
LIBRUQOLAWIDGETS_NO_EXPORT bool verifyExistingFile(const QUrl &fileUrl) const;
LIBRUQOLAWIDGETS_NO_EXPORT void updateAttachments();
- FlowLayout *const mFlowLayout;
+ TextAddonsWidgets::TextAddonsWidgetFlowLayout *const mFlowLayout;
QMap<QUrl, PendingAttachmentClickableWidget *> mMap;
};
diff --git a/src/widgets/room/usersinroomflowwidget.cpp b/src/widgets/room/usersinroomflowwidget.cpp
index 8e85cf4d34..fd8d7a2c7d 100644
--- a/src/widgets/room/usersinroomflowwidget.cpp
+++ b/src/widgets/room/usersinroomflowwidget.cpp
@@ -6,7 +6,6 @@
#include "usersinroomflowwidget.h"
-#include "common/flowlayout.h"
#include "model/usersforroomfilterproxymodel.h"
#include "model/usersforroommodel.h"
#include "rocketchataccount.h"
@@ -16,12 +15,13 @@
#include "usersinroomlabel.h"
#include <KLocalizedString>
#include <QLabel>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
#define MAX_NUMBER_USER 70
UsersInRoomFlowWidget::UsersInRoomFlowWidget(QWidget *parent)
: QWidget(parent)
- , mFlowLayout(new FlowLayout(this))
+ , mFlowLayout(new TextAddonsWidgets::TextAddonsWidgetFlowLayout(this))
, mUsersForRoomFilterProxyModel(new UsersForRoomFilterProxyModel(this))
{
mFlowLayout->setObjectName(u"mFlowLayout"_s);
diff --git a/src/widgets/room/usersinroomflowwidget.h b/src/widgets/room/usersinroomflowwidget.h
index c84da59e0c..7c6bac88ed 100644
--- a/src/widgets/room/usersinroomflowwidget.h
+++ b/src/widgets/room/usersinroomflowwidget.h
@@ -10,7 +10,10 @@
#include <QMap>
#include <QPointer>
#include <QWidget>
-class FlowLayout;
+namespace TextAddonsWidgets
+{
+class TextAddonsWidgetFlowLayout;
+}
class Room;
class UsersInRoomLabel;
class UsersForRoomFilterProxyModel;
@@ -33,7 +36,7 @@ private:
LIBRUQOLAWIDGETS_NO_EXPORT void generateListUsersWidget();
LIBRUQOLAWIDGETS_NO_EXPORT void updateListUsersWidget(const QModelIndex &topLeft, const QModelIndex &bottomRight);
LIBRUQOLAWIDGETS_NO_EXPORT void loadExternalDialog();
- FlowLayout *const mFlowLayout;
+ TextAddonsWidgets::TextAddonsWidgetFlowLayout *const mFlowLayout;
QPointer<Room> mRoom;
// userId, UsersInRoomLabel
QMap<QByteArray, UsersInRoomLabel *> mListUsersWidget;
diff --git a/src/widgets/teams/teamsearchroomforteamwidget.cpp b/src/widgets/teams/teamsearchroomforteamwidget.cpp
index b880aab3a2..246477ee67 100644
--- a/src/widgets/teams/teamsearchroomforteamwidget.cpp
+++ b/src/widgets/teams/teamsearchroomforteamwidget.cpp
@@ -6,15 +6,15 @@
#include "teamsearchroomforteamwidget.h"
-#include "common/flowlayout.h"
#include "misc/clickablewidget.h"
#include <QVBoxLayout>
+#include <TextAddonsWidgets/TextAddonsWidgetFlowLayout>
using namespace Qt::Literals::StringLiterals;
TeamSearchRoomForTeamWidget::TeamSearchRoomForTeamWidget(RocketChatAccount *account, QWidget *parent)
: QWidget(parent)
, mSearchRoomLineEdit(new AddTeamRoomCompletionLineEdit(account, this))
- , mFlowLayout(new FlowLayout)
+ , mFlowLayout(new TextAddonsWidgets::TextAddonsWidgetFlowLayout)
{
auto mainLayout = new QVBoxLayout(this);
mainLayout->setObjectName(u"mainLayout"_s);
diff --git a/src/widgets/teams/teamsearchroomforteamwidget.h b/src/widgets/teams/teamsearchroomforteamwidget.h
index 3f16caf19e..015a3ab00c 100644
--- a/src/widgets/teams/teamsearchroomforteamwidget.h
+++ b/src/widgets/teams/teamsearchroomforteamwidget.h
@@ -10,7 +10,10 @@
#include "libruqolawidgets_private_export.h"
#include <QMap>
#include <QWidget>
-class FlowLayout;
+namespace TextAddonsWidgets
+{
+class TextAddonsWidgetFlowLayout;
+}
class ClickableWidget;
class RocketChatAccount;
class LIBRUQOLAWIDGETS_TESTS_EXPORT TeamSearchRoomForTeamWidget : public QWidget
@@ -30,6 +33,6 @@ private:
LIBRUQOLAWIDGETS_NO_EXPORT void slotRemoveRoom(const QString &name);
LIBRUQOLAWIDGETS_NO_EXPORT void slotAddNewName(const AddTeamRoomCompletionLineEdit::RoomCompletionInfo &info);
AddTeamRoomCompletionLineEdit *const mSearchRoomLineEdit;
- FlowLayout *const mFlowLayout;
+ TextAddonsWidgets::TextAddonsWidgetFlowLayout *const mFlowLayout;
QMap<QString, ClickableWidget *> mMap;
};