summaryrefslogtreecommitdiff
path: root/core/launcher/startmenu.cpp
Side-by-side diff
Diffstat (limited to 'core/launcher/startmenu.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/startmenu.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index 88c6219..39e07c8 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -224,50 +224,51 @@ bool StartMenu::loadMenu( AppLnkSet *folder, QPopupMenu *menu )
QString t = app->name();
t.replace(QRegExp("&"),"&&"); // escape shortcut character
pmenu->insertItem( app->pixmap(), t, app->id() );
}
result=TRUE;
}
}
}
if ( sepId && ( menu-> idAt ( 0 ) == sepId )) { // no tabs entries
menu-> removeItem ( sepId );
sepId = 0;
}
if ( !menu-> count ( )) // if we don't do this QPopupMenu will insert a dummy Separator, which won't go away later
sepId = menu-> insertSeparator ( );
return result;
}
void StartMenu::launch()
{
int y = mapToGlobal( QPoint() ).y() - launchMenu->sizeHint().height();
- if ( launchMenu->isVisible() )
+ if ( launchMenu-> isVisible ( )) {
launchMenu->hide();
+ }
else {
QWidget *active = qApp->activeWindow();
if ( active && active->isPopup() )
active->close();
launchMenu->popup( QPoint( 1, y ) );
}
}
const AppLnk* StartMenu::execToLink(const QString& appname)
{
const AppLnk* a = apps->findExec( appname );
return a;
}
void StartPopupMenu::keyPressEvent( QKeyEvent *e )
{
if ( e->key() == Key_F33 || e->key() == Key_Space ) {
// "OK" button, little hacky
QKeyEvent ke(QEvent::KeyPress, Key_Enter, 13, 0);
QPopupMenu::keyPressEvent( &ke );
} else {
QPopupMenu::keyPressEvent( e );
}