Fixed an error in thumbnail_view(). Thank you, Helge Privat
svn: r17703
This commit is contained in:
parent
ffe9ecd8fd
commit
5b2b2eead3
@ -340,6 +340,11 @@ class EditExifMetadata(Gramplet):
|
|||||||
main_vbox.show_all()
|
main_vbox.show_all()
|
||||||
return main_vbox
|
return main_vbox
|
||||||
|
|
||||||
|
def db_changed(self):
|
||||||
|
self.dbstate.db.connect('media-update', self.update)
|
||||||
|
self.connect_signal('Media', self.update)
|
||||||
|
self.update()
|
||||||
|
|
||||||
def main(self): # return false finishes
|
def main(self): # return false finishes
|
||||||
"""
|
"""
|
||||||
get the active media, mime type, and reads the image metadata
|
get the active media, mime type, and reads the image metadata
|
||||||
@ -659,24 +664,16 @@ class EditExifMetadata(Gramplet):
|
|||||||
will allow a display area for a thumbnail pop-up window.
|
will allow a display area for a thumbnail pop-up window.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
tip = _("Click Close to close this Thumbnail Viewing Area.")
|
dirpath, filename = os.path.split(self.image_path)
|
||||||
|
|
||||||
self.tbarea = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
|
||||||
self.tbarea.tooltip = tip
|
|
||||||
self.tbarea.set_title(_("Thumbnail Viewing Area"))
|
|
||||||
self.tbarea.set_default_size(250, 200)
|
|
||||||
self.tbarea.set_border_width(10)
|
|
||||||
|
|
||||||
self.tbarea.connect('destroy', lambda w: self.tbarea.destroy() )
|
|
||||||
dirpath, filename = os,path.split(self.image_path)
|
|
||||||
|
|
||||||
if LesserVersion: # prior to pyexiv2-0.2.0
|
if LesserVersion: # prior to pyexiv2-0.2.0
|
||||||
try:
|
try:
|
||||||
ttype, tdata = self.plugin_image.getThumbnailData()
|
ttype, tdata = self.plugin_image.getThumbnailData()
|
||||||
|
width, height = tdata.dimensions
|
||||||
|
|
||||||
except (IOError, OSError):
|
except (IOError, OSError):
|
||||||
print(_('Error: %s does not contain an EXIF thumbnail.') % filename)
|
print(_('Error: %s does not contain an EXIF thumbnail.') % filename)
|
||||||
self.tbarea.destroy()
|
self.close_window(self.tbarea)
|
||||||
|
|
||||||
# Create a GTK pixbuf loader to read the thumbnail data
|
# Create a GTK pixbuf loader to read the thumbnail data
|
||||||
pbloader = gtk.gdk.PixbufLoader()
|
pbloader = gtk.gdk.PixbufLoader()
|
||||||
@ -687,29 +684,56 @@ class EditExifMetadata(Gramplet):
|
|||||||
previews = self.plugin_image.previews
|
previews = self.plugin_image.previews
|
||||||
if not previews:
|
if not previews:
|
||||||
print(_('Error: %s does not contain an EXIF thumbnail.') % filename)
|
print(_('Error: %s does not contain an EXIF thumbnail.') % filename)
|
||||||
self.tbarea.destroy()
|
self.close_window(self.tbarea)
|
||||||
|
|
||||||
except (IOError, OSError):
|
except (IOError, OSError):
|
||||||
print(_('Error: %s does not contain an EXIF thumbnail.') % filename)
|
print(_('Error: %s does not contain an EXIF thumbnail.') % filename)
|
||||||
self.tbarea.destroy()
|
self.close_window(self.tbarea)
|
||||||
|
|
||||||
# Get the largest preview available...
|
# Get the largest preview available...
|
||||||
preview = previews[-1]
|
preview = previews[-1]
|
||||||
|
width, height = preview.dimensions
|
||||||
|
|
||||||
# Create a pixbuf loader to read the thumbnail data...
|
# Create a GTK pixbuf loader to read the thumbnail data
|
||||||
pbloader = gtk.gdk.PixbufLoader()
|
pbloader = gtk.gdk.PixbufLoader()
|
||||||
pbloader.write(preview.data)
|
pbloader.write(preview.data)
|
||||||
|
|
||||||
|
tip = _("Click Close to close this Thumbnail Viewing Area.")
|
||||||
|
|
||||||
|
self.tbarea = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
||||||
|
self.tbarea.tooltip = tip
|
||||||
|
self.tbarea.set_title(_("Thumbnail Viewing Area"))
|
||||||
|
self.tbarea.set_default_size((width + 40), (height + 40))
|
||||||
|
self.tbarea.set_border_width(10)
|
||||||
|
self.tbarea.connect('destroy', lambda w: self.tbarea.destroy() )
|
||||||
|
|
||||||
|
new_vbox = self.build_thumbnail_gui(pbloader, width, height)
|
||||||
|
self.tbarea.add(new_vbox)
|
||||||
|
self.tbarea.show()
|
||||||
|
|
||||||
|
def build_thumbnail_gui(self, pbloader, width, height):
|
||||||
|
"""
|
||||||
|
builds the thumbnail viewing area.
|
||||||
|
"""
|
||||||
|
|
||||||
|
main_vbox = gtk.VBox()
|
||||||
|
main_vbox.set_size_request((width - 30), (height - 30))
|
||||||
|
|
||||||
|
hbox = gtk.HBox(False, 0)
|
||||||
|
main_vbox.pack_start(hbox, expand =False, fill =False, padding =5)
|
||||||
|
hbox.show()
|
||||||
|
|
||||||
# Get the resulting pixbuf and build an image to be displayed...
|
# Get the resulting pixbuf and build an image to be displayed...
|
||||||
pixbuf = pbloader.get_pixbuf()
|
pixbuf = pbloader.get_pixbuf()
|
||||||
pbloader.close()
|
pbloader.close()
|
||||||
|
|
||||||
imgwidget = gtk.Image()
|
imgwidget = gtk.Image()
|
||||||
imgwidget.set_from_pixbuf(pixbuf)
|
imgwidget.set_from_pixbuf(pixbuf)
|
||||||
|
hbox.pack_start(imgwidget, expand = False, fill =True, padding =0)
|
||||||
self.tbarea.add(imgwidget)
|
|
||||||
imgwidget.show()
|
imgwidget.show()
|
||||||
self.tbarea.show()
|
|
||||||
|
main_vbox.show_all()
|
||||||
|
return main_vbox
|
||||||
|
|
||||||
def __convert_dialog(self, obj):
|
def __convert_dialog(self, obj):
|
||||||
"""
|
"""
|
||||||
@ -1310,6 +1334,13 @@ class EditExifMetadata(Gramplet):
|
|||||||
else:
|
else:
|
||||||
plugininstance.write()
|
plugininstance.write()
|
||||||
|
|
||||||
|
def close_window(self, widgetWindow):
|
||||||
|
"""
|
||||||
|
closes the window title by widgetWindow.
|
||||||
|
"""
|
||||||
|
|
||||||
|
lambda w: widgetWindow.destroy()
|
||||||
|
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
# GPS Coordinates functions
|
# GPS Coordinates functions
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user