From 23d34b4c232f897db28a0e87d3c7a9f16bfd086e Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sat, 11 Jul 2009 22:22:30 +0200 Subject: [PATCH] [sulfur] improve packages search bar experience --- sulfur/gfx/loading_small.gif | Bin 0 -> 1849 bytes sulfur/src/sulfur/__init__.py | 3 +++ sulfur/src/sulfur/events.py | 17 +++++++++++++++++ sulfur/src/sulfur/setup.py | 1 + sulfur/src/sulfur/sulfur.glade | 11 +++++++++-- 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 sulfur/gfx/loading_small.gif diff --git a/sulfur/gfx/loading_small.gif b/sulfur/gfx/loading_small.gif new file mode 100644 index 0000000000000000000000000000000000000000..5b33f7e54f4e55b6b8774d86d96895db9af044b4 GIT binary patch literal 1849 zcma*odr(tX9tZI2z31lM+(&YVk%mZ}5P~KlG2s=WSbGzm0!x7^P##Mnh7t-jP!X0Q zk_SQ}Po-L1tlDK;6l?(>v)e5ZBQx4|Y-Q?nr@Px3?9h(3ZWr3^tj=`TP57gKr87N$ zp2wWee1GRRCwo_xahnw)5cxNPJbCg2L6DV|6`#+yw6v6!mDS$f9-JvFD^n;GQ&UrZ zzh5jCkByB101O60U0q#p_1BM>Cv-vP?&s4@g_((4_1L=L$(a91)0=J91Gas#R{McE znYG^9*0A5YZ>#;~+Wkn(W5B0^yELIYLP!K}mB~<)AM@1&nqekynuaEGqPrzoH|KodRXJy)%+w_fu3nE5>@Bd_b zqC$EQ;{c`T&?EsNO|igL9gC7Ygxv?aQUEXMq?~>wg{EyW;VcJ37CUF#HjrT=KQO_* zS>M9yydXk18D(+QDJ1>r);Lav_uYKp$T?4vr{Q$lTo&pKv^?(>L-)G2*lwH!Ah7k? z7oH<8h-(KTKt5V6$8gF)C7Io&P5=SjTh)=zV=E2EUhQZP##L8S{d%UK>>+y82>+FV+#^BzW7u3F)Bb>=lYQ%%j`F>ASe zo*cw@V#u6T`A2He;70mR(V&iV&-7{qP~=SRf&jm9-T{*ZeZ}$rd0#6c&fLG^xJcf5 z+p<`wJYgW+_s*V{uI$nMB;%8`S_3>PfGOj3Rq}@Cx^+j?rk92fANSFDBYnOqQ>Vdj z)(|$AhP4t&Lb=Gvo2#3Gl%9<=Gv`Mz?Po@P4iLF!x}GUWJICDlFk-hS^Whyh7x~VH z@0vD1>HYD4&e+~yzS*-sFR{9`{QEEZO1zg7>R&7cHts-6j!xHVdA8eI+ZlVzd%`es zJT@$#GX(gvCJ1oJN%yLBK}{V=V;seo;!w|Yte!W1%5qLNFWqvZW>h&IiH+oPT=b@E zPhGzv5=(Un*X>v`>%8h_nj^NdYcE6NHS_ifkCV$*D)Tqrbu`s;<=t<4 zAHNqNV?6(g<1PY-w@#I-WYFViz?9TrkMr)u0g`O`u|>T;k|2sV*YF^punvT;$SuTy{j3Gv)yqD!R_CF>yR)MzmmYS5v+~R zXAdD%ng9?df;wd8GxR#%3O+gz};Vo;)sK%Bj-q>Oq%R7JU-KD?vYu>#2UjaDo z&8$>5xW~?KPD_#XFToU1hIb*VOMidUr6iYiO0N|i-7s`T8!cFT`rN!^1Pt78J93i6 z5HI1wIM$94m{3SLDvISDe6$ZG1;eq_D9RTaaC>=cO{@Bs>$IlPCPJJ$h$)-3vzNUQ6OsN#_zWxey!_9%hxwH2_dEJi=yY|1c7nDm2_Lm!Cof8-R_+9UkS zcBE(o47yE)oMR(Q=dp1a2wTX5KvvGyLqlWTa7V&!A*|w|)ax~1_~aJ0=_Lilg*0iQk7#ZD EAHN$8j{pDw literal 0 HcmV?d00001 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 + +