On Sun, 6 Feb 2011 12:50:44 -0600, Steve Borho <[email protected]> wrote: > On Sun, Feb 6, 2011 at 9:22 AM, Phil Thompson > <[email protected]> wrote: >> On Tue, 25 Jan 2011 16:19:49 +0200, Андрей <[email protected]> wrote: >>> Hi >>> >>> Scintilla uses Shift+Tab for unindent by default. But, if I press it in >>> Qt4/QScintilla application, focus jumps to another widget, because Qt >> uses >>> Shift+Tab for move focus. >>> >>> I checked qt4 example - Shift+Tab doesn't work here, but works in the >> GTK >>> scite. >>> >>> How to resolve this situation? >> >> It will be fixed in tonight's snapshot. >> >> You can also apply the fix in your application by reimplementing >> keyPressEvent(), check to see if the key pressed is Key_Backtab and, if >> so, >> update the event so that it appears to be a Key_Tab with the shift >> modifier, then call the original keyPressEvent(). > > I've done this: > > def keyPressEvent(self, event): > if event.key() == Qt.Key_Backtab: > event.ignore() > newev = QKeyEvent(event.type(), Qt.Key_Tab, Qt.ShiftModifier) > super(MessageEntry, self).keyPressEvent(newev) > else: > super(MessageEntry, self).keyPressEvent(event) > > And it does do the back shift, but then the qsci widget loses focus. > Is there a way to avoid that?
Call event.accept() rather than event.ignore()? Phil _______________________________________________ QScintilla mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/qscintilla
