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:
Don Allingham
2006-12-10 04:24:11 +00:00
parent 5ae461d017
commit 41ff120b1a
6 changed files with 102 additions and 21 deletions

View File

@@ -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'),

View File

@@ -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)

View File

@@ -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: