diff options
author | Alessandro Portale <aportale@trolltech.com> | 2009-05-22 11:18:59 (GMT) |
---|---|---|
committer | Alessandro Portale <aportale@trolltech.com> | 2009-05-22 11:18:59 (GMT) |
commit | e7f7d1f20ed691a274dcf07801baa17f7a8aabf9 (patch) | |
tree | 9011d08b39c83f8b680d0e9d5a45be757b63c027 | |
parent | 164d3de4329019d34b10a802be16ea35aaafc5da (diff) | |
download | Qt-e7f7d1f20ed691a274dcf07801baa17f7a8aabf9.zip Qt-e7f7d1f20ed691a274dcf07801baa17f7a8aabf9.tar.gz Qt-e7f7d1f20ed691a274dcf07801baa17f7a8aabf9.tar.bz2 |
Added helper softKeyStackOfWidget. It returns the stack of the MainWindow
of a widget (which might want to push its actions to the stack)
-rw-r--r-- | src/gui/widgets/qsoftkeystack.cpp | 16 | ||||
-rw-r--r-- | src/gui/widgets/qsoftkeystack.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/gui/widgets/qsoftkeystack.cpp b/src/gui/widgets/qsoftkeystack.cpp index ae58e8d..723b9bf 100644 --- a/src/gui/widgets/qsoftkeystack.cpp +++ b/src/gui/widgets/qsoftkeystack.cpp @@ -165,6 +165,22 @@ void QSoftKeyStack::handleSoftKeyPress(int command) d->handleSoftKeyPress(command); } +QMainWindow *QSoftKeyStack::mainWindowOfWidget(QWidget *widget) +{ + QWidget *widgetParent = widget; + while (widgetParent = widgetParent->parentWidget()) + if (QMainWindow *mainWindow = qobject_cast<QMainWindow*>(widgetParent)) + return mainWindow; + + return 0; +} + +QSoftKeyStack *QSoftKeyStack::softKeyStackOfWidget(QWidget *widget) +{ + QMainWindow *mainWindow = mainWindowOfWidget(widget); + return mainWindow ? mainWindow->softKeyStack() : 0; +} + #if !defined(Q_WS_S60) void QSoftKeyStackPrivate::handleSoftKeyPress(int command) { diff --git a/src/gui/widgets/qsoftkeystack.h b/src/gui/widgets/qsoftkeystack.h index c9a05c3..7c955da 100644 --- a/src/gui/widgets/qsoftkeystack.h +++ b/src/gui/widgets/qsoftkeystack.h @@ -69,6 +69,9 @@ public: void handleSoftKeyPress(int command); + static QMainWindow *mainWindowOfWidget(QWidget *widget); + static QSoftKeyStack *softKeyStackOfWidget(QWidget *widget); + private Q_SLOTS: void handleFocusChanged(QWidget *old, QWidget *now); |