summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2010-06-21 23:18:41 +0200
committerJiri Moskovcak <jmoskovc@redhat.com>2010-06-21 23:18:41 +0200
commitaf82f994e39c60ee3c770ce8a724d5132161d24f (patch)
tree329a5840dd79449d42d37f8981781996495c766d /src
parent0b3138095789a978c5c2cdb72832212de9991ca8 (diff)
downloadabrt-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.py2
-rw-r--r--src/Gui/CC_gui_functions.py35
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()