Applications: Fix keypress event handler (#205)
* Applications: Fix keypress event handler * further fix and simplify the keypress handler * disconnect the keyPress handler when destroying the plugin
This commit is contained in:
parent
6f34ff8538
commit
2f1329de7d
@ -215,7 +215,7 @@ class pluginclass( object ):
|
||||
self.filterTimer = None
|
||||
self.menuChangedTimer = None
|
||||
# Hookup for text input
|
||||
self.content_holder.connect( "key-press-event", self.keyPress )
|
||||
self.keyPress_handler = self.mintMenuWin.window.connect( "key-press-event", self.keyPress )
|
||||
|
||||
self.favoritesBox.connect( "drag-data-received", self.ReceiveCallback )
|
||||
|
||||
@ -324,6 +324,8 @@ class pluginclass( object ):
|
||||
self.categoriesBox.destroy()
|
||||
self.favoritesBox.destroy()
|
||||
|
||||
self.mintMenuWin.window.disconnect(self.keyPress_handler)
|
||||
|
||||
self.settings.notifyRemoveAll()
|
||||
|
||||
def changePluginSize( self, settings, key, args ):
|
||||
@ -843,23 +845,11 @@ class pluginclass( object ):
|
||||
self.searchEntry.set_text( "" )
|
||||
self.Filter( widget, category )
|
||||
|
||||
# Forward all text to the search box
|
||||
def keyPress( self, widget, event ):
|
||||
|
||||
if event.string.strip() != "" or event.keyval == Gdk.KEY_BackSpace:
|
||||
self.searchEntry.grab_focus()
|
||||
self.searchEntry.set_position( -1 )
|
||||
""" Forward all text to the search box """
|
||||
if event.string.strip() or event.keyval == Gdk.KEY_space:
|
||||
self.searchEntry.event( event )
|
||||
return True
|
||||
|
||||
|
||||
if event.keyval == Gdk.KEY_space:
|
||||
self.searchEntry.event( event )
|
||||
return True
|
||||
|
||||
if event.keyval == Gdk.KEY_Down and self.searchEntry.is_focus():
|
||||
self.applicationsBox.get_children()[0].grab_focus()
|
||||
|
||||
return False
|
||||
|
||||
def favPopup( self, widget, event ):
|
||||
|
Loading…
Reference in New Issue
Block a user