Print this page
*** NO COMMENTS ***

Split Close
Expand all
Collapse all
          --- old/src/packagemanager.py
          +++ new/src/packagemanager.py
↓ open down ↓ 254 lines elided ↑ open up ↑
 255  255                          w_tree_main.signal_autoconnect(dic_mainwindow)
 256  256                          w_tree_progress.signal_autoconnect(dic_progress)
 257  257                  except AttributeError, error:
 258  258                          print self._( \
 259  259                              'GUI will not respond to any event! %s.' + \
 260  260                              'Check declare_signals()') \
 261  261                              % error
 262  262                              
 263  263                  self.package_selection = None
 264  264                  self.category_list_filter = None
 265      -                self.application_list_filter = None 
      265 +                self.application_list_filter = None
      266 +                self.application_refilter_id = 0 
 266  267                  self.in_setup = True
 267  268                  self.w_main_window.show_all()
 268  269  
 269  270          @staticmethod
 270  271          def __get_new_application_liststore():
 271  272                  return gtk.ListStore(
 272  273                          gobject.TYPE_BOOLEAN,     # enumerations.MARK_COLUMN
 273  274                          gtk.gdk.Pixbuf,           # enumerations.STATUS_ICON_COLUMN
 274  275                          gtk.gdk.Pixbuf,           # enumerations.ICON_COLUMN
 275  276                          gobject.TYPE_STRING,      # enumerations.NAME_COLUMN
↓ open down ↓ 263 lines elided ↑ open up ↑
 539  540          def __on_edit_repositories_activate(self, widget):
 540  541                  ''' handler for repository menu event '''
 541  542                  repository.Repository(self)
 542  543  
 543  544          def __on_file_be_activate(self, widget):
 544  545                  ''' handler for be menu event '''
 545  546                  beadm.Beadmin(self)
 546  547  
 547  548          def __on_searchentry_changed(self, widget):
 548  549                  '''On text search field changed we should refilter the main view'''
 549      -                Thread(target = self.__on_searchentry_threaded, args = ()).start()
      550 +                if self.application_refilter_id != 0:
      551 +                        gobject.source_remove(self.application_refilter_id)
      552 +                        self.application_refilter_id = 0
      553 +                if self.w_searchentry_dialog.get_text() == "":
      554 +                        self.application_refilter_id = \
      555 +                            gobject.idle_add(self.__application_refilter)
      556 +                else:
      557 +                        self.application_refilter_id = \
      558 +                            gobject.timeout_add(300, self.__application_refilter)
 550  559  
 551      -        def __on_searchentry_threaded(self):
 552      -                gobject.idle_add(self.application_list_filter.refilter)
      560 +        def __application_refilter(self):
      561 +                self.application_list_filter.refilter()
 553  562                  gobject.idle_add(self.__enable_disable_selection_menus)
      563 +                gobject.idle_add(self.update_statusbar)
      564 +                self.application_refilter_id = 0
      565 +                return False
 554  566  
 555  567          def __on_edit_paste(self, widget):
 556  568                  self.w_searchentry_dialog.insert_text(self.main_clipboard_text, \
 557  569                      self.w_searchentry_dialog.get_position())
 558  570  
 559  571          def __on_clear_paste(self, widget):
 560  572                  bounds = self.w_searchentry_dialog.get_selection_bounds()
 561  573                  self.w_searchentry_dialog.delete_text(bounds[0], bounds[1])
 562  574                  return
 563  575  
↓ open down ↓ 1695 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX