9859 Focus in PM can still be changed via keyboard during a search
authorPadraig O'Briain <padraig.obriain@sun.com>
Fri, 10 Jul 2009 20:02:49 +0100
changeset 1216 ff1b8f7a5530
parent 1215 a302cf70ad94
child 1217 1e2405e83d3a
9859 Focus in PM can still be changed via keyboard during a search
src/gui/data/packagemanager.glade
src/packagemanager.py
--- a/src/gui/data/packagemanager.glade	Fri Jul 10 19:54:19 2009 +0100
+++ b/src/gui/data/packagemanager.glade	Fri Jul 10 20:02:49 2009 +0100
@@ -11,6 +11,7 @@
     <property name="default_width">800</property>
     <property name="default_height">615</property>
     <property name="icon">PM_app_48x.png</property>
+    <signal name="key_press_event" handler="on_mainwindow_key_press_event"/>
     <signal name="delete_event" handler="on_mainwindow_delete_event"/>
     <child>
       <widget class="GtkVBox" id="vbox1">
--- a/src/packagemanager.py	Fri Jul 10 19:54:19 2009 +0100
+++ b/src/packagemanager.py	Fri Jul 10 20:02:49 2009 +0100
@@ -466,6 +466,8 @@
                             {
                                 "on_mainwindow_delete_event": \
                                     self.__on_mainwindow_delete_event,
+                                "on_mainwindow_key_press_event": \
+                                    self.__on_mainwindow_key_press_event,
                                 "on_searchentry_changed":self.__on_searchentry_changed,
                                 "on_searchentry_focus_in_event": \
                                     self.__on_searchentry_focus_in,
@@ -1575,6 +1577,12 @@
                 self.progress_canceled = True
                 self.progress_stop_timer_thread = True
 
+        def __on_mainwindow_key_press_event(self, widget, event):
+                if self.is_busy_cursor_set():
+                        return True
+                else:
+                        return False
+
         def __on_mainwindow_delete_event(self, widget, event):
                 ''' handler for delete event of the main window '''
                 if self.__check_if_something_was_changed() == True:
@@ -3841,6 +3849,9 @@
                     self.application_dir, self.api_o)
                 self.__on_reload(None)
 
+        def is_busy_cursor_set(self):
+                return self.gdk_window.is_visible()
+
         def set_busy_cursor(self):
                 self.gdk_window.show()