Author: andar
Revision: 5263
Log:
Implement #259 show tooltip with country name in the peers tab
Diff:
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2009-05-12 17:48:47 UTC (rev 5262)
+++ trunk/ChangeLog 2009-05-12 17:52:01 UTC (rev 5263)
@@ -9,11 +9,16 @@
* Implemented a cross-platform IPC method thus removing the DBUS dependency
* Implement a "True" Classic Mode where there is no longer a separate daemon
process
* Add preferences option "Add torrent in paused state"
+ * Add tracker icons to the Tracker column
+ * Implement #259 show tooltip with country name in the peers tab
==== WebUI ====
* Move over to using Twisted-Web for the webserver.
* Move to only AJAX interface built upon Ext-JS.
+==== Misc ====
+ * PyGTK dependency bumped to => 2.12 to use new tooltip system
+
=== Deluge 1.1.0 - "Time gas!" (10 January 2009) ===
==== Core ====
* Implement #79 ability to change outgoing port range
Modified: trunk/README
===================================================================
--- trunk/README 2009-05-12 17:48:47 UTC (rev 5262)
+++ trunk/README 2009-05-12 17:52:01 UTC (rev 5263)
@@ -52,7 +52,7 @@
Gtk:
python-notify (libnotify python wrapper)
pygame
- pygtk >= 2.10
+ pygtk >= 2.12
librsvg
xdg-utils
chardet
Added: trunk/deluge/countries.py
===================================================================
--- trunk/deluge/countries.py (rev 0)
+++ trunk/deluge/countries.py 2009-05-12 17:52:01 UTC (rev 5263)
@@ -0,0 +1,256 @@
+#
+# countries.py
+#
+# This file is public domain.
+#
+
+# ISO 3166-1 country names and codes
+COUNTRIES = {
+ 'AF': _('Afghanistan'),
+ 'AX': _('Aland Islands'),
+ 'AL': _('Albania'),
+ 'DZ': _('Algeria'),
+ 'AS': _('American Samoa'),
+ 'AD': _('Andorra'),
+ 'AO': _('Angola'),
+ 'AI': _('Anguilla'),
+ 'AQ': _('Antarctica'),
+ 'AG': _('Antigua and Barbuda'),
+ 'AR': _('Argentina'),
+ 'AM': _('Armenia'),
+ 'AW': _('Aruba'),
+ 'AU': _('Australia'),
+ 'AT': _('Austria'),
+ 'AZ': _('Azerbaijan'),
+ 'BS': _('Bahamas'),
+ 'BH': _('Bahrain'),
+ 'BD': _('Bangladesh'),
+ 'BB': _('Barbados'),
+ 'BY': _('Belarus'),
+ 'BE': _('Belgium'),
+ 'BZ': _('Belize'),
+ 'BJ': _('Benin'),
+ 'BM': _('Bermuda'),
+ 'BT': _('Bhutan'),
+ 'BO': _('Bolivia'),
+ 'BA': _('Bosnia and Herzegovina'),
+ 'BW': _('Botswana'),
+ 'BV': _('Bouvet Island'),
+ 'BR': _('Brazil'),
+ 'IO': _('British Indian Ocean Territory'),
+ 'BN': _('Brunei Darussalam'),
+ 'BG': _('Bulgaria'),
+ 'BF': _('Burkina Faso'),
+ 'BI': _('Burundi'),
+ 'KH': _('Cambodia'),
+ 'CM': _('Cameroon'),
+ 'CA': _('Canada'),
+ 'CV': _('Cape Verde'),
+ 'KY': _('Cayman Islands'),
+ 'CF': _('Central African Republic'),
+ 'TD': _('Chad'),
+ 'CL': _('Chile'),
+ 'CN': _('China'),
+ 'CX': _('Christmas Island'),
+ 'CC': _('Cocos (Keeling) Islands'),
+ 'CO': _('Colombia'),
+ 'KM': _('Comoros'),
+ 'CG': _('Congo'),
+ 'CD': _('Congo, The Democratic Republic of the'),
+ 'CK': _('Cook Islands'),
+ 'CR': _('Costa Rica'),
+ 'CI': _('Cote d\'Ivoire'),
+ 'HR': _('Croatia'),
+ 'CU': _('Cuba'),
+ 'CY': _('Cyprus'),
+ 'CZ': _('Czech Republic'),
+ 'DK': _('Denmark'),
+ 'DJ': _('Djibouti'),
+ 'DM': _('Dominica'),
+ 'DO': _('Dominican Republic'),
+ 'EC': _('Ecuador'),
+ 'EG': _('Egypt'),
+ 'SV': _('El Salvador'),
+ 'GQ': _('Equatorial Guinea'),
+ 'ER': _('Eritrea'),
+ 'EE': _('Estonia'),
+ 'ET': _('Ethiopia'),
+ 'FK': _('Falkland Islands (Malvinas)'),
+ 'FO': _('Faroe Islands'),
+ 'FJ': _('Fiji'),
+ 'FI': _('Finland'),
+ 'FR': _('France'),
+ 'GF': _('French Guiana'),
+ 'PF': _('French Polynesia'),
+ 'TF': _('French Southern Territories'),
+ 'GA': _('Gabon'),
+ 'GM': _('Gambia'),
+ 'GE': _('Georgia'),
+ 'DE': _('Germany'),
+ 'GB': _('United Kingdom'),
+ 'GH': _('Ghana'),
+ 'GI': _('Gibraltar'),
+ 'GR': _('Greece'),
+ 'GL': _('Greenland'),
+ 'GD': _('Grenada'),
+ 'GP': _('Guadeloupe'),
+ 'GU': _('Guam'),
+ 'GT': _('Guatemala'),
+ 'GG': _('Guernsey'),
+ 'GN': _('Guinea'),
+ 'GW': _('Guinea-Bissau'),
+ 'GY': _('Guyana'),
+ 'HT': _('Haiti'),
+ 'HM': _('Heard Island and McDonald Islands'),
+ 'VA': _('Holy See (Vatican City State)'),
+ 'HN': _('Honduras'),
+ 'HK': _('Hong Kong'),
+ 'HU': _('Hungary'),
+ 'IS': _('Iceland'),
+ 'IN': _('India'),
+ 'ID': _('Indonesia'),
+ 'IR': _('Iran, Islamic Republic of'),
+ 'IQ': _('Iraq'),
+ 'IE': _('Ireland'),
+ 'IM': _('Isle of Man'),
+ 'IL': _('Israel'),
+ 'IT': _('Italy'),
+ 'JM': _('Jamaica'),
+ 'JP': _('Japan'),
+ 'JE': _('Jersey'),
+ 'JO': _('Jordan'),
+ 'KZ': _('Kazakhstan'),
+ 'KE': _('Kenya'),
+ 'KI': _('Kiribati'),
+ 'KP': _('Korea, Democratic People\'s Republic of'),
+ 'KR': _('Korea, Republic of'),
+ 'KW': _('Kuwait'),
+ 'KG': _('Kyrgyzstan'),
+ 'LA': _('Lao People\'s Democratic Republic'),
+ 'LV': _('Latvia'),
+ 'LB': _('Lebanon'),
+ 'LS': _('Lesotho'),
+ 'LR': _('Liberia'),
+ 'LY': _('Libyan Arab Jamahiriya'),
+ 'LI': _('Liechtenstein'),
+ 'LT': _('Lithuania'),
+ 'LU': _('Luxembourg'),
+ 'MO': _('Macao'),
+ 'MK': _('Macedonia, The Former Yugoslav Republic of'),
+ 'MG': _('Madagascar'),
+ 'MW': _('Malawi'),
+ 'MY': _('Malaysia'),
+ 'MV': _('Maldives'),
+ 'ML': _('Mali'),
+ 'MT': _('Malta'),
+ 'MH': _('Marshall Islands'),
+ 'MQ': _('Martinique'),
+ 'MR': _('Mauritania'),
+ 'MU': _('Mauritius'),
+ 'YT': _('Mayotte'),
+ 'MX': _('Mexico'),
+ 'FM': _('Micronesia, Federated States of'),
+ 'MD': _('Moldova'),
+ 'MC': _('Monaco'),
+ 'MN': _('Mongolia'),
+ 'ME': _('Montenegro'),
+ 'MS': _('Montserrat'),
+ 'MA': _('Morocco'),
+ 'MZ': _('Mozambique'),
+ 'MM': _('Myanmar'),
+ 'NA': _('Namibia'),
+ 'NR': _('Nauru'),
+ 'NP': _('Nepal'),
+ 'NL': _('Netherlands'),
+ 'AN': _('Netherlands Antilles'),
+ 'NC': _('New Caledonia'),
+ 'NZ': _('New Zealand'),
+ 'NI': _('Nicaragua'),
+ 'NE': _('Niger'),
+ 'NG': _('Nigeria'),
+ 'NU': _('Niue'),
+ 'NF': _('Norfolk Island'),
+ 'MP': _('Northern Mariana Islands'),
+ 'NO': _('Norway'),
+ 'OM': _('Oman'),
+ 'PK': _('Pakistan'),
+ 'PW': _('Palau'),
+ 'PS': _('Palestinian Territory, Occupied'),
+ 'PA': _('Panama'),
+ 'PG': _('Papua New Guinea'),
+ 'PY': _('Paraguay'),
+ 'PE': _('Peru'),
+ 'PH': _('Philippines'),
+ 'PN': _('Pitcairn'),
+ 'PL': _('Poland'),
+ 'PT': _('Portugal'),
+ 'PR': _('Puerto Rico'),
+ 'QA': _('Qatar'),
+ 'RE': _('Reunion'),
+ 'RO': _('Romania'),
+ 'RU': _('Russian Federation'),
+ 'RW': _('Rwanda'),
+ 'BL': _('Saint Barthelemy'),
+ 'SH': _('Saint Helena'),
+ 'KN': _('Saint Kitts and Nevis'),
+ 'LC': _('Saint Lucia'),
+ 'MF': _('Saint Martin'),
+ 'PM': _('Saint Pierre and Miquelon'),
+ 'VC': _('Saint Vincent and the Grenadines'),
+ 'WS': _('Samoa'),
+ 'SM': _('San Marino'),
+ 'ST': _('Sao Tome and Principe'),
+ 'SA': _('Saudi Arabia'),
+ 'SN': _('Senegal'),
+ 'RS': _('Serbia'),
+ 'SC': _('Seychelles'),
+ 'SL': _('Sierra Leone'),
+ 'SG': _('Singapore'),
+ 'SK': _('Slovakia'),
+ 'SI': _('Slovenia'),
+ 'SB': _('Solomon Islands'),
+ 'SO': _('Somalia'),
+ 'ZA': _('South Africa'),
+ 'GS': _('South Georgia and the South Sandwich Islands'),
+ 'ES': _('Spain'),
+ 'LK': _('Sri Lanka'),
+ 'SD': _('Sudan'),
+ 'SR': _('Suriname'),
+ 'SJ': _('Svalbard and Jan Mayen'),
+ 'SZ': _('Swaziland'),
+ 'SE': _('Sweden'),
+ 'CH': _('Switzerland'),
+ 'SY': _('Syrian Arab Republic'),
+ 'TW': _('Taiwan, Province of China'),
+ 'TJ': _('Tajikistan'),
+ 'TZ': _('Tanzania, United Republic of'),
+ 'TH': _('Thailand'),
+ 'TL': _('Timor-Leste'),
+ 'TG': _('Togo'),
+ 'TK': _('Tokelau'),
+ 'TO': _('Tonga'),
+ 'TT': _('Trinidad and Tobago'),
+ 'TN': _('Tunisia'),
+ 'TR': _('Turkey'),
+ 'TM': _('Turkmenistan'),
+ 'TC': _('Turks and Caicos Islands'),
+ 'TV': _('Tuvalu'),
+ 'UG': _('Uganda'),
+ 'UA': _('Ukraine'),
+ 'AE': _('United Arab Emirates'),
+ 'GB': _('United Kingdom'),
+ 'US': _('United States'),
+ 'UM': _('United States Minor Outlying Islands'),
+ 'UY': _('Uruguay'),
+ 'UZ': _('Uzbekistan'),
+ 'VU': _('Vanuatu'),
+ 'VE': _('Venezuela'),
+ 'VN': _('Viet Nam'),
+ 'VG': _('Virgin Islands, British'),
+ 'VI': _('Virgin Islands, U.S.'),
+ 'WF': _('Wallis and Futuna'),
+ 'EH': _('Western Sahara'),
+ 'YE': _('Yemen'),
+ 'ZM': _('Zambia'),
+ 'ZW': _('Zimbabwe'),
+}
Modified: trunk/deluge/i18n/POTFILES.in
===================================================================
--- trunk/deluge/i18n/POTFILES.in 2009-05-12 17:48:47 UTC (rev 5262)
+++ trunk/deluge/i18n/POTFILES.in 2009-05-12 17:52:01 UTC (rev 5263)
@@ -12,7 +12,6 @@
deluge/ui/gtkui/glade/queuedtorrents.glade
deluge/ui/gtkui/glade/move_storage_dialog.glade
deluge/ui/gtkui/glade/connection_manager.glade
-deluge/ui/gtkui/glade/wizard.glade
deluge/ui/gtkui/glade/create_torrent_dialog.glade
deluge/ui/gtkui/glade/dgtkpopups.glade
deluge/ui/gtkui/glade/tray_menu.glade
@@ -22,7 +21,6 @@
deluge/core/autoadd.py
deluge/core/preferencesmanager.py
deluge/core/filtermanager.py
-deluge/core/signalmanager.py
deluge/core/torrentmanager.py
deluge/core/daemon.py
deluge/core/torrent.py
@@ -33,30 +31,27 @@
deluge/core/alertmanager.py
deluge/core/rpcserver.py
deluge/config.py
+deluge/countries.py
deluge/metafile.py
deluge/pluginmanagerbase.py
-deluge/SimpleXMLRPCServer.py
deluge/plugins/label/label/webui.py
deluge/plugins/label/label/test.py
deluge/plugins/label/label/gtkui/label_config.py
deluge/plugins/label/label/gtkui/sidebar_menu.py
deluge/plugins/label/label/gtkui/submenu.py
-deluge/plugins/label/label/gtkui/ui.py
deluge/plugins/label/label/gtkui/__init__.py
deluge/plugins/label/label/__init__.py
deluge/plugins/label/label/core.py
deluge/plugins/label/setup.py
-deluge/plugins/corepluginbase.py
+deluge/plugins/pluginbase.py
deluge/plugins/init.py
deluge/plugins/blocklist/setup.py
deluge/plugins/blocklist/blocklist/webui.py
deluge/plugins/blocklist/blocklist/gtkui.py
-deluge/plugins/blocklist/blocklist/ui.py
deluge/plugins/blocklist/blocklist/text.py
deluge/plugins/blocklist/blocklist/peerguardian.py
deluge/plugins/blocklist/blocklist/__init__.py
deluge/plugins/blocklist/blocklist/core.py
-deluge/plugins/coreclient.py
deluge/plugins/__init__.py
deluge/plugins/webuipluginbase.py
deluge/plugins/stats/setup.py
@@ -71,7 +66,7 @@
deluge/ui/tracker_icons.py
deluge/ui/client.py
deluge/ui/ui.py
-deluge/ui/console/mapping.py
+deluge/ui/coreconfig.py
deluge/ui/console/colors.py
deluge/ui/console/commands/resume.py
deluge/ui/console/commands/config.py
@@ -92,12 +87,10 @@
deluge/ui/gtkui/statusbar.py
deluge/ui/gtkui/status_tab.py
deluge/ui/gtkui/addtorrentdialog.py
-deluge/ui/gtkui/coreconfig.py
deluge/ui/gtkui/sidebar.py
deluge/ui/gtkui/gtkui.py
deluge/ui/gtkui/aboutdialog.py
deluge/ui/gtkui/systemtray.py
-deluge/ui/gtkui/dbusinterface.py
deluge/ui/gtkui/files_tab.py
deluge/ui/gtkui/menubar.py
deluge/ui/gtkui/peers_tab.py
@@ -110,7 +103,6 @@
deluge/ui/gtkui/mainwindow.py
deluge/ui/gtkui/removetorrentdialog.py
deluge/ui/gtkui/common.py
-deluge/ui/gtkui/signals.py
deluge/ui/gtkui/torrentdetails.py
deluge/ui/gtkui/__init__.py
deluge/ui/gtkui/edittrackersdialog.py
@@ -120,72 +112,16 @@
deluge/ui/gtkui/connectionmanager.py
deluge/ui/gtkui/createtorrentdialog.py
deluge/ui/gtkui/details_tab.py
-deluge/ui/signalreceiver.py
deluge/ui/common.py
deluge/ui/__init__.py
-deluge/ui/webui/components.py
-deluge/ui/webui/render.py
-deluge/ui/webui/page_decorators.py
-deluge/ui/webui/webui.py
-deluge/ui/webui/debugerror.py
-deluge/ui/webui/webserver_common.py
-deluge/ui/webui/config_forms.py
-deluge/ui/webui/deluge_webserver.py
-deluge/ui/webui/json_api.py
-deluge/ui/webui/register_menu.py
-deluge/ui/webui/config_tabs_deluge.py
-deluge/ui/webui/lib/webpy022/request.py
-deluge/ui/webui/lib/webpy022/wsgiserver/__init__.py
-deluge/ui/webui/lib/webpy022/db.py
-deluge/ui/webui/lib/webpy022/template.py
-deluge/ui/webui/lib/webpy022/cheetah.py
-deluge/ui/webui/lib/webpy022/debugerror.py
-deluge/ui/webui/lib/webpy022/http.py
-deluge/ui/webui/lib/webpy022/httpserver.py
-deluge/ui/webui/lib/webpy022/utils.py
-deluge/ui/webui/lib/webpy022/__init__.py
-deluge/ui/webui/lib/webpy022/net.py
-deluge/ui/webui/lib/webpy022/wsgi.py
-deluge/ui/webui/lib/webpy022/webapi.py
-deluge/ui/webui/lib/webpy022/form.py
-deluge/ui/webui/lib/json.py
-deluge/ui/webui/lib/newforms_plus.py
-deluge/ui/webui/lib/egg_render.py
-deluge/ui/webui/lib/static_handler.py
-deluge/ui/webui/lib/__init__.py
-deluge/ui/webui/lib/web.py
-deluge/ui/webui/lib/newforms_portable/django/core/__init__.py
-deluge/ui/webui/lib/newforms_portable/django/core/exceptions.py
-deluge/ui/webui/lib/newforms_portable/django/utils/html.py
-deluge/ui/webui/lib/newforms_portable/django/utils/http.py
-deluge/ui/webui/lib/newforms_portable/django/utils/encoding.py
-deluge/ui/webui/lib/newforms_portable/django/utils/translation.py
-deluge/ui/webui/lib/newforms_portable/django/utils/safestring.py
-deluge/ui/webui/lib/newforms_portable/django/utils/__init__.py
-deluge/ui/webui/lib/newforms_portable/django/utils/datastructures.py
-deluge/ui/webui/lib/newforms_portable/django/utils/functional.py
-deluge/ui/webui/lib/newforms_portable/django/__init__.py
-deluge/ui/webui/lib/newforms_portable/forms.py
-deluge/ui/webui/lib/newforms_portable/models.py
-deluge/ui/webui/lib/newforms_portable/widgets.py
-deluge/ui/webui/lib/newforms_portable/fields.py
-deluge/ui/webui/lib/newforms_portable/__init__.py
-deluge/ui/webui/lib/newforms_portable/util.py
-deluge/ui/webui/lib/egg_handler.py
-deluge/ui/webui/utils.py
-deluge/ui/webui/pages.py
-deluge/ui/webui/__init__.py
-deluge/ui/webui/tests/test_all.py
-deluge/ui/webui/apache.py
-deluge/ui/webui/web.py
-deluge/ui/webui/torrent_move.py
-deluge/ui/webui/config_tabs_webui.py
-deluge/ui/webui/torrent_options.py
-deluge/ui/webui/torrent_add.py
-deluge/ui/webui/scripts/template_strings.py
-deluge/ui/webui/scripts/extract_ajax_strings.py
-deluge/ui/webui/scripts/copy_icons.py
-deluge/ui/webui/scripts/extract_template_strings.py
+deluge/ui/web/auth.py
+deluge/ui/web/common.py
+deluge/ui/web/gen_gettext.py
+deluge/ui/web/__init__.py
+deluge/ui/web/json_api.py
+deluge/ui/web/pluginmanager.py
+deluge/ui/web/server.py
+deluge/ui/web/web.py
deluge/common.py
deluge/component.py
deluge/main.py
@@ -198,7 +134,6 @@
deluge/tests/test_stats.py
deluge/tests/test_client.py
deluge/log.py
-deluge/xmlrpclib.py
deluge/scripts/deluge_remote.py
deluge/scripts/wiki_docgen.py
deluge/scripts/create_plugin.py
Modified: trunk/deluge/ui/gtkui/peers_tab.py
===================================================================
--- trunk/deluge/ui/gtkui/peers_tab.py 2009-05-12 17:48:47 UTC (rev 5262)
+++ trunk/deluge/ui/gtkui/peers_tab.py 2009-05-12 17:52:01 UTC (rev 5263)
@@ -39,6 +39,7 @@
from deluge.ui.gtkui.listview import cell_data_speed as cell_data_speed
from deluge.ui.gtkui.torrentdetails import Tab
from deluge.log import LOG as log
+from deluge.countries import COUNTRIES
def cell_data_progress(column, cell, model, row, data):
value = model.get_value(row, data)
@@ -59,7 +60,9 @@
})
self.listview = glade.get_widget("peers_listview")
+ self.listview.props.has_tooltip = True
self.listview.connect("button-press-event",
self._on_button_press_event)
+ self.listview.connect("query-tooltip", self._on_query_tooltip)
# country pixbuf, ip, client, downspeed, upspeed, country code,
int_ip, seed/peer icon, progress
self.liststore = gtk.ListStore(gtk.gdk.Pixbuf, str, str, int, int,
str, float, gtk.gdk.Pixbuf, float)
self.cached_flag_pixbufs = {}
@@ -342,6 +345,22 @@
self.peer_menu.popup(None, None, None, event.button, event.time)
return True
+ def _on_query_tooltip(self, widget, x, y, keyboard_tip, tooltip):
+ if not widget.get_tooltip_context(x, y, keyboard_tip):
+ return False
+ else:
+ model, path, iter = widget.get_tooltip_context(x, y, keyboard_tip)
+
+ country_code = model.get(iter, 5)[0]
+ if country_code != " " and country_code in COUNTRIES:
+ tooltip.set_text(COUNTRIES[country_code])
+ # widget here is self.listview
+ widget.set_tooltip_cell(tooltip, path, widget.get_column(0),
+ None)
+ return True
+ else:
+ return False
+
def _on_menuitem_add_peer_activate(self, menuitem):
"""This is a callback for manually adding a peer"""
log.debug("on_menuitem_add_peer")
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"deluge-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/deluge-commit?hl=en
-~----------~----~----~----~------~----~------~--~---