forked from qt-creator/qt-creator
QmlDesigner: Escape button press clears the search boxes
Task-number: QDS-7838 Change-Id: I1ed283846ba87eb2dbd786a560aaf940cb6f8132 Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
This commit is contained in:
@@ -40,6 +40,13 @@ T.TextField {
|
|||||||
hoverEnabled: true
|
hoverEnabled: true
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
|
Keys.onPressed: (event) => {
|
||||||
|
if (event.key === Qt.Key_Escape && event.modifiers === Qt.NoModifier) {
|
||||||
|
control.clear()
|
||||||
|
event.accepted = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
id: placeholder
|
id: placeholder
|
||||||
x: control.leftPadding
|
x: control.leftPadding
|
||||||
|
@@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QBoxLayout>
|
#include <QBoxLayout>
|
||||||
|
#include <QKeyEvent>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
#include <QToolButton>
|
#include <QToolButton>
|
||||||
@@ -71,7 +72,7 @@ LineEdit::LineEdit(QWidget *parent)
|
|||||||
setFixedHeight(29);
|
setFixedHeight(29);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LineEdit::resizeEvent(QResizeEvent *)
|
void LineEdit::resizeEvent([[maybe_unused]] QResizeEvent *event)
|
||||||
{
|
{
|
||||||
QSize hint = clearButton->sizeHint();
|
QSize hint = clearButton->sizeHint();
|
||||||
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
|
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
|
||||||
@@ -80,6 +81,16 @@ void LineEdit::resizeEvent(QResizeEvent *)
|
|||||||
(rect().bottom() + 1 - hint.height()) / 2);
|
(rect().bottom() + 1 - hint.height()) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LineEdit::keyPressEvent(QKeyEvent *event)
|
||||||
|
{
|
||||||
|
if (event->key() == Qt::Key_Escape && event->modifiers() == Qt::NoModifier) {
|
||||||
|
clear();
|
||||||
|
event->accept();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QLineEdit::keyPressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
void LineEdit::updateClearButton(const QString& text)
|
void LineEdit::updateClearButton(const QString& text)
|
||||||
{
|
{
|
||||||
clearButton->setVisible(!text.isEmpty());
|
clearButton->setVisible(!text.isEmpty());
|
||||||
|
@@ -19,7 +19,8 @@ public:
|
|||||||
LineEdit(QWidget *parent = nullptr);
|
LineEdit(QWidget *parent = nullptr);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void resizeEvent(QResizeEvent *);
|
void resizeEvent(QResizeEvent *event) override;
|
||||||
|
void keyPressEvent(QKeyEvent *event) override;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void updateClearButton(const QString &text);
|
void updateClearButton(const QString &text);
|
||||||
|
Reference in New Issue
Block a user