[libraries/ktextaddons/2.1] textautogeneratetext/widgets: Use a QToolButton

Laurent Montel <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git commit 6de8522f5150e13cc37aaf20e52410c063eb1ca9 by Laurent Montel.
Committed on 17/07/2026 at 11:10.
Pushed by mlaurent into branch '2.1'.

Use a QToolButton

M  +6    -3    textautogeneratetext/widgets/autotests/textautogeneratetextlineeditattachmentclickablewidgettest.cpp
M  +10   -22   textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.cpp
M  +0    -15   textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.h

https://invent.kde.org/libraries/ktextaddons/-/commit/6de8522f5150e13cc37aaf20e52410c063eb1ca9

diff --git a/textautogeneratetext/widgets/autotests/textautogeneratetextlineeditattachmentclickablewidgettest.cpp b/textautogeneratetext/widgets/autotests/textautogeneratetextlineeditattachmentclickablewidgettest.cpp
index 081c74521..b5eebf5e2 100644
--- a/textautogeneratetext/widgets/autotests/textautogeneratetextlineeditattachmentclickablewidgettest.cpp
+++ b/textautogeneratetext/widgets/autotests/textautogeneratetextlineeditattachmentclickablewidgettest.cpp
@@ -8,6 +8,7 @@
 #include <QHBoxLayout>
 #include <QLabel>
 #include <QTest>
+#include <QToolButton>
 using namespace Qt::Literals::StringLiterals;
 
 QTEST_MAIN(TextAutoGenerateTextLineEditAttachmentClickableWidgetTest)
@@ -24,14 +25,16 @@ void TextAutoGenerateTextLineEditAttachmentClickableWidgetTest::shouldHaveDefaul
     QVERIFY(mainLayout);
     QCOMPARE(mainLayout->contentsMargins(), QMargins{});
 
-    auto mClickableLabel = w.findChild<TextAutoGenerateText::TextAutoGenerateTextLineEditAttachmentClickableLabel *>(u"mClickableLabel"_s);
-    QVERIFY(mClickableLabel);
-
     auto mFileNameLabel = w.findChild<QLabel *>(u"mFileNameLabel"_s);
     QVERIFY(mFileNameLabel);
 
     auto mMimetypeLabel = w.findChild<QLabel *>(u"mMimetypeLabel"_s);
     QVERIFY(mMimetypeLabel);
+
+    auto removeBtn = w.findChild<QToolButton *>(u"removeBtn"_s);
+    QVERIFY(removeBtn);
+    QVERIFY(removeBtn->autoRaise());
+    QVERIFY(!removeBtn->toolTip().isEmpty());
 }
 
 #include "moc_textautogeneratetextlineeditattachmentclickablewidgettest.cpp"
diff --git a/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.cpp b/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.cpp
index 8c1968050..0c2ae5030 100644
--- a/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.cpp
+++ b/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.cpp
@@ -11,6 +11,7 @@
 #include <QFileInfo>
 #include <QHBoxLayout>
 #include <QMimeDatabase>
+#include <QToolButton>
 
 using namespace TextAutoGenerateText;
 using namespace Qt::Literals::StringLiterals;
@@ -47,7 +48,6 @@ TextAutoGenerateTextLineEditAttachmentClickableWidget::TextAutoGenerateTextLineE
 
 TextAutoGenerateTextLineEditAttachmentClickableWidget::TextAutoGenerateTextLineEditAttachmentClickableWidget(QWidget *parent)
     : QWidget{parent}
-    , mClickableLabel(new TextAutoGenerateTextLineEditAttachmentClickableLabel(this))
     , mFileNameLabel(new QLabel(this))
     , mMimetypeLabel(new QLabel(this))
 {
@@ -61,12 +61,15 @@ TextAutoGenerateTextLineEditAttachmentClickableWidget::TextAutoGenerateTextLineE
     mFileNameLabel->setObjectName(u"mFileNameLabel"_s);
     mainLayout->addWidget(mFileNameLabel);
 
-    mClickableLabel->setObjectName(u"mClickableLabel"_s);
-    mainLayout->addWidget(mClickableLabel);
-    connect(mClickableLabel,
-            &TextAutoGenerateTextLineEditAttachmentClickableLabel::clicked,
-            this,
-            &TextAutoGenerateTextLineEditAttachmentClickableWidget::slotRemove);
+    auto removeBtn = new QToolButton(this);
+    removeBtn->setObjectName(u"removeBtn"_s);
+    removeBtn->setAutoRaise(true);
+    removeBtn->setIcon(QIcon::fromTheme(u"edit-delete-remove"_s));
+    removeBtn->setFixedSize(18, 18);
+    removeBtn->setIconSize(QSize(12, 12));
+    removeBtn->setToolTip(i18nc("@info:tooltip", "Remove"));
+    mainLayout->addWidget(removeBtn);
+    connect(removeBtn, &QToolButton::clicked, this, &TextAutoGenerateTextLineEditAttachmentClickableWidget::slotRemove);
 }
 
 TextAutoGenerateTextLineEditAttachmentClickableWidget::~TextAutoGenerateTextLineEditAttachmentClickableWidget() = default;
@@ -81,19 +84,4 @@ QString TextAutoGenerateTextLineEditAttachmentClickableWidget::fileName() const
     return mFileName;
 }
 
-TextAutoGenerateTextLineEditAttachmentClickableLabel::TextAutoGenerateTextLineEditAttachmentClickableLabel(QWidget *parent)
-    : QLabel(parent)
-{
-    setToolTip(i18nc("@info:tooltip", "Remove"));
-    setPixmap(QIcon::fromTheme(u"delete"_s).pixmap(24, 24));
-}
-
-TextAutoGenerateTextLineEditAttachmentClickableLabel::~TextAutoGenerateTextLineEditAttachmentClickableLabel() = default;
-
-void TextAutoGenerateTextLineEditAttachmentClickableLabel::mousePressEvent(QMouseEvent *event)
-{
-    Q_EMIT clicked();
-    QLabel::mousePressEvent(event);
-}
-
 #include "moc_textautogeneratetextlineeditattachmentclickablewidget.cpp"
diff --git a/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.h b/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.h
index 193af4e0b..03aa6cbb1 100644
--- a/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.h
+++ b/textautogeneratetext/widgets/common/textautogeneratetextlineeditattachmentclickablewidget.h
@@ -11,20 +11,6 @@
 namespace TextAutoGenerateText
 {
 
-class TEXTAUTOGENERATETEXT_TESTS_EXPORT TextAutoGenerateTextLineEditAttachmentClickableLabel : public QLabel
-{
-    Q_OBJECT
-public:
-    explicit TextAutoGenerateTextLineEditAttachmentClickableLabel(QWidget *parent = nullptr);
-    ~TextAutoGenerateTextLineEditAttachmentClickableLabel() override;
-
-Q_SIGNALS:
-    void clicked();
-
-protected:
-    void mousePressEvent(QMouseEvent *event) override;
-};
-
 class TEXTAUTOGENERATETEXT_TESTS_EXPORT TextAutoGenerateTextLineEditAttachmentClickableWidget : public QWidget
 {
     Q_OBJECT
@@ -42,7 +28,6 @@ Q_SIGNALS:
 private:
     TEXTAUTOGENERATETEXT_NO_EXPORT void slotRemove();
     QString mFileName;
-    TextAutoGenerateTextLineEditAttachmentClickableLabel *const mClickableLabel;
     QLabel *const mFileNameLabel;
     QLabel *const mMimetypeLabel;
 };
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.