From 0bd369dd52561d4654697b09a89141e96305e837 Mon Sep 17 00:00:00 2001 From: Markku Luukkainen Date: Fri, 29 May 2009 09:58:33 +0200 Subject: Implemented better way to detect when to add automagically a menu button to softkeys --- src/gui/widgets/qsoftkeystack.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/gui/widgets/qsoftkeystack.cpp b/src/gui/widgets/qsoftkeystack.cpp index c68fe19..984922e 100644 --- a/src/gui/widgets/qsoftkeystack.cpp +++ b/src/gui/widgets/qsoftkeystack.cpp @@ -185,15 +185,20 @@ void QSoftKeyStack::handleFocusChanged(QWidget *old, QWidget *now) QMainWindow *mainWindow = qobject_cast(w); if( !mainWindow) return; + if (!mainWindow->hasSoftKeyStack()) + return; QSoftKeyStack* softKeyStack = mainWindow->softKeyStack(); - - Qt::ContextMenuPolicy policy = now->contextMenuPolicy(); - if (policy != Qt::NoContextMenu && policy != Qt::PreventContextMenu ) { + if( mainWindow->menuWidget() ) + { QList actionList; QSoftKeyAction* menu = new QSoftKeyAction(QSoftKeyAction::Menu, QString::fromLatin1("Menu"), now); - QSoftKeyAction* contextMenu = new QSoftKeyAction(QSoftKeyAction::ContextMenu, QString::fromLatin1("ContextMenu"), now); actionList.append(menu); - actionList.append(contextMenu); + + Qt::ContextMenuPolicy policy = now->contextMenuPolicy(); + if (policy != Qt::NoContextMenu && policy != Qt::PreventContextMenu ) { + QSoftKeyAction* contextMenu = new QSoftKeyAction(QSoftKeyAction::ContextMenu, QString::fromLatin1("ContextMenu"), now); + actionList.append(contextMenu); + } if (old) softKeyStack->popandPush(actionList); else -- cgit v0.12