diff options
author | David Faure <david.faure@kdab.com> | 2014-03-07 18:33:50 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-13 17:59:44 +0100 |
commit | 73d761ffe5ed9364e20e3766afe89213a089ec28 (patch) | |
tree | 8056e2b853b2de2443babd2506762fe0068f2fc1 /src/widgets | |
parent | 27016b89ae49da091527548af0ca9022ec4d7902 (diff) |
Add ReadOnlyChange event to widgets that support setReadOnly(bool).
This is useful for widget styles to react when widgets are set
read-only, e.g. to update their palette accordingly.
[ChangeLog][QtWidgets] All widgets with a setReadOnly method now
send a ReadOnlyChange event (e.g. for app-specific palette changes)
Change-Id: I74719a3e1b7d034d9bfc94305f846f42aae935bd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 3 | ||||
-rw-r--r-- | src/widgets/widgets/qabstractspinbox.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qlineedit.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qplaintextedit.cpp | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qtextedit.cpp | 2 |
5 files changed, 10 insertions, 1 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index ab045dd604..8db5666d85 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -8224,6 +8224,7 @@ bool QWidget::event(QEvent *event) case QEvent::MacSizeChange: case QEvent::ContentsRectChange: case QEvent::ThemeChange: + case QEvent::ReadOnlyChange: changeEvent(event); break; @@ -8395,7 +8396,7 @@ bool QWidget::event(QEvent *event) QEvent::ModifiedChange, QEvent::MouseTrackingChange, QEvent::ParentChange, QEvent::WindowStateChange, QEvent::LanguageChange, QEvent::LocaleChange, - QEvent::LayoutDirectionChange. + QEvent::LayoutDirectionChange, QEvent::ReadOnlyChange. */ void QWidget::changeEvent(QEvent * event) diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 92af91b66e..43f5d6fd31 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -315,6 +315,8 @@ void QAbstractSpinBox::setReadOnly(bool enable) Q_D(QAbstractSpinBox); d->readOnly = enable; d->edit->setReadOnly(enable); + QEvent event(QEvent::ReadOnlyChange); + QApplication::sendEvent(this, &event); update(); } diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index ba4dbcc878..8ba3486b9b 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -1348,6 +1348,8 @@ void QLineEdit::setReadOnly(bool enable) #ifndef QT_NO_CURSOR setCursor(enable ? Qt::ArrowCursor : Qt::IBeamCursor); #endif + QEvent event(QEvent::ReadOnlyChange); + QCoreApplication::sendEvent(this, &event); update(); } } diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index d51dce4765..f6ec2a75aa 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -2529,6 +2529,8 @@ void QPlainTextEdit::setReadOnly(bool ro) } setAttribute(Qt::WA_InputMethodEnabled, shouldEnableInputMethod(this)); d->control->setTextInteractionFlags(flags); + QEvent event(QEvent::ReadOnlyChange); + QApplication::sendEvent(this, &event); } /*! diff --git a/src/widgets/widgets/qtextedit.cpp b/src/widgets/widgets/qtextedit.cpp index a33ac0817f..f106b70c12 100644 --- a/src/widgets/widgets/qtextedit.cpp +++ b/src/widgets/widgets/qtextedit.cpp @@ -2122,6 +2122,8 @@ void QTextEdit::setReadOnly(bool ro) } d->control->setTextInteractionFlags(flags); setAttribute(Qt::WA_InputMethodEnabled, shouldEnableInputMethod(this)); + QEvent event(QEvent::ReadOnlyChange); + QApplication::sendEvent(this, &event); } /*! |