2007-08-24 Don Allingham <don@gramps-project.org>
* src/ExportAssistant.py: fix grammar * src/ExportOptions.py: place for common options, build option dialog for exporters * src/GrampsDbUtils/_WriteGedcom.py: handle restrict, private, and new option dialog * src/GrampsDbUtils/_PrivateProxyDb.py: add get_researcher() * src/GrampsDbUtils/exportgedcom.glade: removed svn: r8864
This commit is contained in:
parent
50dd896298
commit
5b26062459
@ -1,3 +1,12 @@
|
|||||||
|
2007-08-24 Don Allingham <don@gramps-project.org>
|
||||||
|
* src/ExportAssistant.py: fix grammar
|
||||||
|
* src/ExportOptions.py: place for common options, build option dialog for
|
||||||
|
exporters
|
||||||
|
* src/GrampsDbUtils/_WriteGedcom.py: handle restrict, private, and new
|
||||||
|
option dialog
|
||||||
|
* src/GrampsDbUtils/_PrivateProxyDb.py: add get_researcher()
|
||||||
|
* src/GrampsDbUtils/exportgedcom.glade: removed
|
||||||
|
|
||||||
2007-08-25 Benny Malengier <bm@cage.ugent.be>
|
2007-08-25 Benny Malengier <bm@cage.ugent.be>
|
||||||
* src/plugins/rel_de.py : nomeata, bug #1183
|
* src/plugins/rel_de.py : nomeata, bug #1183
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ src/DdTargets.py
|
|||||||
src/DisplayState.py
|
src/DisplayState.py
|
||||||
src/Errors.py
|
src/Errors.py
|
||||||
src/ExportAssistant.py
|
src/ExportAssistant.py
|
||||||
|
src/ExportOptions.py
|
||||||
src/FontScale.py
|
src/FontScale.py
|
||||||
src/GrampsCfg.py
|
src/GrampsCfg.py
|
||||||
src/GrampsDisplay.py
|
src/GrampsDisplay.py
|
||||||
|
@ -199,7 +199,7 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) :
|
|||||||
|
|
||||||
self.append_page(page)
|
self.append_page(page)
|
||||||
self.set_page_header_image(page, self.logo)
|
self.set_page_header_image(page, self.logo)
|
||||||
self.set_page_title(page, _('Choose the format you want to export to'))
|
self.set_page_title(page, _('Choose the output format'))
|
||||||
|
|
||||||
self.set_page_type(page, gtk.ASSISTANT_PAGE_CONTENT)
|
self.set_page_type(page, gtk.ASSISTANT_PAGE_CONTENT)
|
||||||
|
|
||||||
|
123
src/ExportOptions.py
Normal file
123
src/ExportOptions.py
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
#
|
||||||
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
|
#
|
||||||
|
# Copyright (C) 2007 Donald N. Allingham
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
import gtk
|
||||||
|
from gettext import gettext as _
|
||||||
|
|
||||||
|
import RelLib
|
||||||
|
from BasicUtils import name_displayer
|
||||||
|
from Filters import GenericFilter, Rules, build_filter_menu
|
||||||
|
|
||||||
|
def restrict_living(person):
|
||||||
|
newperson = RelLib.Person()
|
||||||
|
name = RelLib.Name()
|
||||||
|
|
||||||
|
# copy name info
|
||||||
|
source = person.get_primary_name()
|
||||||
|
name.first_name = _(u'Living')
|
||||||
|
name.surname = source.surname
|
||||||
|
name.title = source.title
|
||||||
|
name.type = source.type
|
||||||
|
name.prefix = source.prefix
|
||||||
|
name.patronymic = source.patronymic
|
||||||
|
name.group_as = source.group_as
|
||||||
|
name.sort_as = source.sort_as
|
||||||
|
name.display_as = source.display_as
|
||||||
|
name.call = ""
|
||||||
|
newperson.set_primary_name(name)
|
||||||
|
|
||||||
|
newperson.parent_family_list = person.parent_family_list[:]
|
||||||
|
newperson.family_list = person.family_list[:]
|
||||||
|
newperson.gender = person.gender
|
||||||
|
|
||||||
|
return newperson
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#-------------------------------------------------------------------------
|
||||||
|
class WriterOptionBox:
|
||||||
|
"""
|
||||||
|
Create a VBox with the option widgets and define methods to retrieve
|
||||||
|
the options.
|
||||||
|
"""
|
||||||
|
def __init__(self, person):
|
||||||
|
self.person = person
|
||||||
|
|
||||||
|
def get_option_box(self):
|
||||||
|
self.restrict = True
|
||||||
|
|
||||||
|
table = gtk.Table(3, 2)
|
||||||
|
label = gtk.Label('Filter')
|
||||||
|
self.filter_obj = gtk.OptionMenu()
|
||||||
|
self.private_check = gtk.CheckButton(_('Do not include records marked private'))
|
||||||
|
self.restrict_check = gtk.CheckButton(_('Restrict data on living people'))
|
||||||
|
|
||||||
|
table.set_border_width(12)
|
||||||
|
table.set_row_spacings(6)
|
||||||
|
table.set_col_spacings(6)
|
||||||
|
table.attach(label, 0, 1, 0, 1, xoptions=0, yoptions=0)
|
||||||
|
table.attach(self.filter_obj, 1, 2, 0, 1, yoptions=0)
|
||||||
|
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"))
|
||||||
|
all.add_rule(Rules.Person.Everyone([]))
|
||||||
|
|
||||||
|
the_filters = [all]
|
||||||
|
|
||||||
|
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]
|
||||||
|
|
||||||
|
from Filters import CustomFilters
|
||||||
|
the_filters.extend(CustomFilters.get_filters('Person'))
|
||||||
|
self.filter_menu = build_filter_menu(the_filters)
|
||||||
|
self.filter_obj.set_menu(self.filter_menu)
|
||||||
|
|
||||||
|
table.show()
|
||||||
|
return table
|
||||||
|
|
||||||
|
def parse_options(self):
|
||||||
|
|
||||||
|
self.restrict = self.restrict_check.get_active()
|
||||||
|
self.private = self.private_check.get_active()
|
||||||
|
self.cfilter = self.filter_menu.get_active().get_data("filter")
|
||||||
|
|
@ -26,8 +26,7 @@ pkgpyexecdir = @pkgpyexecdir@/GrampsDbUtils
|
|||||||
pkgpythondir = @pkgpythondir@/GrampsDbUtils
|
pkgpythondir = @pkgpythondir@/GrampsDbUtils
|
||||||
|
|
||||||
GLADEFILES = \
|
GLADEFILES = \
|
||||||
gedcomimport.glade\
|
gedcomimport.glade
|
||||||
gedcomexport.glade
|
|
||||||
|
|
||||||
dist_pkgdata_DATA = $(GLADEFILES)
|
dist_pkgdata_DATA = $(GLADEFILES)
|
||||||
|
|
||||||
|
@ -946,7 +946,7 @@ class PrivateProxyDb:
|
|||||||
def get_researcher(self):
|
def get_researcher(self):
|
||||||
"""returns the Researcher instance, providing information about
|
"""returns the Researcher instance, providing information about
|
||||||
the owner of the database"""
|
the owner of the database"""
|
||||||
raise NotImplementedError
|
return self.db.get_researcher()
|
||||||
|
|
||||||
def set_default_person_handle(self, handle):
|
def set_default_person_handle(self, handle):
|
||||||
"""sets the default Person to the passed instance"""
|
"""sets the default Person to the passed instance"""
|
||||||
@ -1876,11 +1876,11 @@ def sanitize_repository(db,repository):
|
|||||||
new_repository.set_type(repository.get_type())
|
new_repository.set_type(repository.get_type())
|
||||||
new_repository.set_name(repository.get_name())
|
new_repository.set_name(repository.get_name())
|
||||||
new_repository.set_gramps_id(repository.get_gramps_id())
|
new_repository.set_gramps_id(repository.get_gramps_id())
|
||||||
new_repository.set_handle(repositofy.get_handle())
|
new_repository.set_handle(repository.get_handle())
|
||||||
new_repository.set_marker(repository.get_marker())
|
new_repository.set_marker(repository.get_marker())
|
||||||
|
|
||||||
copy_notes(db,repository,new_repository)
|
copy_notes(db,repository,new_repository)
|
||||||
copy_addresses(db,repository,new_repository)
|
copy_addresses(db,repository,new_repository)
|
||||||
copy_urls(db,repository,new_repository)
|
copy_urls(db,repository,new_repository)
|
||||||
|
|
||||||
return new_repository
|
return new_repository
|
||||||
|
@ -36,24 +36,17 @@ import string
|
|||||||
import logging
|
import logging
|
||||||
log = logging.getLogger(".WriteGedcom")
|
log = logging.getLogger(".WriteGedcom")
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
# GNOME/GTK modules
|
|
||||||
#
|
|
||||||
#-------------------------------------------------------------------------
|
|
||||||
import gtk
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# GRAMPS modules
|
# GRAMPS modules
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
import RelLib
|
import RelLib
|
||||||
from Filters import GenericFilter, Rules, build_filter_menu
|
|
||||||
import const
|
import const
|
||||||
import _GedcomInfo as GedcomInfo
|
import _GedcomInfo as GedcomInfo
|
||||||
import Errors
|
import Errors
|
||||||
import Utils
|
import Utils
|
||||||
|
import ExportOptions
|
||||||
from QuestionDialog import ErrorDialog, WarningDialog
|
from QuestionDialog import ErrorDialog, WarningDialog
|
||||||
from BasicUtils import UpdateCallback, name_displayer
|
from BasicUtils import UpdateCallback, name_displayer
|
||||||
|
|
||||||
@ -159,7 +152,7 @@ quay_map = {
|
|||||||
RelLib.SourceRef.CONF_HIGH : 2,
|
RelLib.SourceRef.CONF_HIGH : 2,
|
||||||
RelLib.SourceRef.CONF_LOW : 1,
|
RelLib.SourceRef.CONF_LOW : 1,
|
||||||
RelLib.SourceRef.CONF_VERY_LOW : 0,
|
RelLib.SourceRef.CONF_VERY_LOW : 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -244,97 +237,6 @@ def breakup(txt, limit):
|
|||||||
data.append(txt)
|
data.append(txt)
|
||||||
return data
|
return data
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#-------------------------------------------------------------------------
|
|
||||||
class GedcomWriterOptionBox:
|
|
||||||
"""
|
|
||||||
Create a VBox with the option widgets and define methods to retrieve
|
|
||||||
the options.
|
|
||||||
"""
|
|
||||||
def __init__(self, person):
|
|
||||||
self.person = person
|
|
||||||
|
|
||||||
def get_option_box(self):
|
|
||||||
self.restrict = True
|
|
||||||
|
|
||||||
glade_file = "%s/gedcomexport.glade" % os.path.dirname(__file__)
|
|
||||||
if not os.path.isfile(glade_file):
|
|
||||||
glade_file = "plugins/gedcomexport.glade"
|
|
||||||
|
|
||||||
self.topDialog = gtk.glade.XML(glade_file, "gedcomExport", "gramps")
|
|
||||||
self.topDialog.signal_autoconnect({
|
|
||||||
"on_restrict_toggled" : self.on_restrict_toggled,
|
|
||||||
})
|
|
||||||
|
|
||||||
filter_obj = self.topDialog.get_widget("filter")
|
|
||||||
|
|
||||||
all = GenericFilter()
|
|
||||||
all.set_name(_("Entire Database"))
|
|
||||||
all.add_rule(Rules.Person.Everyone([]))
|
|
||||||
|
|
||||||
the_filters = [all]
|
|
||||||
|
|
||||||
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]
|
|
||||||
|
|
||||||
from Filters import CustomFilters
|
|
||||||
the_filters.extend(CustomFilters.get_filters('Person'))
|
|
||||||
self.filter_menu = build_filter_menu(the_filters)
|
|
||||||
filter_obj.set_menu(self.filter_menu)
|
|
||||||
|
|
||||||
the_box = self.topDialog.get_widget('vbox1')
|
|
||||||
the_parent = self.topDialog.get_widget('dialog-vbox1')
|
|
||||||
the_parent.remove(the_box)
|
|
||||||
self.topDialog.get_widget("gedcomExport").destroy()
|
|
||||||
return the_box
|
|
||||||
|
|
||||||
def on_restrict_toggled(self, restrict):
|
|
||||||
active = restrict.get_active ()
|
|
||||||
map (lambda x: x.set_sensitive (active),
|
|
||||||
[self.topDialog.get_widget("living"),
|
|
||||||
self.topDialog.get_widget("notes"),
|
|
||||||
self.topDialog.get_widget("sources")])
|
|
||||||
|
|
||||||
def parse_options(self):
|
|
||||||
|
|
||||||
self.restrict = self.topDialog.get_widget("restrict").get_active()
|
|
||||||
self.living = (self.restrict and
|
|
||||||
self.topDialog.get_widget("living").get_active())
|
|
||||||
self.exclnotes = (self.restrict and
|
|
||||||
self.topDialog.get_widget("notes").get_active())
|
|
||||||
self.exclsrcs = (self.restrict and
|
|
||||||
self.topDialog.get_widget("sources").get_active())
|
|
||||||
|
|
||||||
self.cfilter = self.filter_menu.get_active().get_data("filter")
|
|
||||||
|
|
||||||
self.images = self.topDialog.get_widget ("images").get_active ()
|
|
||||||
if self.images:
|
|
||||||
images_path = self.topDialog.get_widget ("images_path")
|
|
||||||
self.images_path = unicode(images_path.get_text ())
|
|
||||||
else:
|
|
||||||
self.images_path = ""
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# GedcomWriter class
|
# GedcomWriter class
|
||||||
@ -393,11 +295,11 @@ class GedcomWriter(UpdateCallback):
|
|||||||
self.option_box.parse_options()
|
self.option_box.parse_options()
|
||||||
|
|
||||||
self.restrict = self.option_box.restrict
|
self.restrict = self.option_box.restrict
|
||||||
self.living = self.option_box.living
|
self.private = self.option_box.private
|
||||||
self.exclnotes = self.option_box.exclnotes
|
|
||||||
self.exclsrcs = self.option_box.exclsrcs
|
if self.private:
|
||||||
self.images = self.option_box.images
|
import _PrivateProxyDb
|
||||||
self.images_path = self.option_box.images_path
|
self.db = _PrivateProxyDb.PrivateProxyDb(self.db)
|
||||||
|
|
||||||
if self.option_box.cfilter == None:
|
if self.option_box.cfilter == None:
|
||||||
self.plist = set(self.db.get_person_handles(sort_handles=False))
|
self.plist = set(self.db.get_person_handles(sort_handles=False))
|
||||||
@ -414,7 +316,7 @@ class GedcomWriter(UpdateCallback):
|
|||||||
def cli_setup(self):
|
def cli_setup(self):
|
||||||
# use default settings
|
# use default settings
|
||||||
self.restrict = 0
|
self.restrict = 0
|
||||||
self.images = 0
|
self.private = 0
|
||||||
|
|
||||||
self.plist = set(self.db.get_person_handles(sort_handles=False))
|
self.plist = set(self.db.get_person_handles(sort_handles=False))
|
||||||
|
|
||||||
@ -555,7 +457,11 @@ class GedcomWriter(UpdateCallback):
|
|||||||
sorted.sort()
|
sorted.sort()
|
||||||
|
|
||||||
for data in sorted:
|
for data in sorted:
|
||||||
self.__write_person(self.db.get_person_from_handle(data[1]))
|
person = self.db.get_person_from_handle(data[1])
|
||||||
|
if self.restrict:
|
||||||
|
if Utils.probably_alive(person, self.db):
|
||||||
|
person = ExportOptions.restrict_living(person)
|
||||||
|
self.__write_person(person)
|
||||||
self.update()
|
self.update()
|
||||||
|
|
||||||
def __write_person(self, person):
|
def __write_person(self, person):
|
||||||
@ -767,9 +673,8 @@ class GedcomWriter(UpdateCallback):
|
|||||||
self.__write_source_references(addr.get_source_references(), 2)
|
self.__write_source_references(addr.get_source_references(), 2)
|
||||||
|
|
||||||
def __write_photos(self, media_list, level):
|
def __write_photos(self, media_list, level):
|
||||||
if self.images:
|
for photo in media_list:
|
||||||
for photo in media_list:
|
self.__write_photo(photo, level)
|
||||||
self.__write_photo(photo, level)
|
|
||||||
|
|
||||||
def __write_child_families(self, person):
|
def __write_child_families(self, person):
|
||||||
hndl_list = [ hndl for hndl in person.get_parent_family_handle_list() \
|
hndl_list = [ hndl for hndl in person.get_parent_family_handle_list() \
|
||||||
@ -1090,10 +995,9 @@ class GedcomWriter(UpdateCallback):
|
|||||||
self.__write_note_references(event.get_note_list(), 1)
|
self.__write_note_references(event.get_note_list(), 1)
|
||||||
self.__write_source_references(event.get_source_references(), 2)
|
self.__write_source_references(event.get_source_references(), 2)
|
||||||
|
|
||||||
if self.images:
|
self.__write_photos(event.get_media_list(), 2)
|
||||||
self.__write_photos(event.get_media_list(), 2)
|
if place:
|
||||||
if place:
|
self.__write_photos(place.get_media_list(), 2)
|
||||||
self.__write_photos(place.get_media_list(), 2)
|
|
||||||
|
|
||||||
def write_ord(self, ord, index):
|
def write_ord(self, ord, index):
|
||||||
self.__writeln(index, lds_ord_name[ord.get_type()])
|
self.__writeln(index, lds_ord_name[ord.get_type()])
|
||||||
@ -1250,31 +1154,14 @@ class GedcomWriter(UpdateCallback):
|
|||||||
mime = photo_obj.get_mime_type()
|
mime = photo_obj.get_mime_type()
|
||||||
form = mime2ged.get(mime, mime)
|
form = mime2ged.get(mime, mime)
|
||||||
path = photo_obj.get_path()
|
path = photo_obj.get_path()
|
||||||
imgdir = os.path.join(self.dirname, self.images_path)
|
imgdir = path
|
||||||
if not os.path.isfile(path):
|
if not os.path.isfile(path):
|
||||||
return
|
return
|
||||||
try:
|
|
||||||
if not os.path.isdir(imgdir):
|
|
||||||
os.makedirs(imgdir)
|
|
||||||
except:
|
|
||||||
return
|
|
||||||
basename = os.path.basename(path)
|
|
||||||
dest = os.path.join (imgdir, basename)
|
|
||||||
if dest != path:
|
|
||||||
try:
|
|
||||||
shutil.copyfile(path, dest)
|
|
||||||
shutil.copystat(path, dest)
|
|
||||||
except (IOError, OSError), msg:
|
|
||||||
msg2 = _("Could not create %s") % dest
|
|
||||||
WarningDialog(msg2, str(msg))
|
|
||||||
return
|
|
||||||
|
|
||||||
self.__writeln(level, 'OBJE')
|
self.__writeln(level, 'OBJE')
|
||||||
if form:
|
if form:
|
||||||
self.__writeln(level+1, 'FORM', form)
|
self.__writeln(level+1, 'FORM', form)
|
||||||
self.__writeln(level+1, 'TITL', photo_obj.get_description())
|
self.__writeln(level+1, 'TITL', photo_obj.get_description())
|
||||||
basename = os.path.basename (path)
|
self.__writeln(level+1, 'FILE', path)
|
||||||
self.__writeln(level+1, 'FILE', os.path.join(self.images_path, basename))
|
|
||||||
|
|
||||||
self.__write_note_references(photo_obj.get_note_list(), level+1)
|
self.__write_note_references(photo_obj.get_note_list(), level+1)
|
||||||
|
|
||||||
@ -1312,7 +1199,7 @@ def exportData(database, filename, person, option_box, callback=None):
|
|||||||
_title = _('GE_DCOM')
|
_title = _('GE_DCOM')
|
||||||
_description = _('GEDCOM is used to transfer data between genealogy programs. '
|
_description = _('GEDCOM is used to transfer data between genealogy programs. '
|
||||||
'Most genealogy software will accept a GEDCOM file as input. ')
|
'Most genealogy software will accept a GEDCOM file as input. ')
|
||||||
_config = (_('GEDCOM export options'), GedcomWriterOptionBox)
|
_config = (_('GEDCOM export options'), ExportOptions.WriterOptionBox)
|
||||||
_filename = 'ged'
|
_filename = 'ged'
|
||||||
|
|
||||||
from PluginUtils import register_export
|
from PluginUtils import register_export
|
||||||
|
@ -1,396 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
|
|
||||||
<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
|
|
||||||
|
|
||||||
<glade-interface>
|
|
||||||
|
|
||||||
<widget class="GtkDialog" id="gedcomExport">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="title" translatable="yes"></property>
|
|
||||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
|
||||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
|
||||||
<property name="modal">True</property>
|
|
||||||
<property name="default_width">400</property>
|
|
||||||
<property name="resizable">True</property>
|
|
||||||
<property name="destroy_with_parent">False</property>
|
|
||||||
<property name="decorated">True</property>
|
|
||||||
<property name="skip_taskbar_hint">False</property>
|
|
||||||
<property name="skip_pager_hint">False</property>
|
|
||||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
|
|
||||||
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
|
|
||||||
<property name="focus_on_map">True</property>
|
|
||||||
<property name="urgency_hint">False</property>
|
|
||||||
<property name="has_separator">False</property>
|
|
||||||
|
|
||||||
<child internal-child="vbox">
|
|
||||||
<widget class="GtkVBox" id="dialog-vbox1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="homogeneous">False</property>
|
|
||||||
<property name="spacing">8</property>
|
|
||||||
|
|
||||||
<child internal-child="action_area">
|
|
||||||
<widget class="GtkHButtonBox" id="dialog-action_area1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkButton" id="cancel">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_default">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label">gtk-cancel</property>
|
|
||||||
<property name="use_stock">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="response_id">0</property>
|
|
||||||
<signal name="clicked" handler="destroy_passed_object" object="gedcomExport"/>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkButton" id="ok">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_default">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label">gtk-ok</property>
|
|
||||||
<property name="use_stock">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="response_id">0</property>
|
|
||||||
<signal name="clicked" handler="on_ok_clicked" object="gedcomExport"/>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkButton" id="button1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_default">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label">gtk-help</property>
|
|
||||||
<property name="use_stock">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="response_id">-11</property>
|
|
||||||
<signal name="clicked" handler="on_help_clicked" last_modification_time="Tue, 02 Dec 2003 01:53:26 GMT"/>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="padding">0</property>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="pack_type">GTK_PACK_END</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkVBox" id="vbox1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="homogeneous">False</property>
|
|
||||||
<property name="spacing">0</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkTable" id="table3">
|
|
||||||
<property name="border_width">12</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="n_rows">6</property>
|
|
||||||
<property name="n_columns">3</property>
|
|
||||||
<property name="homogeneous">False</property>
|
|
||||||
<property name="row_spacing">6</property>
|
|
||||||
<property name="column_spacing">12</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="label9">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes"><b>Options</b></property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">True</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
|
||||||
<property name="wrap">False</property>
|
|
||||||
<property name="selectable">False</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="yalign">0.5</property>
|
|
||||||
<property name="xpad">0</property>
|
|
||||||
<property name="ypad">0</property>
|
|
||||||
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
|
||||||
<property name="width_chars">-1</property>
|
|
||||||
<property name="single_line_mode">False</property>
|
|
||||||
<property name="angle">0</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">0</property>
|
|
||||||
<property name="right_attach">3</property>
|
|
||||||
<property name="top_attach">0</property>
|
|
||||||
<property name="bottom_attach">1</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="label1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">_Filter:</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
|
||||||
<property name="wrap">False</property>
|
|
||||||
<property name="selectable">False</property>
|
|
||||||
<property name="xalign">0</property>
|
|
||||||
<property name="yalign">0.5</property>
|
|
||||||
<property name="xpad">0</property>
|
|
||||||
<property name="ypad">0</property>
|
|
||||||
<property name="mnemonic_widget">filter</property>
|
|
||||||
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
|
||||||
<property name="width_chars">-1</property>
|
|
||||||
<property name="single_line_mode">False</property>
|
|
||||||
<property name="angle">0</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">2</property>
|
|
||||||
<property name="top_attach">1</property>
|
|
||||||
<property name="bottom_attach">2</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkOptionMenu" id="filter">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="history">-1</property>
|
|
||||||
|
|
||||||
<child internal-child="menu">
|
|
||||||
<widget class="GtkMenu" id="convertwidget1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">2</property>
|
|
||||||
<property name="right_attach">3</property>
|
|
||||||
<property name="top_attach">1</property>
|
|
||||||
<property name="bottom_attach">2</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkCheckButton" id="private">
|
|
||||||
<property name="border_width">3</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label" translatable="yes">_Do not include records marked private</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="active">True</property>
|
|
||||||
<property name="inconsistent">False</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">3</property>
|
|
||||||
<property name="top_attach">2</property>
|
|
||||||
<property name="bottom_attach">3</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkCheckButton" id="restrict">
|
|
||||||
<property name="border_width">3</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label" translatable="yes">_Restrict data on living people</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="active">True</property>
|
|
||||||
<property name="inconsistent">False</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
<signal name="toggled" handler="on_restrict_toggled" last_modification_time="Tue, 22 Jul 2003 09:50:16 GMT"/>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">3</property>
|
|
||||||
<property name="top_attach">3</property>
|
|
||||||
<property name="bottom_attach">4</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkTable" id="table4">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="n_rows">3</property>
|
|
||||||
<property name="n_columns">2</property>
|
|
||||||
<property name="homogeneous">False</property>
|
|
||||||
<property name="row_spacing">6</property>
|
|
||||||
<property name="column_spacing">12</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkCheckButton" id="notes">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label" translatable="yes">Exclude _notes</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="active">True</property>
|
|
||||||
<property name="inconsistent">False</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">2</property>
|
|
||||||
<property name="top_attach">1</property>
|
|
||||||
<property name="bottom_attach">2</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkCheckButton" id="sources">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label" translatable="yes">Exclude sour_ces</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="active">True</property>
|
|
||||||
<property name="inconsistent">False</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">2</property>
|
|
||||||
<property name="top_attach">2</property>
|
|
||||||
<property name="bottom_attach">3</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkCheckButton" id="living">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label" translatable="yes">Use _Living as first name</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="active">True</property>
|
|
||||||
<property name="inconsistent">False</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">2</property>
|
|
||||||
<property name="top_attach">0</property>
|
|
||||||
<property name="bottom_attach">1</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
<property name="y_options"></property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkDrawingArea" id="drawingarea1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">0</property>
|
|
||||||
<property name="right_attach">1</property>
|
|
||||||
<property name="top_attach">0</property>
|
|
||||||
<property name="bottom_attach">1</property>
|
|
||||||
<property name="x_options">shrink|fill</property>
|
|
||||||
<property name="y_options">fill</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">3</property>
|
|
||||||
<property name="top_attach">4</property>
|
|
||||||
<property name="bottom_attach">5</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkHBox" id="hbox1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="homogeneous">False</property>
|
|
||||||
<property name="spacing">0</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkCheckButton" id="images">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="label" translatable="yes">R_eference images from path: </property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
|
||||||
<property name="focus_on_click">True</property>
|
|
||||||
<property name="active">False</property>
|
|
||||||
<property name="inconsistent">False</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="padding">0</property>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkEntry" id="images_path">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="editable">True</property>
|
|
||||||
<property name="visibility">True</property>
|
|
||||||
<property name="max_length">0</property>
|
|
||||||
<property name="text" translatable="yes">media</property>
|
|
||||||
<property name="has_frame">True</property>
|
|
||||||
<property name="invisible_char">*</property>
|
|
||||||
<property name="activates_default">False</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="padding">0</property>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="left_attach">1</property>
|
|
||||||
<property name="right_attach">3</property>
|
|
||||||
<property name="top_attach">5</property>
|
|
||||||
<property name="bottom_attach">6</property>
|
|
||||||
<property name="x_options">fill</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="padding">0</property>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
<property name="pack_type">GTK_PACK_END</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="padding">0</property>
|
|
||||||
<property name="expand">True</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
|
|
||||||
</glade-interface>
|
|
@ -49,6 +49,7 @@ gdir_PYTHON = \
|
|||||||
DisplayState.py\
|
DisplayState.py\
|
||||||
Errors.py\
|
Errors.py\
|
||||||
ExportAssistant.py\
|
ExportAssistant.py\
|
||||||
|
ExportOptions.py\
|
||||||
FontScale.py\
|
FontScale.py\
|
||||||
GrampsCfg.py\
|
GrampsCfg.py\
|
||||||
GrampsDisplay.py\
|
GrampsDisplay.py\
|
||||||
|
Loading…
Reference in New Issue
Block a user