diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-11-08 09:21:59 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-11-27 14:12:46 +0000 |
commit | 6ea96cfb61a619583555cf301994f32cbc75a4d8 (patch) | |
tree | bd88066b742211fee78df5f98675c88fe6e0f4ae /src/shared | |
parent | fe67c58e713a2f3df3fb84f27f3a3d5223900b42 (diff) |
Qt Designer: Add find functionality to the style sheet editor
Add a helper createFindAction() to AbstractFindWidget to create the
find action, factoring out duplicated code and add a TextFindWidget
to the style sheet editor, similar to the code dialog.
For modal dialogs, this requires overriding the key event
handling of QDialog to prevent it from closing on Enter.
Fixes: QTBUG-71650
Change-Id: Iecb78f9849936407248edf74cf3782cc34ff4e42
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/findwidget/abstractfindwidget.cpp | 19 | ||||
-rw-r--r-- | src/shared/findwidget/abstractfindwidget.h | 2 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/shared/findwidget/abstractfindwidget.cpp b/src/shared/findwidget/abstractfindwidget.cpp index d00a3fd97..f554e935f 100644 --- a/src/shared/findwidget/abstractfindwidget.cpp +++ b/src/shared/findwidget/abstractfindwidget.cpp @@ -53,16 +53,20 @@ #include "abstractfindwidget.h" +#include <QtCore/QCoreApplication> #include <QtCore/QEvent> #include <QtCore/QFile> #include <QtCore/QTimer> -#include <QtWidgets/QCheckBox> #include <QtGui/QKeyEvent> + +#include <QtWidgets/QCheckBox> +#include <QtWidgets/QAction> #include <QtWidgets/QLabel> #include <QtWidgets/QLayout> #include <QtWidgets/QLineEdit> #include <QtWidgets/QSpacerItem> +#include <QtWidgets/QShortcut> #include <QtWidgets/QToolButton> QT_BEGIN_NAMESPACE @@ -203,6 +207,19 @@ QIcon AbstractFindWidget::findIconSet() } /*! + Creates an actions with standard icon and shortcut to activate the widget. + */ +QAction *AbstractFindWidget::createFindAction(QObject *parent) +{ + + auto result = new QAction(AbstractFindWidget::findIconSet(), + tr("&Find in Text..."), parent); + connect(result, &QAction::triggered, this, &AbstractFindWidget::activate); + result->setShortcut(QKeySequence::Find); + return result; +} + +/*! Activates the find widget, making it visible and having focus on its input field. */ diff --git a/src/shared/findwidget/abstractfindwidget.h b/src/shared/findwidget/abstractfindwidget.h index 9560c2c5e..5e04456c9 100644 --- a/src/shared/findwidget/abstractfindwidget.h +++ b/src/shared/findwidget/abstractfindwidget.h @@ -45,6 +45,7 @@ QT_BEGIN_NAMESPACE +class QAction; class QCheckBox; class QEvent; class QKeyEvent; @@ -74,6 +75,7 @@ public: bool eventFilter(QObject *object, QEvent *e) override; static QIcon findIconSet(); + QAction *createFindAction(QObject *parent); public slots: void activate(); |