From f59155bd48962dd356a90cbb18b9b62c6563b954 Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Tue, 19 Jun 2007 05:41:03 +0000 Subject: [PATCH] Add status icons to the torrent view --- pixmaps/downloading24.png | Bin 0 -> 1081 bytes pixmaps/inactive24.png | Bin 0 -> 961 bytes pixmaps/seeding24.png | Bin 0 -> 935 bytes src/dgtk.py | 11 +++++++++++ src/interface.py | 15 ++++++++++++--- 5 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 pixmaps/downloading24.png create mode 100644 pixmaps/inactive24.png create mode 100644 pixmaps/seeding24.png diff --git a/pixmaps/downloading24.png b/pixmaps/downloading24.png new file mode 100644 index 0000000000000000000000000000000000000000..285b0b914b5e015e3e5b45f758d4fec56f0823d9 GIT binary patch literal 1081 zcmV-91jhS`P)o7>!kGQZ#4;6?|X| zg1Qjwh#+0M5CmNnb*Bqgf=~oqSric`ixxr9inxd(YGRu@x7yUSNjvRKYi5$p>(1QQ z=OT2*X&%x8ANSt#o%6f@bMAK!Qc8AO2eaaxgIS*Zzc?u+LQ2VYmbS(I@yPVI)u6O~ z)m@s(OvsDd1_R0tpxb)&(J$Q4QQ~SUnNa(Vr)^=~GAwNiVJW*l@6*S6FEwq>JM-)| z_fDBg^y6EG3B=(sYwD?`#&3WmB;b5wo-u3c(2KVE>UOYAJxkl-;bHUMStl&3MK9N} z*R2iEtqu6gjZ;r#Cge{$Dofje=(Zh^a*N_Bq8fm0V>Jfa!Z4V<0))0bH-I zGP`gB)q?)xAYa-NQUg!d_E0SO^If`L{DWcr)w-lo@Vom~3 z3)d)lmjUpliz@V9O;Lmgr~p-`jHz3U_w3zLjgG+`ktr%ck$m-ByAlK-qe?Yc%g2pm zYa_cn$KvJew&h*-uW`Ei9lmU~d@;3$YEb$^skp22U1ncL!k;TA`75`u3AEPS3$@ig|z@2%&eo5QaCKp_2&xKV2#xu#tMj;Ko+ zS^Oyb`lEMsJurUVUBwUEZ!J~+!Sh`Fz~k5KEX_(t=z$O$UvtEq#0?$R{QR4l33)T~+6 literal 0 HcmV?d00001 diff --git a/pixmaps/inactive24.png b/pixmaps/inactive24.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b5a023b021cd7da6c274c3828e49e424b698d0 GIT binary patch literal 961 zcmV;y13vtTP)7>gh?`I=HASl`*SRGM$OOY z?mlp2FUXoTT#h&YZ{DW#u0NU}Tidi~|$ za0meK-eWi%qS0vF-rL)I>pIz`o*83aNRs5+JkRN5GWpj(DJ7(og|+rYt@ZZ{WyYAM z5aK5(<&9pi2j?6prJ$4|3`0;#5yvsAsyfcH>^ZIV?~BUZ_TJw(JUoQ87L&;YX_~@X zi+;ZkYb{2j5u}vMLWnPoG2%+u?(Xh80AB0$dbny_y!RN7#~2I-I5{~%9LLX7N;fW* zxwEsg>b<{LmL-`r9RMh$h@uFLF;rEBEX$DRIXLHNx7(=K>o`3B$gDfRgMq?+-U z002-F1sG$m5&*RaN%l{?_aKC{NDu`1Lz(_2BF?#<@wrNMV{yL$tQ&1{QMkgn!cyCz6)G<&$hOqby4l zMFBzxlv3cFqbLeYCX*qh^uzV_^^a!vFTJ##PNycNyu~?x6Tp)}5Y!lB0D$RqnpRcy jOBjY5YinztUQGT64}z@5@{$Se00000NkvXXu0mjfd{43M literal 0 HcmV?d00001 diff --git a/pixmaps/seeding24.png b/pixmaps/seeding24.png new file mode 100644 index 0000000000000000000000000000000000000000..31a41957d4d54809cbd062383e93fe267eee83b6 GIT binary patch literal 935 zcmV;Y16cftP)B^CmOz zV{*H=Hfb`M*c^Dgci;V=AOCaj;UJ}Cx98-9{P^UAeD(iyQc5%_CEcP>;>Z(yO!@&U z3pK{dMP|B+0kI3{k$j3D!Zspp)046JxlqF1GptZTvlD#ZmnMIE3I46Xz8qtg!Ni_n z8l2nT%WF3)YP~KMaDSfD?|#ku-C!MORw(h}P>$c5A$qm3RqVOoImFXdUMUy(b5~fQ zgqN}TE9WviH3Q8M3>^|Wc#irW%0UoQsnj`KE^?=9nHqd+>I_d_hlLu{THpuJ2;iSZ z^>1bgJcqut%}<3A=8mxAUvb7UIePUrwEr{fB;eSyaBLKk7Ton=x(YWIU?|7)rp|ar znQx9WrVFmDuOp_bYQwb@$aB@Y8Nn~tV6hH%0uBwr=d!9#zh|MM8&{o>V3J0oUpw zl&}`Uk5^&12c8~){_Ivz+=i(c(14T;K?FezmI1(fMn1{D#kvv)v3f@_w0CeNAJD)C zgk}V;$s0mKGTN5;V8X*h+y-5c7rI8YeX}0y4W?-TxWW&Z%Q{;(YfT9E;4W!_A8<{q zHkrz~or1~Bc@P3jL-p8BL;0~Dm|dm;jB8R# zp8J$vM+SNQ`W?3zAMkjqX~DMi_H5>o7j~A(yv1zXv-BQX$7d+wuSa002ov JPDHLkV1j7IplJXA literal 0 HcmV?d00001 diff --git a/src/dgtk.py b/src/dgtk.py index 1e43e88e6..0772d4205 100644 --- a/src/dgtk.py +++ b/src/dgtk.py @@ -102,3 +102,14 @@ def add_toggle_column(view, header, cid, toggled_signal=None): if toggled_signal is not None: render.connect("toggled", toggled_signal) return column + +def add_texticon_column(view, header, icon_col, text_col): + column = gtk.TreeViewColumn(header) + render = gtk.CellRendererPixbuf() + column.pack_start(render, expand=False) + column.add_attribute(render, 'pixbuf', icon_col) + render = gtk.CellRendererText() + column.pack_start(render, expand=True) + column.add_attribute(render, 'text', text_col) + view.append_column(column) + return column diff --git a/src/interface.py b/src/interface.py index 33650da2e..a55b59cc5 100644 --- a/src/interface.py +++ b/src/interface.py @@ -317,7 +317,7 @@ class DelugeGTK: TORRENT_VIEW_COL_UPLOAD, TORRENT_VIEW_COL_ETA, TORRENT_VIEW_COL_RATIO) = range(15) self.queue_column = dgtk.add_text_column(self.torrent_view, "#", TORRENT_VIEW_COL_QUEUE) - self.name_column = dgtk.add_text_column(self.torrent_view, _("Name"), TORRENT_VIEW_COL_NAME) + self.name_column = dgtk.add_texticon_column(self.torrent_view, _("Name"), TORRENT_VIEW_COL_STATUSICON, TORRENT_VIEW_COL_NAME) self.size_column = dgtk.add_func_column(self.torrent_view, _("Size"), size, TORRENT_VIEW_COL_SIZE) self.status_column = dgtk.add_progress_column(self.torrent_view, _("Status"), TORRENT_VIEW_COL_PROGRESS, TORRENT_VIEW_COL_STATUS) self.seed_column = dgtk.add_func_column(self.torrent_view, _("Seeders"), peer, (TORRENT_VIEW_COL_CONNECTED_SEEDS, TORRENT_VIEW_COL_SEEDS)) @@ -328,6 +328,7 @@ class DelugeGTK: self.share_column = dgtk.add_func_column(self.torrent_view, _("Ratio"), ratio, TORRENT_VIEW_COL_RATIO) self.status_column.set_expand(True) + self.name_column.set_sort_column_id(TORRENT_VIEW_COL_NAME) self.seed_column.set_sort_column_id(TORRENT_VIEW_COL_CONNECTED_SEEDS) self.peer_column.set_sort_column_id(TORRENT_VIEW_COL_CONNECTED_PEERS) @@ -655,8 +656,16 @@ class DelugeGTK: except ZeroDivisionError: eta = 0 share = float(self.calc_share_ratio(unique_id, state)) - # The None is for the status icon - rlist = [int(unique_id), int(queue), None,str(name), long(size), float(progress), str(message), + + # Set the appropriate status icon + if state["is_paused"]: + status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("inactive24.png")) + elif state["is_seed"]: + status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("seeding24.png")) + else: + status_icon = gtk.gdk.pixbuf_new_from_file(common.get_pixmap("downloading24.png")) + + rlist = [int(unique_id), int(queue), status_icon, str(name), long(size), float(progress), str(message), int(seeds), int(seeds_t), int(peers), int(peers_t), int(dlrate), int(ulrate), int(eta), float(share)] return rlist