Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2011-09-12 12:39:03 (GMT)
committer Daniel Drake <dsd@laptop.org>2011-09-12 12:39:03 (GMT)
commitf8d22052dca97fd8bc117a07641bbbccb753563f (patch)
tree0e02a5842f848c025f4a762c7f824ddee1054af7
parentd1fe35e3cf101407ad677f8ebe03b41e1e92d799 (diff)
Journal details view fixes
-rw-r--r--src/jarabe/journal/expandedentry.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/jarabe/journal/expandedentry.py b/src/jarabe/journal/expandedentry.py
index 298093d..1f0dd7a 100644
--- a/src/jarabe/journal/expandedentry.py
+++ b/src/jarabe/journal/expandedentry.py
@@ -103,7 +103,7 @@ class ExpandedEntry(gtk.VBox):
# First body column
self._preview_box = gtk.Frame()
- first_column.pack_start(self._preview_box)
+ first_column.pack_start(self._preview_box, expand=False)
self._technical_box = gtk.VBox()
first_column.pack_start(self._technical_box)
@@ -192,7 +192,8 @@ class ExpandedEntry(gtk.VBox):
def _create_preview(self):
width = style.zoom(320)
height = style.zoom(240)
- box = gtk.HBox()
+ box = gtk.EventBox()
+ box.modify_bg(gtk.STATE_NORMAL, style.COLOR_WHITE.get_gdk_color())
if len(self._metadata.get('preview', '')) > 4:
if self._metadata['preview'][1:4] == 'PNG':
@@ -205,14 +206,17 @@ class ExpandedEntry(gtk.VBox):
png_file = StringIO.StringIO(preview_data)
try:
+ # Load image and scale to dimensions
surface = cairo.ImageSurface.create_from_png(png_file)
- pixmap = gtk.gdk.Pixmap(None, width, height, 24)
+ png_width = surface.get_width()
+ png_height = surface.get_height()
+ pixmap = gtk.gdk.Pixmap(None, png_width, png_height, 24)
cr = pixmap.cairo_create()
cr.set_source_surface(surface, 0, 0)
+ cr.scale(width / png_width, height / png_height)
cr.paint()
- im = gtk.Image()
- im.set_from_pixmap(pixmap, None)
+ im = gtk.image_new_from_pixmap(pixmap, None)
has_preview = True
except Exception:
logging.exception('Error while loading the preview')
@@ -221,12 +225,12 @@ class ExpandedEntry(gtk.VBox):
has_preview = False
if has_preview:
- box.pack_start(im)
+ box.add(im)
else:
label = gtk.Label()
label.set_text(_('No preview'))
label.set_size_request(width, height)
- box.pack_start(label)
+ box.add(label)
box.connect_after('button-release-event',
self._preview_box_button_release_event_cb)