Restore Icon's ability to load absolute file paths.
This commit is contained in:
parent
ebe2b4765e
commit
628fe7b5da
1
NEWS
1
NEWS
@ -1,3 +1,4 @@
|
|||||||
|
* Restore Icon's ability to load absolute file paths. (tomeu)
|
||||||
* #722 Show "charging" badge on battery. (danw)
|
* #722 Show "charging" badge on battery. (danw)
|
||||||
* #2010 Remember state when scrubbing. (marco)
|
* #2010 Remember state when scrubbing. (marco)
|
||||||
|
|
||||||
|
@ -66,15 +66,25 @@ class Icon(gtk.Image):
|
|||||||
icon_theme = gtk.icon_theme_get_for_screen(self.get_screen())
|
icon_theme = gtk.icon_theme_get_for_screen(self.get_screen())
|
||||||
icon_set = gtk.IconSet()
|
icon_set = gtk.IconSet()
|
||||||
|
|
||||||
if icon_theme.has_icon(self._icon_name):
|
if icon_theme.has_icon(self._icon_name) or os.path.exists(self._icon_name):
|
||||||
source = gtk.IconSource()
|
source = gtk.IconSource()
|
||||||
source.set_icon_name(self._icon_name)
|
|
||||||
|
if os.path.exists(self._icon_name):
|
||||||
|
source.set_filename(self._icon_name)
|
||||||
|
else:
|
||||||
|
source.set_icon_name(self._icon_name)
|
||||||
|
|
||||||
icon_set.add_source(source)
|
icon_set.add_source(source)
|
||||||
|
|
||||||
inactive_name = self._icon_name + '-inactive'
|
inactive_name = self._icon_name + '-inactive'
|
||||||
if icon_theme.has_icon(inactive_name):
|
if icon_theme.has_icon(inactive_name) or os.path.exists(inactive_name):
|
||||||
source = gtk.IconSource()
|
source = gtk.IconSource()
|
||||||
source.set_icon_name(inactive_name)
|
|
||||||
|
if os.path.exists(inactive_name):
|
||||||
|
source.set_filename(inactive_name)
|
||||||
|
else:
|
||||||
|
source.set_icon_name(inactive_name)
|
||||||
|
|
||||||
source.set_state(gtk.STATE_INSENSITIVE)
|
source.set_state(gtk.STATE_INSENSITIVE)
|
||||||
icon_set.add_source(source)
|
icon_set.add_source(source)
|
||||||
|
|
||||||
@ -109,6 +119,9 @@ class Icon(gtk.Image):
|
|||||||
self.set_from_pixbuf(pixbuf)
|
self.set_from_pixbuf(pixbuf)
|
||||||
|
|
||||||
def _get_real_name(self, name):
|
def _get_real_name(self, name):
|
||||||
|
if os.path.exists(name):
|
||||||
|
return name
|
||||||
|
|
||||||
info = self._theme.lookup_icon(name, self.props.icon_size, 0)
|
info = self._theme.lookup_icon(name, self.props.icon_size, 0)
|
||||||
if not info:
|
if not info:
|
||||||
raise ValueError("Icon '" + name + "' not found.")
|
raise ValueError("Icon '" + name + "' not found.")
|
||||||
|
Loading…
Reference in New Issue
Block a user