Patches from Jeff Ollie for filters
svn: r910
This commit is contained in:
@@ -128,21 +128,12 @@ class EventComparison:
|
||||
top =self.filterDialog.get_widget("filters")
|
||||
filters = self.filterDialog.get_widget("filter_list")
|
||||
|
||||
myMenu = gtk.GtkMenu()
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("Entire Database"))
|
||||
all.add_rule(GenericFilter.Everyone([]))
|
||||
|
||||
flist = GenericFilter.GenericFilterList(const.custom_filters)
|
||||
flist.load()
|
||||
for f in [all] + flist.get_filters():
|
||||
menuitem = gtk.GtkMenuItem(_(f.get_name()))
|
||||
myMenu.append(menuitem)
|
||||
menuitem.set_data("filter",f)
|
||||
menuitem.show()
|
||||
self.filter_menu = myMenu
|
||||
filters.set_menu(myMenu)
|
||||
self.filter_menu = GenericFilter.build_filter_menu([all])
|
||||
filters.set_menu(self.filter_menu)
|
||||
top.show()
|
||||
|
||||
def on_apply_clicked(self,obj):
|
||||
|
||||
@@ -81,6 +81,8 @@ class FilterEditor:
|
||||
def close_filter_editor(self,obj):
|
||||
self.filterdb.save()
|
||||
self.editor_top.destroy()
|
||||
GenericFilter.reload_custom_filters()
|
||||
GenericFilter.reload_system_filters()
|
||||
|
||||
def draw_filters(self):
|
||||
row = 0
|
||||
@@ -328,9 +330,17 @@ class ShowResults:
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def runTool(database,person,callback):
|
||||
def CustomFilterEditor(database,person,callback):
|
||||
FilterEditor(const.custom_filters,database)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def SystemFilterEditor(database,person,callback):
|
||||
FilterEditor(const.system_filters,database)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
@@ -339,10 +349,24 @@ def runTool(database,person,callback):
|
||||
from Plugins import register_tool
|
||||
|
||||
register_tool(
|
||||
runTool,
|
||||
CustomFilterEditor,
|
||||
_("Custom Filter Editor"),
|
||||
category=_("Utilities"),
|
||||
description=_("The Custom Filter Editor builds custom "
|
||||
"filters that can be used to select people "
|
||||
"included reports, exports, and other utilities.")
|
||||
)
|
||||
|
||||
if ((os.path.exists(const.system_filters) and
|
||||
os.access(const.system_filters, os.W_OK)) or
|
||||
(os.path.exists(os.path.dirname(const.system_filters)) and
|
||||
os.access(os.path.dirname(const.system_filters), os.W_OK))):
|
||||
register_tool(
|
||||
SystemFilterEditor,
|
||||
_("System Filter Editor"),
|
||||
category=_("Utilities"),
|
||||
description=_("The System Filter Editor builds custom "
|
||||
"filters that can be used by anyone on the system "
|
||||
"to select people included reports, exports, "
|
||||
"and other utilities.")
|
||||
)
|
||||
|
||||
@@ -309,7 +309,6 @@ class GedcomWriter:
|
||||
})
|
||||
|
||||
filter_obj = self.topDialog.get_widget("filter")
|
||||
myMenu = gtk.GtkMenu()
|
||||
|
||||
all = GenericFilter.GenericFilter()
|
||||
all.set_name(_("Entire Database"))
|
||||
@@ -323,15 +322,8 @@ class GedcomWriter:
|
||||
ans.set_name(_("Ancestors of %s") % person.getPrimaryName().getName())
|
||||
ans.add_rule(GenericFilter.IsAncestorOf([person.getId()]))
|
||||
|
||||
flist = GenericFilter.GenericFilterList(const.custom_filters)
|
||||
flist.load()
|
||||
for f in [all,des,ans] + flist.get_filters():
|
||||
menuitem = gtk.GtkMenuItem(_(f.get_name()))
|
||||
myMenu.append(menuitem)
|
||||
menuitem.set_data("filter",f)
|
||||
menuitem.show()
|
||||
filter_obj.set_menu(myMenu)
|
||||
self.filter_menu = myMenu
|
||||
self.filter_menu = GenericFilter.build_filter_menu([all,des,ans])
|
||||
filter_obj.set_menu(self.filter_menu)
|
||||
|
||||
gedmap = GedcomInfoDB()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user