diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/widgets/qsoftkeystack.cpp | 15 |
1 files 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<QMainWindow*>(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<QSoftKeyAction*> 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 |