summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBradley T. Hughes <bradley.hughes@nokia.com>2012-03-28 11:36:10 +0200
committerQt by Nokia <qt-info@nokia.com>2012-04-03 17:35:09 +0200
commit772d748b95c068d93fce1d681a457ae97019ec40 (patch)
tree0d204f4569f73b06d87ee402f71299aa19544280
parent95d411578d44693059c05ccbec586aab4363092a (diff)
QWindow: add windowModality as a Q_PROPERTY()
This also adds the QWindow::windowModalityChanged() signal. Change-Id: I6e3bc3155d72811d173857c39d36dcb264928334 Reviewed-by: Alan Alpert <alan.alpert@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
-rw-r--r--src/gui/kernel/qwindow.cpp29
-rw-r--r--src/gui/kernel/qwindow.h2
2 files changed, 23 insertions, 8 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index 7248a990d7..519e18e940 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -363,6 +363,8 @@ bool QWindow::isTopLevel() const
Returns whether the window is modal.
A modal window prevents other windows from getting any input.
+
+ \sa QWindow::windowModality
*/
bool QWindow::isModal() const
{
@@ -370,26 +372,37 @@ bool QWindow::isModal() const
return d->modality != Qt::NonModal;
}
-/*!
- Returns the window's modality.
+/*! \property QWindow::windowModality
+ \brief the modality of the window
+
+ A modal window prevents other windows from receiving input events. Qt
+ supports two types of modality: Qt::WindowModal and Qt::ApplicationModal.
- \sa setWindowModality()
+ By default, this property is Qt::NonModal
+
+ \sa Qt::WindowModality
*/
+
Qt::WindowModality QWindow::windowModality() const
{
Q_D(const QWindow);
return d->modality;
}
-/*!
- Sets the window's modality to \a windowModality.
-*/
-void QWindow::setWindowModality(Qt::WindowModality windowModality)
+void QWindow::setWindowModality(Qt::WindowModality modality)
{
Q_D(QWindow);
- d->modality = windowModality;
+ if (d->modality == modality)
+ return;
+ d->modality = modality;
+ emit windowModalityChanged(modality);
}
+/*! \fn void QWindow::windowModalityChanged(Qt::WindowModality windowModality)
+
+ This signal is emitted when the Qwindow::windowModality property changes to \a windowModality.
+*/
+
/*!
Sets the window's surface \a format.
diff --git a/src/gui/kernel/qwindow.h b/src/gui/kernel/qwindow.h
index 1461f12520..711761e5e0 100644
--- a/src/gui/kernel/qwindow.h
+++ b/src/gui/kernel/qwindow.h
@@ -85,6 +85,7 @@ class Q_GUI_EXPORT QWindow : public QObject, public QSurface
Q_DECLARE_PRIVATE(QWindow)
Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle)
+ Q_PROPERTY(Qt::WindowModality windowModality READ windowModality WRITE setWindowModality NOTIFY windowModalityChanged)
Q_PROPERTY(int x READ x WRITE setX NOTIFY xChanged)
Q_PROPERTY(int y READ y WRITE setY NOTIFY yChanged)
Q_PROPERTY(int width READ width WRITE setWidth NOTIFY widthChanged)
@@ -255,6 +256,7 @@ public Q_SLOTS:
Q_SIGNALS:
void backBufferReady();
void screenChanged(QScreen *screen);
+ void windowModalityChanged(Qt::WindowModality windowModality);
void xChanged(int arg);
void yChanged(int arg);