mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-02 22:48:40 +00:00
Show a peer/seed icon for peers.
This commit is contained in:
parent
c884142691
commit
ec326c2c6d
2 changed files with 17 additions and 4 deletions
|
@ -250,7 +250,8 @@ class Torrent:
|
||||||
"up_speed": peer.up_speed,
|
"up_speed": peer.up_speed,
|
||||||
"down_speed": peer.down_speed,
|
"down_speed": peer.down_speed,
|
||||||
"country": deluge.xmlrpclib.Binary(peer.country),
|
"country": deluge.xmlrpclib.Binary(peer.country),
|
||||||
"client": client
|
"client": client,
|
||||||
|
"seed": peer.flags & peer.seed
|
||||||
})
|
})
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
|
@ -56,9 +56,12 @@ class PeersTab:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
glade = component.get("MainWindow").get_glade()
|
glade = component.get("MainWindow").get_glade()
|
||||||
self.listview = glade.get_widget("peers_listview")
|
self.listview = glade.get_widget("peers_listview")
|
||||||
# country pixbuf, ip, client, progress, progress, downspeed, upspeed, country code
|
# country pixbuf, ip, client, progress, progress, downspeed, upspeed, country code, int_ip, seed/peer icon
|
||||||
self.liststore = gtk.ListStore(gtk.gdk.Pixbuf, str, str, int, int, str, int)
|
self.liststore = gtk.ListStore(gtk.gdk.Pixbuf, str, str, int, int, str, int, gtk.gdk.Pixbuf)
|
||||||
self.cached_flag_pixbufs = {}
|
self.cached_flag_pixbufs = {}
|
||||||
|
|
||||||
|
self.seed_pixbuf = gtk.gdk.pixbuf_new_from_file(deluge.common.get_pixmap("seeding16.png"))
|
||||||
|
self.peer_pixbuf = gtk.gdk.pixbuf_new_from_file(deluge.common.get_pixmap("downloading16.png"))
|
||||||
|
|
||||||
# Country column
|
# Country column
|
||||||
column = gtk.TreeViewColumn()
|
column = gtk.TreeViewColumn()
|
||||||
|
@ -75,6 +78,9 @@ class PeersTab:
|
||||||
|
|
||||||
# Address column
|
# Address column
|
||||||
column = gtk.TreeViewColumn(_("Address"))
|
column = gtk.TreeViewColumn(_("Address"))
|
||||||
|
render = gtk.CellRendererPixbuf()
|
||||||
|
column.pack_start(render, False)
|
||||||
|
column.add_attribute(render, "pixbuf", 7)
|
||||||
render = gtk.CellRendererText()
|
render = gtk.CellRendererText()
|
||||||
column.pack_start(render, False)
|
column.pack_start(render, False)
|
||||||
column.add_attribute(render, "text", 1)
|
column.add_attribute(render, "text", 1)
|
||||||
|
@ -230,6 +236,11 @@ class PeersTab:
|
||||||
# Create an int IP address for sorting purposes
|
# Create an int IP address for sorting purposes
|
||||||
ip_int = sum([int(byte) << shift
|
ip_int = sum([int(byte) << shift
|
||||||
for byte, shift in izip(peer["ip"].split(":")[0].split("."), (24, 16, 8, 0))])
|
for byte, shift in izip(peer["ip"].split(":")[0].split("."), (24, 16, 8, 0))])
|
||||||
|
if peer["seed"]:
|
||||||
|
icon = self.seed_pixbuf
|
||||||
|
else:
|
||||||
|
icon = self.peer_pixbuf
|
||||||
|
|
||||||
self.liststore.append([
|
self.liststore.append([
|
||||||
self.get_flag_pixbuf(peer["country"]),
|
self.get_flag_pixbuf(peer["country"]),
|
||||||
peer["ip"],
|
peer["ip"],
|
||||||
|
@ -237,7 +248,8 @@ class PeersTab:
|
||||||
peer["down_speed"],
|
peer["down_speed"],
|
||||||
peer["up_speed"],
|
peer["up_speed"],
|
||||||
peer["country"],
|
peer["country"],
|
||||||
ip_int])
|
ip_int,
|
||||||
|
icon])
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self.liststore.clear()
|
self.liststore.clear()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue