diff options
author | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-06-21 23:18:41 +0200 |
---|---|---|
committer | Jiri Moskovcak <jmoskovc@redhat.com> | 2010-06-21 23:18:41 +0200 |
commit | af82f994e39c60ee3c770ce8a724d5132161d24f (patch) | |
tree | 329a5840dd79449d42d37f8981781996495c766d /src | |
parent | 0b3138095789a978c5c2cdb72832212de9991ca8 (diff) | |
download | abrt-af82f994e39c60ee3c770ce8a724d5132161d24f.tar.gz abrt-af82f994e39c60ee3c770ce8a724d5132161d24f.tar.xz abrt-af82f994e39c60ee3c770ce8a724d5132161d24f.zip |
GUI: don't show the placehondler icon rhbz#605693
- the generic executable icon seems to be a better choice if we have it
and the placeholder is used really as a last resort
- the logic in get_icon_for_package has been improved to not try so hard
as it usually picked the wrong icon and might be more confusing for users
then just not showing it at all
Diffstat (limited to 'src')
-rw-r--r-- | src/Gui/CCMainWindow.py | 2 | ||||
-rw-r--r-- | src/Gui/CC_gui_functions.py | 35 |
2 files changed, 18 insertions, 19 deletions
diff --git a/src/Gui/CCMainWindow.py b/src/Gui/CCMainWindow.py index 658fdcaa..2bc5db7b 100644 --- a/src/Gui/CCMainWindow.py +++ b/src/Gui/CCMainWindow.py @@ -231,7 +231,7 @@ class MainWindow(): if icon: i_package_icon.set_from_pixbuf(icon) else: - i_package_icon.set_from_stock(gtk.STOCK_MISSING_IMAGE, gtk.ICON_SIZE_DIALOG) + i_package_icon.set_from_icon_name("application-x-executable", gtk.ICON_SIZE_DIALOG) l_heading = self.wTree.get_widget("l_detail_heading") l_heading.set_markup(_("<b>%s Crash</b>\n%s") % (dump.getPackageName().title(),dump.getPackage())) diff --git a/src/Gui/CC_gui_functions.py b/src/Gui/CC_gui_functions.py index e0d68db3..56abae1b 100644 --- a/src/Gui/CC_gui_functions.py +++ b/src/Gui/CC_gui_functions.py @@ -180,8 +180,9 @@ def gui_question_dialog ( message, parent_dialog=None, def get_icon_for_package(theme, package): log2("get_icon_for_package('%s')", package) + package_icon = None try: - return theme.load_icon(package, 48, gtk.ICON_LOOKUP_USE_BUILTIN) + package_icon = theme.load_icon(package, 48, gtk.ICON_LOOKUP_USE_BUILTIN) except: # try to find icon filename by manually if not rpm: @@ -190,6 +191,7 @@ def get_icon_for_package(theme, package): mi = ts.dbMatch('name', package) possible_icons = [] icon_filename = "" + icon_name = "" filenames = "" for h in mi: filenames = h['filenames'] @@ -204,29 +206,26 @@ def get_icon_for_package(theme, package): for line in lines: if line.find("Icon=") != -1: log2("Icon='%s'", line[5:-1]) - icon_filename = line[5:-1] + icon_name = line[5:-1] break desktop_file.close() - # .dektop file found + # .desktop file found + if icon_name: + try: + package_icon = theme.load_icon(icon_name, 48, gtk.ICON_LOOKUP_USE_BUILTIN) + except: + # we should get here only if the .desktop file is wrong.. for filename in h['filenames']: - if filename.rfind("%s.png" % icon_filename) != -1: - log2("png file:'%s'", filename) + if filename.rfind("%s.png" % icon_name) != -1: icon_filename = filename - break - #we didn't find the .desktop file - else: - for filename in possible_icons: - if filename.rfind("%s.png" % package): - # return the first possible filename - icon_filename = filename - break - if icon_filename: - break + # if we found size 48x48 we don't need to continue + if "48x48" in icon_filename: + log2("png file:'%s'", filename) + break if icon_filename: log1("icon created from %s", icon_filename) - return gtk.gdk.pixbuf_new_from_file_at_size(icon_filename, 48, 48) - else: - return None + package_icon = gtk.gdk.pixbuf_new_from_file_at_size(icon_filename, 48, 48) + return package_icon def show_log(message_log, parent=None): builder = gtk.Builder() |