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>
|
||||
* src/plugins/rel_de.py : nomeata, bug #1183
|
||||
|
||||
|
@ -20,6 +20,7 @@ src/DdTargets.py
|
||||
src/DisplayState.py
|
||||
src/Errors.py
|
||||
src/ExportAssistant.py
|
||||
src/ExportOptions.py
|
||||
src/FontScale.py
|
||||
src/GrampsCfg.py
|
||||
src/GrampsDisplay.py
|
||||
|
@ -199,7 +199,7 @@ class ExportAssistant(gtk.Assistant, ManagedWindow.ManagedWindow) :
|
||||
|
||||
self.append_page(page)
|
||||
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)
|
||||
|
||||
|
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
|
||||
|
||||
GLADEFILES = \
|
||||
gedcomimport.glade\
|
||||
gedcomexport.glade
|
||||
gedcomimport.glade
|
||||
|
||||
dist_pkgdata_DATA = $(GLADEFILES)
|
||||
|
||||
|
@ -946,7 +946,7 @@ class PrivateProxyDb:
|
||||
def get_researcher(self):
|
||||
"""returns the Researcher instance, providing information about
|
||||
the owner of the database"""
|
||||
raise NotImplementedError
|
||||
return self.db.get_researcher()
|
||||
|
||||
def set_default_person_handle(self, handle):
|
||||
"""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_name(repository.get_name())
|
||||
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())
|
||||
|
||||
copy_notes(db,repository,new_repository)
|
||||
copy_addresses(db,repository,new_repository)
|
||||
copy_urls(db,repository,new_repository)
|
||||
|
||||
return new_repository
|
||||
return new_repository
|
||||
|
@ -36,24 +36,17 @@ import string
|
||||
import logging
|
||||
log = logging.getLogger(".WriteGedcom")
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GNOME/GTK modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import gtk
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# GRAMPS modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import RelLib
|
||||
from Filters import GenericFilter, Rules, build_filter_menu
|
||||
import const
|
||||
import _GedcomInfo as GedcomInfo
|
||||
import Errors
|
||||
import Utils
|
||||
import ExportOptions
|
||||
from QuestionDialog import ErrorDialog, WarningDialog
|
||||
from BasicUtils import UpdateCallback, name_displayer
|
||||
|
||||
@ -159,7 +152,7 @@ quay_map = {
|
||||
RelLib.SourceRef.CONF_HIGH : 2,
|
||||
RelLib.SourceRef.CONF_LOW : 1,
|
||||
RelLib.SourceRef.CONF_VERY_LOW : 0,
|
||||
}
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
@ -244,97 +237,6 @@ def breakup(txt, limit):
|
||||
data.append(txt)
|
||||
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
|
||||
@ -393,11 +295,11 @@ class GedcomWriter(UpdateCallback):
|
||||
self.option_box.parse_options()
|
||||
|
||||
self.restrict = self.option_box.restrict
|
||||
self.living = self.option_box.living
|
||||
self.exclnotes = self.option_box.exclnotes
|
||||
self.exclsrcs = self.option_box.exclsrcs
|
||||
self.images = self.option_box.images
|
||||
self.images_path = self.option_box.images_path
|
||||
self.private = self.option_box.private
|
||||
|
||||
if self.private:
|
||||
import _PrivateProxyDb
|
||||
self.db = _PrivateProxyDb.PrivateProxyDb(self.db)
|
||||
|
||||
if self.option_box.cfilter == None:
|
||||
self.plist = set(self.db.get_person_handles(sort_handles=False))
|
||||
@ -414,7 +316,7 @@ class GedcomWriter(UpdateCallback):
|
||||
def cli_setup(self):
|
||||
# use default settings
|
||||
self.restrict = 0
|
||||
self.images = 0
|
||||
self.private = 0
|
||||
|
||||
self.plist = set(self.db.get_person_handles(sort_handles=False))
|
||||
|
||||
@ -555,7 +457,11 @@ class GedcomWriter(UpdateCallback):
|
||||
sorted.sort()
|
||||
|
||||
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()
|
||||
|
||||
def __write_person(self, person):
|
||||
@ -767,9 +673,8 @@ class GedcomWriter(UpdateCallback):
|
||||
self.__write_source_references(addr.get_source_references(), 2)
|
||||
|
||||
def __write_photos(self, media_list, level):
|
||||
if self.images:
|
||||
for photo in media_list:
|
||||
self.__write_photo(photo, level)
|
||||
for photo in media_list:
|
||||
self.__write_photo(photo, level)
|
||||
|
||||
def __write_child_families(self, person):
|
||||
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_source_references(event.get_source_references(), 2)
|
||||
|
||||
if self.images:
|
||||
self.__write_photos(event.get_media_list(), 2)
|
||||
if place:
|
||||
self.__write_photos(place.get_media_list(), 2)
|
||||
self.__write_photos(event.get_media_list(), 2)
|
||||
if place:
|
||||
self.__write_photos(place.get_media_list(), 2)
|
||||
|
||||
def write_ord(self, ord, index):
|
||||
self.__writeln(index, lds_ord_name[ord.get_type()])
|
||||
@ -1250,31 +1154,14 @@ class GedcomWriter(UpdateCallback):
|
||||
mime = photo_obj.get_mime_type()
|
||||
form = mime2ged.get(mime, mime)
|
||||
path = photo_obj.get_path()
|
||||
imgdir = os.path.join(self.dirname, self.images_path)
|
||||
imgdir = path
|
||||
if not os.path.isfile(path):
|
||||
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')
|
||||
if form:
|
||||
self.__writeln(level+1, 'FORM', form)
|
||||
self.__writeln(level+1, 'TITL', photo_obj.get_description())
|
||||
basename = os.path.basename (path)
|
||||
self.__writeln(level+1, 'FILE', os.path.join(self.images_path, basename))
|
||||
self.__writeln(level+1, 'FILE', path)
|
||||
|
||||
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')
|
||||
_description = _('GEDCOM is used to transfer data between genealogy programs. '
|
||||
'Most genealogy software will accept a GEDCOM file as input. ')
|
||||
_config = (_('GEDCOM export options'), GedcomWriterOptionBox)
|
||||
_config = (_('GEDCOM export options'), ExportOptions.WriterOptionBox)
|
||||
_filename = 'ged'
|
||||
|
||||
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\
|
||||
Errors.py\
|
||||
ExportAssistant.py\
|
||||
ExportOptions.py\
|
||||
FontScale.py\
|
||||
GrampsCfg.py\
|
||||
GrampsDisplay.py\
|
||||
|
Loading…
Reference in New Issue
Block a user