* src/DataViews/_PlaceView.py: Add filter sidebar.
	* src/FilterEditor/_ShowResults.py: Support media filters.
	* src/FilterEditor/_EditRule.py: Support media filters.
	* src/FilterEditor/_FilterEditor.py: Support media filters.
	* src/Filters/_GenericFilter.py: Support media filters.
	* src/Filters/SideBar/Makefile.am (pkgdata_PYTHON): Ship new file.
	* src/Filters/SideBar/__init__.py: Expose new module.
	* src/Filters/SideBar/_MediaSidebarFilter.py: Add module.
	* src/Filters/Rules/Media/Makefile.am (pkgdata_PYTHON): Ship new files.
	* src/Filters/Rules/Media/_HasIdOf.py: Add module.
	* src/Filters/Rules/Media/_HasNoteMatchingSubstringOf.py: Add module.
	* src/Filters/Rules/Media/_HasNoteRegexp.py: Add module.
	* src/Filters/Rules/Media/_MatchesFilter.py: Add module.
	* src/Filters/Rules/Media/_RegExpIdOf.py: Add module.
	* src/Filters/Rules/Media/_MediaPrivate.py: Add module.
	* src/Filters/Rules/Media/__init__.py: Expose new modules.
	* src/Filters/Rules/Media/_AllMedia.py: Add module.
	* src/Filters/Rules/Media/_HasMedia.py: Add module.

In po:
2006-08-09  Alex Roitman  <shura@gramps-project.org>
	* POTFILES.in: Add new files.



svn: r7147
This commit is contained in:
Alex Roitman
2006-08-10 00:42:44 +00:00
parent e203195196
commit b19d9eaecb
21 changed files with 678 additions and 13 deletions

View File

@@ -225,18 +225,18 @@ class MyID(gtk.HBox):
'Event' : _('Event'),
'Place' : _('Place'),
'Source' : _('Source'),
'MediaObject' : _('Media Object'),
'Media' : _('Media Object'),
'Repository' : _('Repository'),
}
def __init__(self, dbstate, uistate, track, obj_class='Person'):
def __init__(self, dbstate, uistate, track, namespace='Person'):
gtk.HBox.__init__(self,False,6)
self.dbstate = dbstate
self.db = dbstate.db
self.uistate = uistate
self.track = track
self.obj_class = obj_class
self.namespace = namespace
self.entry = gtk.Entry()
self.entry.show()
self.button = gtk.Button()
@@ -247,13 +247,17 @@ class MyID(gtk.HBox):
self.add(self.button)
self.tooltips = gtk.Tooltips()
self.tooltips.set_tip(self.button,_('Select %s from a list')
% self.obj_name[obj_class])
% self.obj_name[namespace])
self.tooltips.enable()
self.show()
self.set_text('')
def button_press(self,obj):
selector = selector_factory(self.obj_class)
if self.namespace == 'Media':
obj_class = 'MediaObject'
else:
obj_class = self.namespace
selector = selector_factory(obj_class)
inst = selector(self.dbstate, self.uistate, self.track)
val = inst.run()
if val == None:
@@ -265,25 +269,25 @@ class MyID(gtk.HBox):
return unicode(self.entry.get_text())
def name_from_gramps_id(self,gramps_id):
if self.obj_class == 'Person':
if self.namespace == 'Person':
person = self.db.get_person_from_gramps_id(gramps_id)
name = _nd.display_name(person.get_primary_name())
elif self.obj_class == 'Family':
elif self.namespace == 'Family':
family = self.db.get_family_from_gramps_id(gramps_id)
name = Utils.family_name(family, self.db)
elif self.obj_class == 'Event':
elif self.namespace == 'Event':
event = self.db.get_event_from_gramps_id(gramps_id)
name = str(event.get_type)
elif self.obj_class == 'Place':
elif self.namespace == 'Place':
place = self.db.get_place_from_gramps_id(gramps_id)
name = place.get_title()
elif self.obj_class == 'Source':
elif self.namespace == 'Source':
source = self.db.get_source_from_gramps_id(gramps_id)
name = source.get_title()
elif self.obj_class == 'MediaObject':
elif self.namespace == 'Media':
obj = self.db.get_object_from_gramps_id(gramps_id)
name = obj.get_path()
elif self.obj_class == 'Repository':
elif self.namespace == 'Repository':
repo = self.db.get_repository_from_gramps_id(gramps_id)
name = repo.get_name()
return name
@@ -377,6 +381,8 @@ class EditRule(ManagedWindow.ManagedWindow):
class_list = Rules.Source.editor_rule_list
elif self.space == 'Place':
class_list = Rules.Place.editor_rule_list
elif self.space == 'Media':
class_list = Rules.Media.editor_rule_list
elif self.space == 'Repository':
class_list = Rules.Repository.editor_rule_list

View File

@@ -178,5 +178,7 @@ class FilterEditor(ManagedWindow.ManagedWindow):
return self.db.get_source_handles()
elif self.space == 'Place':
return self.db.get_place_handles()
elif self.space == 'Media':
return self.db.get_media_object_handles()
elif self.space == 'Repository':
return self.db.get_repository_handles()

View File

@@ -123,6 +123,10 @@ class ShowResults(ManagedWindow.ManagedWindow):
place = self.db.get_place_from_handle(handle)
name = place.get_title()
gid = place.get_gramps_id()
elif self.space == 'Media':
obj = self.db.get_object_from_handle(handle)
name = obj.get_description()
gid = obj.get_gramps_id()
elif self.space == 'Repository':
repo = self.db.get_repository_from_handle(handle)
name = repo.get_name()
@@ -146,6 +150,9 @@ class ShowResults(ManagedWindow.ManagedWindow):
elif self.space == 'Place':
name = self.db.get_place_from_handle(handle).get_title()
sortname = locale.strxfrm(name)
elif self.space == 'Media':
name = self.db.get_object_from_handle(handle).get_description()
sortname = locale.strxfrm(name)
elif self.space == 'Repository':
name = self.db.get_repository_from_handle(handle).get_name()
sortname = locale.strxfrm(name)