2007-09-08 Don Allingham <don@gramps-project.org>
* src/ViewManager.py: code cleanup * src/FontScale.py: code cleanup * src/GrampsWidgets.py: code cleanup * src/ExportOptions.py: code cleanup * src/GrampsDisplay.py: code cleanup * src/DateEdit.py: code cleanup * src/DbLoader.py: code cleanup svn: r8951
This commit is contained in:
@ -17,10 +17,24 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
#
|
||||
|
||||
"""
|
||||
Provides the common export options for Exporters
|
||||
"""
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# python modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import gtk
|
||||
from gettext import gettext as _
|
||||
|
||||
import RelLib
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GRAMPS modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import Config
|
||||
|
||||
from BasicUtils import name_displayer
|
||||
@ -28,7 +42,7 @@ from Filters import GenericFilter, Rules
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
# WriterOptionBox
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class WriterOptionBox:
|
||||
@ -38,13 +52,24 @@ class WriterOptionBox:
|
||||
"""
|
||||
def __init__(self, person):
|
||||
self.person = person
|
||||
self.private = 0
|
||||
self.restrict = 0
|
||||
self.cfilter = None
|
||||
self.restrict_check = None
|
||||
self.private_check = None
|
||||
self.filter_obj = None
|
||||
|
||||
def get_option_box(self):
|
||||
"""
|
||||
Builds up a gtk.Table that contains the standard options
|
||||
"""
|
||||
table = gtk.Table(3, 2)
|
||||
label = gtk.Label('Filter')
|
||||
self.filter_obj = gtk.ComboBox()
|
||||
self.private_check = gtk.CheckButton(_('Do not include records marked private'))
|
||||
self.restrict_check = gtk.CheckButton(_('Restrict data on living people'))
|
||||
self.private_check = gtk.CheckButton(
|
||||
_('Do not include records marked private'))
|
||||
self.restrict_check = gtk.CheckButton(
|
||||
_('Restrict data on living people'))
|
||||
|
||||
self.private_check.set_active(Config.get(Config.EXPORT_NO_PRIVATE))
|
||||
self.restrict_check.set_active(Config.get(Config.EXPORT_RESTRICT))
|
||||
@ -57,40 +82,19 @@ class WriterOptionBox:
|
||||
table.attach(self.private_check, 1, 2, 1, 2, yoptions=0)
|
||||
table.attach(self.restrict_check, 1, 2, 2, 3, yoptions=0)
|
||||
|
||||
#filter_obj = self.topDialog.get_widget("filter")
|
||||
|
||||
all = GenericFilter()
|
||||
all.set_name(_("Entire Database"))
|
||||
|
||||
the_filters = [all]
|
||||
entire_db = GenericFilter()
|
||||
entire_db.set_name(_("Entire Database"))
|
||||
the_filters = [entire_db]
|
||||
|
||||
if self.person:
|
||||
des = GenericFilter()
|
||||
des.set_name(_("Descendants of %s") %
|
||||
name_displayer.display(self.person))
|
||||
des.add_rule(Rules.Person.IsDescendantOf(
|
||||
[self.person.get_gramps_id(), 1]))
|
||||
|
||||
ans = GenericFilter()
|
||||
ans.set_name(_("Ancestors of %s")
|
||||
% name_displayer.display(self.person))
|
||||
ans.add_rule(Rules.Person.IsAncestorOf(
|
||||
[self.person.get_gramps_id(), 1]))
|
||||
|
||||
com = GenericFilter()
|
||||
com.set_name(_("People with common ancestor with %s") %
|
||||
name_displayer.display(self.person))
|
||||
com.add_rule(Rules.Person.HasCommonAncestorWith(
|
||||
[self.person.get_gramps_id()]))
|
||||
|
||||
the_filters += [des, ans, com]
|
||||
the_filters += self.__define_person_filters()
|
||||
|
||||
from Filters import CustomFilters
|
||||
the_filters.extend(CustomFilters.get_filters('Person'))
|
||||
|
||||
model = gtk.ListStore(str, object)
|
||||
for f in the_filters:
|
||||
model.append(row=[f.get_name(), f])
|
||||
for item in the_filters:
|
||||
model.append(row=[item.get_name(), item])
|
||||
|
||||
cell = gtk.CellRendererText()
|
||||
self.filter_obj.pack_start(cell, True)
|
||||
@ -101,8 +105,40 @@ class WriterOptionBox:
|
||||
table.show()
|
||||
return table
|
||||
|
||||
def parse_options(self):
|
||||
def __define_person_filters(self):
|
||||
"""
|
||||
Add person filters if the active person is defined
|
||||
"""
|
||||
|
||||
des = GenericFilter()
|
||||
des.set_name(_("Descendants of %s") %
|
||||
name_displayer.display(self.person))
|
||||
des.add_rule(Rules.Person.IsDescendantOf(
|
||||
[self.person.get_gramps_id(), 1]))
|
||||
|
||||
ans = GenericFilter()
|
||||
ans.set_name(_("Ancestors of %s")
|
||||
% name_displayer.display(self.person))
|
||||
ans.add_rule(Rules.Person.IsAncestorOf(
|
||||
[self.person.get_gramps_id(), 1]))
|
||||
|
||||
com = GenericFilter()
|
||||
com.set_name(_("People with common ancestor with %s") %
|
||||
name_displayer.display(self.person))
|
||||
com.add_rule(Rules.Person.HasCommonAncestorWith(
|
||||
[self.person.get_gramps_id()]))
|
||||
return [des, ans, com]
|
||||
|
||||
def parse_options(self):
|
||||
"""
|
||||
Extract the common values from the GTK widgets. After this function
|
||||
is called, the following variables are defined:
|
||||
|
||||
private = privacy requested
|
||||
restrict = restrict information on living peoplel
|
||||
cfitler = return the GenericFilter selected
|
||||
|
||||
"""
|
||||
self.restrict = self.restrict_check.get_active()
|
||||
self.private = self.private_check.get_active()
|
||||
|
||||
|
Reference in New Issue
Block a user