summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qsoftkeymanager_s60.cpp
diff options
context:
space:
mode:
authorJanne Anttila <janne.anttila@digia.com>2010-04-06 10:25:59 (GMT)
committerJanne Anttila <janne.anttila@digia.com>2010-04-06 10:40:21 (GMT)
commitf8f83e3a9177531169c3c2b525c868b6f4016381 (patch)
treee75e9330078bfbd3f94773bcbfe4d5fc3cbd8525 /src/gui/kernel/qsoftkeymanager_s60.cpp
parentc96047c0495c58b56a73873fd235ce859e0e9255 (diff)
downloadQt-f8f83e3a9177531169c3c2b525c868b6f4016381.zip
Qt-f8f83e3a9177531169c3c2b525c868b6f4016381.tar.gz
Qt-f8f83e3a9177531169c3c2b525c868b6f4016381.tar.bz2
Fixed modal dialog not to have automatic "Exit" right softkey in S60.
During softkey refactoring this piece of code get changes, but the changed code did not work correctly if window had no softkey actions. Switched back to old way where softkey source is stored to variable, and windowType is asked from stored variable. If softkey source is dialog or popup, "Exit" is not added automatically to RSK. Task-number: QT-2203 Reviewed-by: Sami Merila
Diffstat (limited to 'src/gui/kernel/qsoftkeymanager_s60.cpp')
-rw-r--r--src/gui/kernel/qsoftkeymanager_s60.cpp13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp
index 9812d72..7d643c2 100644
--- a/src/gui/kernel/qsoftkeymanager_s60.cpp
+++ b/src/gui/kernel/qsoftkeymanager_s60.cpp
@@ -312,17 +312,8 @@ bool QSoftKeyManagerPrivateS60::setMiddleSoftkey(CEikButtonGroupContainer &cba)
bool QSoftKeyManagerPrivateS60::setRightSoftkey(CEikButtonGroupContainer &cba)
{
if (!setSoftkey(cba, QAction::NegativeSoftKey, RSK_POSITION)) {
- Qt::WindowType windowType = Qt::Window;
- QAction *action = requestedSoftKeyActions.value(0);
- if (action) {
- QWidget *actionParent = action->parentWidget();
- Q_ASSERT_X(actionParent, Q_FUNC_INFO, "No parent set for softkey action!");
-
- QWidget *actionWindow = actionParent->window();
- Q_ASSERT_X(actionWindow, Q_FUNC_INFO, "Softkey action does not have window!");
- windowType = actionWindow->windowType();
- }
-
+ const Qt::WindowType windowType = initialSoftKeySource
+ ? initialSoftKeySource->window()->windowType() : Qt::Window;
if (windowType != Qt::Dialog && windowType != Qt::Popup) {
QString text(QSoftKeyManager::tr("Exit"));
TPtrC nativeText = qt_QString2TPtrC(text);