diff options
author | Daniel Drake <dsd@laptop.org> | 2011-09-12 12:39:03 (GMT) |
---|---|---|
committer | Daniel Drake <dsd@laptop.org> | 2011-09-12 12:39:03 (GMT) |
commit | f8d22052dca97fd8bc117a07641bbbccb753563f (patch) | |
tree | 0e02a5842f848c025f4a762c7f824ddee1054af7 | |
parent | d1fe35e3cf101407ad677f8ebe03b41e1e92d799 (diff) |
Journal details view fixes
-rw-r--r-- | src/jarabe/journal/expandedentry.py | 18 |
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) |