3376: RFE: please add 'Open directory' to context menu of media objects
svn: r13693
This commit is contained in:
parent
b6f8cd5ee6
commit
216a5d6e0a
@ -128,10 +128,18 @@ class GalleryTab(ButtonTab, DbGUIElement):
|
|||||||
ref_obj = self.dbstate.db.get_object_from_handle(obj.ref)
|
ref_obj = self.dbstate.db.get_object_from_handle(obj.ref)
|
||||||
media_path = Utils.media_path_full(self.dbstate.db, ref_obj.get_path())
|
media_path = Utils.media_path_full(self.dbstate.db, ref_obj.get_path())
|
||||||
if media_path:
|
if media_path:
|
||||||
item = gtk.MenuItem(_('View'))
|
item = gtk.ImageMenuItem(_('View'))
|
||||||
|
img = gtk.Image()
|
||||||
|
img.set_from_stock("gramps-viewmedia", gtk.ICON_SIZE_MENU)
|
||||||
|
item.set_image(img)
|
||||||
item.connect('activate', make_launcher(media_path))
|
item.connect('activate', make_launcher(media_path))
|
||||||
item.show()
|
item.show()
|
||||||
menu.append(item)
|
menu.append(item)
|
||||||
|
mfolder, mfile = os.path.split(media_path)
|
||||||
|
item = gtk.MenuItem(_('Open Containing _Folder'))
|
||||||
|
item.connect('activate', make_launcher(mfolder))
|
||||||
|
item.show()
|
||||||
|
menu.append(item)
|
||||||
item = gtk.SeparatorMenuItem()
|
item = gtk.SeparatorMenuItem()
|
||||||
item.show()
|
item.show()
|
||||||
menu.append(item)
|
menu.append(item)
|
||||||
|
@ -221,6 +221,10 @@ class MediaView(ListView):
|
|||||||
self._add_action('OpenMedia', 'gramps-viewmedia', _('View'),
|
self._add_action('OpenMedia', 'gramps-viewmedia', _('View'),
|
||||||
tip=_("View in the default viewer"),
|
tip=_("View in the default viewer"),
|
||||||
callback=self.view_media)
|
callback=self.view_media)
|
||||||
|
self._add_action('OpenContainingFolder', None,
|
||||||
|
_('Open Containing _Folder'),
|
||||||
|
tip=_("Open the folder containing the media file"),
|
||||||
|
callback=self.open_containing_folder)
|
||||||
|
|
||||||
def view_media(self, obj):
|
def view_media(self, obj):
|
||||||
"""
|
"""
|
||||||
@ -231,6 +235,17 @@ class MediaView(ListView):
|
|||||||
mpath = Utils.media_path_full(self.dbstate.db, ref_obj.get_path())
|
mpath = Utils.media_path_full(self.dbstate.db, ref_obj.get_path())
|
||||||
open_file_with_default_application(mpath)
|
open_file_with_default_application(mpath)
|
||||||
|
|
||||||
|
def open_containing_folder(self, obj):
|
||||||
|
"""
|
||||||
|
Launch external viewers for the selected objects.
|
||||||
|
"""
|
||||||
|
for handle in self.selected_handles():
|
||||||
|
ref_obj = self.dbstate.db.get_object_from_handle(handle)
|
||||||
|
mpath = Utils.media_path_full(self.dbstate.db, ref_obj.get_path())
|
||||||
|
if mpath:
|
||||||
|
mfolder, mfile = os.path.split(mpath)
|
||||||
|
open_file_with_default_application(mfolder)
|
||||||
|
|
||||||
def _column_editor(self, obj):
|
def _column_editor(self, obj):
|
||||||
"""
|
"""
|
||||||
Start the column editor dialog
|
Start the column editor dialog
|
||||||
@ -351,9 +366,11 @@ class MediaView(ListView):
|
|||||||
<toolitem action="OpenMedia"/>
|
<toolitem action="OpenMedia"/>
|
||||||
</toolbar>
|
</toolbar>
|
||||||
<popup name="Popup">
|
<popup name="Popup">
|
||||||
|
<menuitem action="OpenMedia"/>
|
||||||
|
<menuitem action="OpenContainingFolder"/>
|
||||||
|
<separator/>
|
||||||
<menuitem action="Add"/>
|
<menuitem action="Add"/>
|
||||||
<menuitem action="Edit"/>
|
<menuitem action="Edit"/>
|
||||||
<menuitem action="OpenMedia"/>
|
|
||||||
<menuitem action="Remove"/>
|
<menuitem action="Remove"/>
|
||||||
</popup>
|
</popup>
|
||||||
</ui>'''
|
</ui>'''
|
||||||
|
Loading…
Reference in New Issue
Block a user