[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kdeui
From: Leon Bottou <leon () bottou ! org>
Date: 2003-10-31 16:30:51
[Download RAW message or body]
CVS commit by leonb:
Fixed another anomaly with focus navigation with the tab key.
M +5 -4 qxembed.cpp 1.59
--- kdelibs/kdeui/qxembed.cpp #1.58:1.59
@@ -163,6 +163,4 @@ static QPtrDict<QGuardedPtr<QWidget> > *
// L0203: See L0660, L1400, L1450
static XKeyEvent last_key_event;
-// L0204: See L0620, L1531
-static bool tabForward = true;
// L0300: This class gives access protected members of class QWidget.
@@ -359,4 +357,5 @@ bool QXEmbedAppFilter::eventFilter( QObj
// L0621: The following tests are copied from QWidget::event().
bool res = false;
+ bool tabForward = true;
if ( !(k->state() & ControlButton || k->state() & AltButton) ) {
if ( k->key() == Key_Backtab || (k->key() == Key_Tab && (k->state() & ShiftButton)) ) {
@@ -494,5 +493,5 @@ static int qxembed_x11_event_filter( XEv
{
// L0686: Search last widget in tab chain
- QFocusEvent::setReason( QFocusEvent::Tab );
+ QFocusEvent::setReason( QFocusEvent::Backtab );
w->topLevelWidget()->setFocus();
((QPublicWidget*)w->topLevelWidget())->focusNextPrev(false);
@@ -861,5 +860,7 @@ void QXEmbed::focusInEvent( QFocusEvent
// its own tab chain.
if ( e->reason() == QFocusEvent::Tab )
- detail = tabForward ? XEMBED_FOCUS_FIRST : XEMBED_FOCUS_LAST;
+ detail = XEMBED_FOCUS_FIRST;
+ else if ( e->reason() == QFocusEvent::Backtab )
+ detail = XEMBED_FOCUS_LAST;
sendXEmbedMessage( window, XEMBED_FOCUS_IN, detail);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic