summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpemenubar.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/qpemenubar.cpp b/library/qpemenubar.cpp
index f0171ba..c658d10 100644
--- a/library/qpemenubar.cpp
+++ b/library/qpemenubar.cpp
@@ -90,65 +90,65 @@ void QPEMenuToolFocusManager::setActive( bool a )
90 } 90 }
91 inFocus = 0; 91 inFocus = 0;
92 oldFocus = 0; 92 oldFocus = 0;
93 } 93 }
94} 94}
95 95
96bool QPEMenuToolFocusManager::isActive() const 96bool QPEMenuToolFocusManager::isActive() const
97{ 97{
98 return !inFocus.isNull(); 98 return !inFocus.isNull();
99} 99}
100 100
101void QPEMenuToolFocusManager::moveFocus( bool next ) 101void QPEMenuToolFocusManager::moveFocus( bool next )
102{ 102{
103 if ( !isActive() ) 103 if ( !isActive() )
104 return; 104 return;
105 105
106 int n = list.count(); 106 int n = list.count();
107 QValueList<GuardedWidget>::Iterator it; 107 QValueList<GuardedWidget>::Iterator it;
108 it = list.find( inFocus ); 108 it = list.find( inFocus );
109 if ( it == list.end() ) 109 if ( it == list.end() )
110 it = list.begin(); 110 it = list.begin();
111 while ( --n ) { 111 while ( --n ) {
112 if ( next ) { 112 if ( next ) {
113 ++it; 113 ++it;
114 if ( it == list.end() ) 114 if ( it == list.end() )
115 it = list.begin(); 115 it = list.begin();
116 } else { 116 } else {
117 if ( it == list.begin() ) 117 if ( it == list.begin() )
118 it = list.end(); 118 it = list.end();
119 --it; 119 --it;
120 } 120 }
121 QWidget *w = (*it); 121 QWidget *w = (*it);
122 if ( w && w->isEnabled() && w->isVisible() && 122 if ( w && w->isEnabled() && w->isVisible() && !w->inherits("QToolBarSeparator") &&
123 w->topLevelWidget() == qApp->activeWindow() ) { 123 w->topLevelWidget() == qApp->activeWindow() ) {
124 setFocus( w, next ); 124 setFocus( w, next );
125 return; 125 return;
126 } 126 }
127 } 127 }
128} 128}
129 129
130void QPEMenuToolFocusManager::initialize() 130void QPEMenuToolFocusManager::initialize()
131{ 131{
132 if ( !me ) 132 if ( !me )
133 me = new QPEMenuToolFocusManager; 133 me = new QPEMenuToolFocusManager;
134} 134}
135 135
136QPEMenuToolFocusManager *QPEMenuToolFocusManager::manager() 136QPEMenuToolFocusManager *QPEMenuToolFocusManager::manager()
137{ 137{
138 if ( !me ) 138 if ( !me )
139 me = new QPEMenuToolFocusManager; 139 me = new QPEMenuToolFocusManager;
140 140
141 return me; 141 return me;
142} 142}
143 143
144void QPEMenuToolFocusManager::setFocus( QWidget *w, bool next ) 144void QPEMenuToolFocusManager::setFocus( QWidget *w, bool next )
145{ 145{
146 inFocus = w; 146 inFocus = w;
147// qDebug( "Set focus on %s", w->className() ); 147// qDebug( "Set focus on %s", w->className() );
148 if ( inFocus->inherits( "QMenuBar" ) ) { 148 if ( inFocus->inherits( "QMenuBar" ) ) {
149 QMenuBar *mb = (QMenuBar *)(QWidget *)inFocus; 149 QMenuBar *mb = (QMenuBar *)(QWidget *)inFocus;
150 if ( next ) 150 if ( next )
151 mb->activateItemAt( 0 ); 151 mb->activateItemAt( 0 );
152 else 152 else
153 mb->activateItemAt( mb->count()-1 ); 153 mb->activateItemAt( mb->count()-1 );
154 } 154 }