diff --git a/sulfur/gfx/loading_small.gif b/sulfur/gfx/loading_small.gif new file mode 100644 index 000000000..5b33f7e54 Binary files /dev/null and b/sulfur/gfx/loading_small.gif differ diff --git a/sulfur/src/sulfur/__init__.py b/sulfur/src/sulfur/__init__.py index 83fb3d5bc..6d5717df1 100644 --- a/sulfur/src/sulfur/__init__.py +++ b/sulfur/src/sulfur/__init__.py @@ -143,6 +143,9 @@ class SulfurApplication(Controller, SulfurApplicationEventsMixin): sys.stderr = self.output sys.stdin = self.input + # load "loading" pix + self._loading_pix_small = gtk.image_new_from_file(const.loading_pix_small) + self.queue = Queue(self) self.etpbase.connect_queue(self.queue) self.queueView = EntropyQueueView(self.ui.queueView, self.queue) diff --git a/sulfur/src/sulfur/events.py b/sulfur/src/sulfur/events.py index b037d55e6..fc65b7701 100644 --- a/sulfur/src/sulfur/events.py +++ b/sulfur/src/sulfur/events.py @@ -686,15 +686,32 @@ class SulfurApplicationEventsMixin: rc = questionDialog(self.ui.main, msg) if rc: self.abortQueueNow = True + def on_show_search_hit(self, do_show): + if do_show: + self.ui.pkgSearch.set_sensitive(False) + self.ui.pkgSearchButtonEvent.remove(self.ui.pkgSearchButtonImg) + self.ui.pkgSearchButtonEvent.add(self._loading_pix_small) + self.ui.pkgSearchButtonEvent.show_all() + else: + self.ui.pkgSearchButtonEvent.remove(self._loading_pix_small) + self.ui.pkgSearchButtonEvent.add(self.ui.pkgSearchButtonImg) + self.ui.pkgSearch.show_all() + self.ui.pkgSearch.set_sensitive(True) + self.ui.main.queue_draw() + while gtk.events_pending(): + gtk.main_iteration() + def on_search_clicked(self,widget): self.etpbase.set_filter(Filter.processFilters) ''' Search entry+button handler''' txt = self.ui.pkgFilter.get_text() flt = Filter.get('KeywordFilter') if txt != '': + self.on_show_search_hit(True) flt.activate() lst = txt.split() flt.setKeys(lst) + self.on_show_search_hit(False) self.ui.pkgClr.show() else: flt.activate(False) diff --git a/sulfur/src/sulfur/setup.py b/sulfur/src/sulfur/setup.py index b7ac9e309..22fef37c2 100644 --- a/sulfur/src/sulfur/setup.py +++ b/sulfur/src/sulfur/setup.py @@ -62,6 +62,7 @@ class const: star_empty_pixmap = PIXMAPS_PATH+'/star_empty.png' empty_background = PIXMAPS_PATH+'/empty.png' loading_pix = PIXMAPS_PATH+'/loading.gif' + loading_pix_small = PIXMAPS_PATH+'/loading_small.gif' # UGC ugc_ok_pix = PIXMAPS_PATH+'/ugc/ok.png' diff --git a/sulfur/src/sulfur/sulfur.glade b/sulfur/src/sulfur/sulfur.glade index 6648e63aa..733b79793 100644 --- a/sulfur/src/sulfur/sulfur.glade +++ b/sulfur/src/sulfur/sulfur.glade @@ -518,14 +518,21 @@ + 32 + 32 True True False - + True - gtk-find + + + True + gtk-find + +