diff --git a/issues/issue-1a5111a994574de34537952ec6486cd52589e302.yaml b/issues/issue-1a5111a994574de34537952ec6486cd52589e302.yaml index 20695b8..9453a35 100644 --- a/issues/issue-1a5111a994574de34537952ec6486cd52589e302.yaml +++ b/issues/issue-1a5111a994574de34537952ec6486cd52589e302.yaml @@ -8,11 +8,15 @@ reporter: Julio Biason status: :unstarted disposition: creation_time: 2009-12-16 11:18:12.708128 Z -references: [] - +references: +- network-1 id: 1a5111a994574de34537952ec6486cd52589e302 log_events: - - 2009-12-16 11:18:14.011984 Z - Julio Biason - created - "" +- - 2009-12-17 15:43:57.069515 Z + - Julio Biason + - added reference 1 + - "" diff --git a/issues/issue-2380ae1ec422175cf0fecc896e2a5bf0d1806b80.yaml b/issues/issue-2380ae1ec422175cf0fecc896e2a5bf0d1806b80.yaml new file mode 100644 index 0000000..c0df46d --- /dev/null +++ b/issues/issue-2380ae1ec422175cf0fecc896e2a5bf0d1806b80.yaml @@ -0,0 +1,21 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: error icon doesn't get cleaned on emtpy success +desc: |- + If there was an error; the statusicon changes to the error notification; if + a refresh after that happens without an error, the icon doesn't revert to + the proper one +type: :bugfix +component: pygtk +release: 1.0.0 +reporter: Julio Biason +status: :unstarted +disposition: +creation_time: 2009-12-17 16:29:37.169204 Z +references: [] + +id: 2380ae1ec422175cf0fecc896e2a5bf0d1806b80 +log_events: +- - 2009-12-17 16:29:38.089050 Z + - Julio Biason + - created + - "" diff --git a/mitterlib/ui/ui_pygtk.py b/mitterlib/ui/ui_pygtk.py index dc76ee1..5f462d1 100644 --- a/mitterlib/ui/ui_pygtk.py +++ b/mitterlib/ui/ui_pygtk.py @@ -526,15 +526,14 @@ class Interface(object): data = store.get_value(position, 0) pic = data.avatar if not pic in self._avatars: - self._threads.add_work(self._post_download_pic, - self._exception_download_pic, - self._download_pic, - pic) - # set the user avatar to the default image, so it won't get queued # again. Once downloaded, the _post_download_pic will update the # image and force a redraw. self._avatars[pic] = self._images['avatar'] + self._threads.add_work(self._post_download_pic, + self._exception_download_pic, + self._download_pic, + pic) cell.set_property('pixbuf', self._avatars[pic]) @@ -872,7 +871,7 @@ class Interface(object): # NAMESPACE. To set the values, we just run the dictionaries setting # self._options. self._fields = {self.NAMESPACE: {'refresh_interval': - self._refresh_interval_field}} + (self._refresh_interval_field, 'int')}} # next pages are each network settings net_options = self._connection.settings() @@ -904,7 +903,8 @@ class Interface(object): row += 1 - self._fields[network_name][option_name] = new_field + self._fields[network_name][option_name] = (new_field, + option['type']) net_box.show_all() tabs.insert_page(net_box, gtk.Label(network_name)) @@ -919,8 +919,10 @@ class Interface(object): """Update the interface settings.""" for namespace in self._fields: for option in self._fields[namespace]: - field = self._fields[namespace][option] + (field, field_type) = self._fields[namespace][option] value = field.get_text() + if field_type == 'int': + value = int(value) self._options[namespace][option] = value return True @@ -1035,8 +1037,6 @@ class Interface(object): ### image download function def _download_pic(self, url): """Download a picture from the web. Can be used in a thread.""" - #if self._avatars[url] != self._images['avatar']: - # return request = urllib2.Request(url=url) _log.debug('Starting request of %s' % (url)) response = urllib2.urlopen(request) @@ -1048,10 +1048,6 @@ class Interface(object): ### Results from the picture request def _post_download_pic(self, widget, data): """Called after the data from the picture is available.""" - if not data: - # image appeared in the queue - return - (url, data) = data loader = gtk.gdk.PixbufLoader()