Disable the direction keys in present window when there is no

highlighted window on the screen. Happens when no window matches the
current filter.
BUG: 212984

svn path=/trunk/KDE/kdebase/workspace/; revision=1062343
icc-effect-5.14.5
Lucas Murray 2009-12-14 11:44:01 +00:00
parent 1c02f9aaf6
commit 601086c81e
1 changed files with 16 additions and 8 deletions

View File

@ -572,28 +572,36 @@ void PresentWindowsEffect::grabbedKeyboardEvent( QKeyEvent *e )
switch( e->key() )
{ // Wrap only if not auto-repeating
case Qt::Key_Left:
setHighlightedWindow( relativeWindow( m_highlightedWindow, -1, 0, !e->isAutoRepeat() ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, -1, 0, !e->isAutoRepeat() ));
break;
case Qt::Key_Right:
setHighlightedWindow( relativeWindow( m_highlightedWindow, 1, 0, !e->isAutoRepeat() ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, 1, 0, !e->isAutoRepeat() ));
break;
case Qt::Key_Up:
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, -1, !e->isAutoRepeat() ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, -1, !e->isAutoRepeat() ));
break;
case Qt::Key_Down:
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, 1, !e->isAutoRepeat() ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, 1, !e->isAutoRepeat() ));
break;
case Qt::Key_Home:
setHighlightedWindow( relativeWindow( m_highlightedWindow, -1000, 0, false ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, -1000, 0, false ));
break;
case Qt::Key_End:
setHighlightedWindow( relativeWindow( m_highlightedWindow, 1000, 0, false ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, 1000, 0, false ));
break;
case Qt::Key_PageUp:
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, -1000, false ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, -1000, false ));
break;
case Qt::Key_PageDown:
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, 1000, false ));
if( m_highlightedWindow )
setHighlightedWindow( relativeWindow( m_highlightedWindow, 0, 1000, false ));
break;
case Qt::Key_Backspace:
if( !m_windowFilter.isEmpty() )