2006-12-09 Don Allingham <don@gramps-project.org>
* src/DataViews/_MediaView.py: external view support for media objects * src/Editors/_EditPlace.py: external view support for media objects * src/Editors/_EditMediaRef.py: external view support for media objects * src/Editors/_EditMedia.py: external view support for media objects * src/glade/gramps.glade: external view support for media objects svn: r7773
This commit is contained in:
@@ -117,11 +117,13 @@ class EditMedia(EditPrimary):
|
||||
self.obj, self.db.readonly)
|
||||
|
||||
pixmap = self.glade.get_widget("pixmap")
|
||||
ebox = self.glade.get_widget('eventbox')
|
||||
|
||||
mtype = self.obj.get_mime_type()
|
||||
if mtype:
|
||||
pb = ImgManip.get_thumbnail_image(self.obj.get_path(),mtype)
|
||||
pixmap.set_from_pixbuf(pb)
|
||||
ebox.connect('button-press-event', self.button_press_event)
|
||||
descr = Mime.get_description(mtype)
|
||||
if descr:
|
||||
self.glade.get_widget("type").set_text(descr)
|
||||
@@ -175,6 +177,19 @@ class EditMedia(EditPrimary):
|
||||
def build_menu_names(self,person):
|
||||
return (_('Edit Media Object'), self.get_menu_title())
|
||||
|
||||
def button_press_event(self, obj, event):
|
||||
if event.button==1 and event.type == gtk.gdk._2BUTTON_PRESS:
|
||||
self.view_media(obj)
|
||||
|
||||
def view_media(self, obj):
|
||||
|
||||
ref_obj = self.dbstate.db.get_object_from_handle(self.obj.handle)
|
||||
mime_type = ref_obj.get_mime_type()
|
||||
app = Mime.get_application(mime_type)
|
||||
if app:
|
||||
import Utils
|
||||
Utils.launch(app[0],ref_obj.get_path())
|
||||
|
||||
def select_file(self,obj):
|
||||
f = gtk.FileChooserDialog(
|
||||
_('Select Media Object'),
|
||||
|
@@ -1,4 +1,4 @@
|
||||
#
|
||||
0#
|
||||
# Gramps - a GTK+/GNOME based genealogy program
|
||||
#
|
||||
# Copyright (C) 2000-2006 Donald N. Allingham
|
||||
@@ -80,6 +80,9 @@ class EditMediaRef(EditReference):
|
||||
|
||||
self.pix = ImgManip.get_thumbnail_image(self.source.get_path(),mtype)
|
||||
self.pixmap = self.top.get_widget("pixmap")
|
||||
ebox = self.top.get_widget('eventbox')
|
||||
ebox.connect('button-press-event', self.button_press_event)
|
||||
|
||||
self.pixmap.set_from_pixbuf(self.pix)
|
||||
|
||||
coord = self.source_ref.get_rectangle()
|
||||
@@ -124,6 +127,17 @@ class EditMediaRef(EditReference):
|
||||
else:
|
||||
self.top.get_widget("type").set_text("")
|
||||
|
||||
def button_press_event(self, obj, event):
|
||||
if event.button==1 and event.type == gtk.gdk._2BUTTON_PRESS:
|
||||
self.view_media(obj)
|
||||
|
||||
def view_media(self, obj):
|
||||
mime_type = self.source.get_mime_type()
|
||||
app = Mime.get_application(mime_type)
|
||||
if app:
|
||||
import Utils
|
||||
Utils.launch(app[0],self.source.get_path())
|
||||
|
||||
def _connect_signals(self):
|
||||
self.define_cancel_button(self.top.get_widget('button84'))
|
||||
self.define_ok_button(self.top.get_widget('button82'),self.save)
|
||||
|
@@ -74,7 +74,7 @@ class EditPlace(EditPrimary):
|
||||
self.window.show()
|
||||
|
||||
def get_menu_title(self):
|
||||
if self.obj.get_handle():
|
||||
if self.obj and self.obj.get_handle():
|
||||
title = self.obj.get_title()
|
||||
dialog_title = _('Place: %s') % title
|
||||
else:
|
||||
|
Reference in New Issue
Block a user