Updated dialogs
svn: r1314
This commit is contained in:
parent
7778b0c754
commit
0f616d0b90
6
NEWS
6
NEWS
@ -1,3 +1,9 @@
|
||||
Version 0.9.1
|
||||
* Custom paper sizes may be set for reports
|
||||
* Witnesses may be added to an event. The witnesses do not have to be in
|
||||
the database, in which case only a string for a name is kept.
|
||||
* Improved Dialogs to be compliant with GNOME Human Interface Guidelines.
|
||||
|
||||
Version 0.9.0
|
||||
* GNOME 2.0 support. Requires pygtk2 and gnome-python2.
|
||||
* The single person list has been replaced with a tabbed person list, sort on
|
||||
|
Binary file not shown.
@ -100,8 +100,9 @@ class AddMediaObject:
|
||||
external = self.glade.get_widget("private")
|
||||
|
||||
if os.path.exists(filename) == 0:
|
||||
msgstr = _("%s is not a valid file name or does not exist.")
|
||||
ErrorDialog(msgstr % filename)
|
||||
msgstr = _("Cannot import %s")
|
||||
msgstr2 = _("The filename supplied could not be found.")
|
||||
ErrorDialog(msgstr % filename, msgstr2)
|
||||
return
|
||||
|
||||
type = Utils.get_mime_type(filename)
|
||||
|
@ -114,8 +114,8 @@ class Bookmarks :
|
||||
up.connect('clicked', self.up_clicked)
|
||||
down.connect('clicked',self.down_clicked)
|
||||
delete.connect('clicked',self.delete_clicked)
|
||||
self.top.add_button(gtk.STOCK_OK,0)
|
||||
self.top.add_button(gtk.STOCK_CANCEL,1)
|
||||
self.top.add_button(gtk.STOCK_OK,0)
|
||||
bbox.add(up)
|
||||
bbox.add(down)
|
||||
bbox.add(delete)
|
||||
|
@ -51,7 +51,7 @@ import AutoComp
|
||||
import ListModel
|
||||
import RelLib
|
||||
from DateEdit import DateEdit
|
||||
from QuestionDialog import QuestionDialog, WarningDialog, ErrorDialog
|
||||
from QuestionDialog import QuestionDialog, WarningDialog, ErrorDialog, SaveDialog
|
||||
|
||||
from intl import gettext as _
|
||||
|
||||
@ -799,20 +799,28 @@ class EditPerson:
|
||||
"""If the data has changed, give the user a chance to cancel
|
||||
the close window"""
|
||||
if self.did_data_change():
|
||||
QuestionDialog(_('Abandon Changes'),
|
||||
_("Are you sure you want to abandon your changes?"),
|
||||
self.cancel_callback)
|
||||
n = "<i>%s</i>" % self.person.getPrimaryName().getRegularName()
|
||||
SaveDialog(_('Save Changes to %s?' % n),
|
||||
_('If you close without saving, the changes you '
|
||||
'have made will be lost'),
|
||||
self.cancel_callback,
|
||||
self.save)
|
||||
else:
|
||||
self.gallery.close()
|
||||
self.window.destroy()
|
||||
|
||||
def save(self):
|
||||
self.on_apply_person_clicked(None)
|
||||
|
||||
def on_delete_event(self,obj,b):
|
||||
"""If the data has changed, give the user a chance to cancel
|
||||
the close window"""
|
||||
if self.did_data_change():
|
||||
QuestionDialog(_('Abandon Changes'),
|
||||
_("Are you sure you want to abandon your changes?"),
|
||||
self.cancel_callback)
|
||||
SaveDialog(_('Save Changes to %s?' % n),
|
||||
_('If you close without saving, the changes you '
|
||||
'have made will be lost'),
|
||||
self.cancel_callback,
|
||||
self.save)
|
||||
return 1
|
||||
else:
|
||||
self.gallery.close()
|
||||
@ -1306,6 +1314,7 @@ class EditPerson:
|
||||
Utils.modified()
|
||||
|
||||
if error == 1:
|
||||
msg2 = _("Problem changing the gender")
|
||||
msg = _("Changing the gender caused problems "
|
||||
"with marriage information.\nPlease check "
|
||||
"the person's marriages.")
|
||||
|
@ -35,6 +35,7 @@ import const
|
||||
import Utils
|
||||
import GrampsCfg
|
||||
import ImageSelect
|
||||
import ListModel
|
||||
|
||||
from intl import gettext as _
|
||||
|
||||
@ -150,31 +151,35 @@ class EditSource:
|
||||
f_attr_list.append((name,v.getType()))
|
||||
|
||||
slist = self.top_window.get_widget('slist')
|
||||
|
||||
titles = [(_('Source Type'),0,150),(_('Object'),1,150),(_('Value'),2,150)]
|
||||
|
||||
self.model = ListModel.ListModel(slist,titles)
|
||||
if len(p_event_list) > 0:
|
||||
for p in p_event_list:
|
||||
slist.append([_("Individual Events"),p[0],
|
||||
const.display_pevent(p[1])])
|
||||
self.model.add([_("Individual Events"),p[0],
|
||||
const.display_pevent(p[1])])
|
||||
if len(p_attr_list) > 0:
|
||||
for p in p_attr_list:
|
||||
slist.append([_("Individual Attributes"),p[0],
|
||||
const.display_pattr(p[1])])
|
||||
self.model.add([_("Individual Attributes"),p[0],
|
||||
const.display_pattr(p[1])])
|
||||
if len(p_name_list) > 0:
|
||||
for p in p_name_list:
|
||||
slist.append([_("Individual Names"),p[0],p[1]])
|
||||
self.model.add([_("Individual Names"),p[0],p[1]])
|
||||
if len(f_event_list) > 0:
|
||||
for p in f_event_list:
|
||||
slist.append([_("Family Events"),p[0],
|
||||
const.display_fevent(p[1])])
|
||||
self.model.add([_("Family Events"),p[0],
|
||||
const.display_fevent(p[1])])
|
||||
if len(f_attr_list) > 0:
|
||||
for p in f_event_list:
|
||||
slist.append([_("Family Attributes"),p[0],
|
||||
const.display_fattr(p[1])])
|
||||
self.model.add([_("Family Attributes"),p[0],
|
||||
const.display_fattr(p[1])])
|
||||
if len(m_list) > 0:
|
||||
for p in m_list:
|
||||
slist.append([_("Media Objects"),p,''])
|
||||
self.model.add([_("Media Objects"),p,''])
|
||||
if len(p_list) > 0:
|
||||
for p in p_list:
|
||||
slist.append([_("Places"),p,''])
|
||||
self.model.add([_("Places"),p,''])
|
||||
|
||||
def on_source_apply_clicked(self,obj):
|
||||
|
||||
|
@ -34,6 +34,7 @@ import gtk.glade
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import Sources
|
||||
import Witness
|
||||
import const
|
||||
import Utils
|
||||
import GrampsCfg
|
||||
@ -66,9 +67,13 @@ class EventEditor:
|
||||
|
||||
if event:
|
||||
self.srcreflist = self.event.getSourceRefList()
|
||||
self.witnesslist = self.event.get_witness_list()
|
||||
if not self.witnesslist:
|
||||
self.witnesslist = []
|
||||
self.date = Date.Date(self.event.getDateObj())
|
||||
else:
|
||||
self.srcreflist = []
|
||||
self.witnesslist = []
|
||||
self.date = Date.Date(None)
|
||||
|
||||
self.top = gtk.glade.XML(const.dialogFile, "event_edit")
|
||||
@ -77,6 +82,7 @@ class EventEditor:
|
||||
self.place_field = self.top.get_widget("eventPlace")
|
||||
self.cause_field = self.top.get_widget("eventCause")
|
||||
self.slist = self.top.get_widget("slist")
|
||||
self.wlist = self.top.get_widget("wlist")
|
||||
self.place_combo = self.top.get_widget("eventPlace_combo")
|
||||
self.date_field = self.top.get_widget("eventDate")
|
||||
self.cause_field = self.top.get_widget("eventCause")
|
||||
@ -101,6 +107,11 @@ class EventEditor:
|
||||
self.top.get_widget('add_src'),
|
||||
self.top.get_widget('del_src'))
|
||||
|
||||
self.witnesstab = Witness.WitnessTab(self.witnesslist,self.parent,
|
||||
self.top,self.wlist,
|
||||
self.top.get_widget('add_witness'),
|
||||
self.top.get_widget('del_witness'))
|
||||
|
||||
AutoComp.AutoCombo(self.event_menu,list)
|
||||
AutoComp.AutoEntry(self.place_field,self.pmap.keys())
|
||||
|
||||
@ -192,6 +203,7 @@ class EventEditor:
|
||||
if self.event == None:
|
||||
self.event = RelLib.Event()
|
||||
self.event.setSourceRefList(self.srcreflist)
|
||||
self.event.set_witness_list(self.witnesslist)
|
||||
self.parent.elist.append(self.event)
|
||||
|
||||
self.update_event(ename,self.date,eplace_obj,edesc,enote,epriv,ecause)
|
||||
@ -219,6 +231,7 @@ class EventEditor:
|
||||
dobj = self.event.getDateObj()
|
||||
|
||||
self.event.setSourceRefList(self.srcreflist)
|
||||
self.event.set_witness_list(self.witnesslist)
|
||||
|
||||
if Date.compare_dates(dobj,date) != 0:
|
||||
self.event.setDateObj(date)
|
||||
|
@ -66,7 +66,12 @@ class FamilyView:
|
||||
def __init__(self,parent):
|
||||
self.parent = parent
|
||||
self.top = parent.gtop
|
||||
self.ap_data = self.top.get_widget('ap_data').get_buffer()
|
||||
self.ap_data = self.top.get_widget('ap_data')
|
||||
self.ap_model = gtk.ListStore(gobject.TYPE_STRING)
|
||||
self.ap_data.set_model(self.ap_model)
|
||||
column = gtk.TreeViewColumn('',gtk.CellRendererText(),text=0)
|
||||
self.ap_data.append_column(column)
|
||||
self.ap_data.connect('button-press-event',self.edit_active_person)
|
||||
|
||||
self.swap_btn = self.top.get_widget('swap_spouse_btn')
|
||||
self.add_spouse_btn = self.top.get_widget('add_spouse')
|
||||
@ -142,6 +147,10 @@ class FamilyView:
|
||||
(_('Gender'),100,-1), (_('Birth Date'),150,-1),
|
||||
(_('Status'),150,-1), ('',0,-1) ])
|
||||
|
||||
def edit_active_person(self,obj,event):
|
||||
if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
|
||||
self.parent.load_person(self.person)
|
||||
|
||||
def on_child_list_button_press(self,obj,event):
|
||||
if event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1:
|
||||
model, iter = self.child_selection.get_selected()
|
||||
@ -217,9 +226,13 @@ class FamilyView:
|
||||
|
||||
def remove_spouse(self,obj):
|
||||
if self.selected_spouse:
|
||||
name = GrampsCfg.nameof(self.selected_spouse)
|
||||
QuestionDialog(_('Delete Spouse'),
|
||||
_('Do you wish to remove %s as a spouse?') % name,
|
||||
nap = GrampsCfg.nameof(self.person)
|
||||
nsp = GrampsCfg.nameof(self.selected_spouse)
|
||||
QuestionDialog(_('Remove %s as a spouse of %s?') % (nsp,nap),
|
||||
_('Removing a spouse removes the relationship betwen '
|
||||
'the spouse and the active person. It does not '
|
||||
'remove the spouse from the database'),
|
||||
_('Remove Spouse'),
|
||||
self.really_remove_spouse)
|
||||
elif self.family and not self.family.getChildList():
|
||||
self.really_remove_spouse()
|
||||
@ -288,7 +301,7 @@ class FamilyView:
|
||||
self.child_model.clear()
|
||||
self.sp_parents_model.clear()
|
||||
self.ap_parents_model.clear()
|
||||
self.ap_data.set_text('')
|
||||
self.ap_model.clear()
|
||||
|
||||
def load_family(self,family=None):
|
||||
self.person = self.parent.active_person
|
||||
@ -300,10 +313,10 @@ class FamilyView:
|
||||
self.person.getBirth().getDate(),
|
||||
self.person.getDeath().getDate())
|
||||
|
||||
try:
|
||||
self.ap_data.set_text(n,len(n))
|
||||
except TypeError:
|
||||
self.ap_data.set_text(n)
|
||||
self.ap_model.clear()
|
||||
self.ap_data.get_selection().set_mode(gtk.SELECTION_NONE)
|
||||
iter = self.ap_model.append()
|
||||
self.ap_model.set(iter,0,n)
|
||||
|
||||
self.selected_spouse = None
|
||||
self.spouse_model.clear()
|
||||
@ -462,8 +475,13 @@ class FamilyView:
|
||||
def del_parents_clicked(self,obj):
|
||||
if len(self.person.getParentList()) == 0:
|
||||
return
|
||||
QuestionDialog(_('Delete Parents'),
|
||||
_('Do you wish to remove the selected parents?'),
|
||||
n = GrampsCfg.nameof(self.person)
|
||||
QuestionDialog(_('Remove Parents of %s') % n,
|
||||
_('Removing the parents of a person removes the person as a '
|
||||
'child of the parents. The parents are not removed from the '
|
||||
'database, and the relationship between the parents '
|
||||
'is not removed.'),
|
||||
_('Remove Parents'),
|
||||
self.really_del_parents)
|
||||
|
||||
def really_del_parents(self):
|
||||
@ -472,8 +490,12 @@ class FamilyView:
|
||||
def del_sp_parents(self,obj):
|
||||
if not self.selected_spouse or len(self.selected_spouse.getParentList()) == 0:
|
||||
return
|
||||
QuestionDialog(_('Delete Parents'),
|
||||
_('Do you wish to remove the selected parents?'),
|
||||
QuestionDialog(_('Remove Parents of %s') % n,
|
||||
_('Removing the parents of a person removes the person as a '
|
||||
'child of the parents. The parents are not removed from the '
|
||||
'database, and the relationship between the parents '
|
||||
'is not removed.'),
|
||||
_('Remove Parents'),
|
||||
self.really_del_sp_parents)
|
||||
|
||||
def really_del_sp_parents(self):
|
||||
|
@ -174,6 +174,12 @@ class GrampsParser:
|
||||
else:
|
||||
self.placeobj.set_main_location(loc)
|
||||
self.locations = self.locations + 1
|
||||
|
||||
def start_witness(self,attrs):
|
||||
if attrs.has_key('ref'):
|
||||
self.witness = RelLib.Witness(RelLib.Event.ID,attrs['ref'])
|
||||
if attrs.has_key('name'):
|
||||
self.witness = RelLib.Witness(RelLib.Event.NAME,attrs['name'])
|
||||
|
||||
def start_coord(self,attrs):
|
||||
if attrs.has_key('lat'):
|
||||
@ -484,6 +490,10 @@ class GrampsParser:
|
||||
def stop_attribute(self,tag):
|
||||
self.attribute = None
|
||||
|
||||
def stop_witness(self,tag):
|
||||
self.witness.set_comment(tag)
|
||||
self.event.add_witness(self.witness)
|
||||
|
||||
def stop_attr_type(self,tag):
|
||||
self.attribute.setType(tag)
|
||||
|
||||
@ -740,6 +750,7 @@ class GrampsParser:
|
||||
"attr_type" : (None,stop_attr_type),
|
||||
"attr_value" : (None,stop_attr_value),
|
||||
"bookmark" : (start_bmark, None),
|
||||
"witness" : (start_witness,stop_witness),
|
||||
"bookmarks" : (None, None),
|
||||
"child" : (start_child,None),
|
||||
"childof" : (start_childof,None),
|
||||
|
@ -24,7 +24,7 @@ from ZODB.dbmStorage import gdbmStorage
|
||||
from ZODB.DB import DB
|
||||
from BTrees.OOBTree import OOBTree
|
||||
from UserDict import UserDict
|
||||
from RelLib import GrampsDB, Person
|
||||
import RelLib
|
||||
import const
|
||||
|
||||
class PersistentReference(Persistent):
|
||||
@ -93,7 +93,7 @@ class PersonWrapper:
|
||||
self._notifyChange()
|
||||
|
||||
|
||||
for key, value in Person.__dict__.items():
|
||||
for key, value in RelLib.Person.__dict__.items():
|
||||
if not key.startswith('_'):
|
||||
code = ("def %s(self, *args, **kw): "
|
||||
"return apply(self._real.%s, args, kw)") % (key, key)
|
||||
@ -122,11 +122,11 @@ class PersonMap(Persistent, UserDict):
|
||||
# This probably shouldn't be called anyway.
|
||||
raise NotImplementedError
|
||||
|
||||
class GrampsZODB(GrampsDB):
|
||||
class GrampsZODB(RelLib.GrampsDB):
|
||||
|
||||
def __init__(self):
|
||||
self.conn = None
|
||||
GrampsDB.__init__(self)
|
||||
RelLib.GrampsDB.__init__(self)
|
||||
|
||||
def get_type(self):
|
||||
return 'GrampsZODB'
|
||||
@ -141,7 +141,7 @@ class GrampsZODB(GrampsDB):
|
||||
return 0
|
||||
|
||||
def new(self):
|
||||
GrampsDB.new(self)
|
||||
RelLib.GrampsDB.new(self)
|
||||
self.familyMap = OOBTree()
|
||||
self.personMap = PersonMap()
|
||||
self.sourceMap = OOBTree()
|
||||
@ -234,7 +234,7 @@ class GrampsZODB(GrampsDB):
|
||||
|
||||
def setDefaultPerson(self,person):
|
||||
"""sets the default Person to the passed instance"""
|
||||
GrampsDB.setDefaultPerson(self,person)
|
||||
RelLib.GrampsDB.setDefaultPerson(self,person)
|
||||
self.root['default'] = person
|
||||
|
||||
|
||||
|
@ -140,7 +140,9 @@ class ImageSelect:
|
||||
description = self.description.get_text()
|
||||
|
||||
if os.path.exists(filename) == 0:
|
||||
ErrorDialog(_("That is not a valid file name."));
|
||||
msgstr = _("Cannot import %s")
|
||||
msgstr2 = _("The filename supplied could not be found.")
|
||||
ErrorDialog(msgstr,msgstr2)
|
||||
return
|
||||
|
||||
already_imported = None
|
||||
@ -432,8 +434,7 @@ class Gallery(ImageSelect):
|
||||
tfile,headers = u.retrieve(d)
|
||||
except IOError, msg:
|
||||
t = _("Could not import %s") % d
|
||||
|
||||
ErrorDialog("%s\n%s %d" % (t,msg[0],msg[1]))
|
||||
ErrorDialog(t,str(msg))
|
||||
return
|
||||
mime = Utils.get_mime_type(tfile)
|
||||
photo = RelLib.Photo()
|
||||
|
@ -21,6 +21,11 @@
|
||||
from gobject import TYPE_STRING, TYPE_PYOBJECT
|
||||
import gtk
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# ListModel
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
class ListModel:
|
||||
def __init__(self,tree,dlist,select_func=None,event_func=None,mode=gtk.SELECTION_SINGLE):
|
||||
self.tree = tree
|
||||
|
@ -396,10 +396,12 @@ class Marriage:
|
||||
if self.did_data_change():
|
||||
global quit
|
||||
self.quit = obj
|
||||
QuestionDialog(_('Abandon Changes'),
|
||||
_("Data was modified. Are you sure you "
|
||||
"want to abandon your changes?"),
|
||||
self.cancel_callback)
|
||||
|
||||
SaveDialog(_('Save Changes?' % n),
|
||||
_('If you close without saving, the changes you '
|
||||
'have made will be lost'),
|
||||
self.cancel_callback,
|
||||
self.save)
|
||||
else:
|
||||
Utils.destroy_passed_object(obj)
|
||||
|
||||
@ -407,6 +409,9 @@ class Marriage:
|
||||
self.on_cancel_edit(obj)
|
||||
|
||||
def on_close_marriage_editor(self,obj):
|
||||
self.save()
|
||||
|
||||
def save(self):
|
||||
idval = self.gid.get_text()
|
||||
family = self.family
|
||||
if idval != family.getId():
|
||||
|
@ -255,9 +255,12 @@ class MediaView:
|
||||
mobj = self.db.getObject(id)
|
||||
if self.is_object_used(mobj):
|
||||
ans = ImageSelect.DeleteMediaQuery(mobj,self.db,self.update)
|
||||
QuestionDialog(_('Delete Object'),
|
||||
_("This media object is currently being used. "
|
||||
"Delete anyway?"),
|
||||
QuestionDialog(_('Delete Media Object?'),
|
||||
_('This media object is currently being used. '
|
||||
'If you delete this object, it will be removed '
|
||||
'from the database and from all records that '
|
||||
'reference it.'),
|
||||
_('Delete Media Object?'),
|
||||
ans.query_response)
|
||||
else:
|
||||
self.db.removeObject(mobj.getId())
|
||||
@ -326,9 +329,7 @@ class MediaView:
|
||||
try:
|
||||
tfile,headers = u.retrieve(d)
|
||||
except IOError, msg:
|
||||
t = _("Could not import %s") % d
|
||||
|
||||
ErrorDialog("%s\n%s %d" % (t,msg[0],msg[1]))
|
||||
ErrorDialog(t,str(msg))
|
||||
return
|
||||
mime = Utils.get_mime_type(tfile)
|
||||
photo = RelLib.Photo()
|
||||
|
@ -123,6 +123,7 @@ try:
|
||||
parser = make_parser()
|
||||
parser.setContentHandler(PageSizeParser(paper_sizes))
|
||||
parser.parse(const.papersize)
|
||||
paper_sizes.append(TextDoc.PaperStyle(_("Custom Size"),-1,-1))
|
||||
except (IOError,OSError,SAXParseException):
|
||||
paper_sizes = [
|
||||
TextDoc.PaperStyle("Letter",27.94,21.59),
|
||||
@ -133,5 +134,7 @@ except (IOError,OSError,SAXParseException):
|
||||
TextDoc.PaperStyle("B6",17.6,12.5),
|
||||
TextDoc.PaperStyle("C4",32.4,22.9),
|
||||
TextDoc.PaperStyle("C5",22.9,16.2),
|
||||
TextDoc.PaperStyle("C6",16.2,11.4)
|
||||
TextDoc.PaperStyle("C6",16.2,11.4),
|
||||
TextDoc.PaperStyle(_("Custom Size"),-1,-1)
|
||||
]
|
||||
|
||||
|
@ -132,8 +132,9 @@ class PlaceView:
|
||||
self.selection.selected_foreach(self.blist,mlist)
|
||||
|
||||
if len(mlist) != 2:
|
||||
msg = _("Exactly two places must be selected to perform a merge")
|
||||
ErrorDialog(msg)
|
||||
msg = _("Cannot merge people.")
|
||||
msg2 = _("Exactly two people must be selected to perform a merge.")
|
||||
ErrorDialog(msg,msg2)
|
||||
else:
|
||||
import MergeData
|
||||
MergeData.MergePlaces(self.db,mlist[0],mlist[1],self.load_places)
|
||||
@ -187,8 +188,12 @@ class PlaceView:
|
||||
|
||||
if used == 1:
|
||||
ans = EditPlace.DeletePlaceQuery(place,self.db,self.update_display)
|
||||
QuestionDialog(_('Delete Place'),
|
||||
_("%s is currently being used.\nDelete anyway?" % place.get_title()),
|
||||
QuestionDialog(_('Delete %s') % place.get_title(),
|
||||
_('This place is currently being used at least one '
|
||||
'record in the database. Deleting it will remove it '
|
||||
'from the database and remove it from all records '
|
||||
'the reference it.'),
|
||||
_('Delete Place'),
|
||||
ans.query_response)
|
||||
else:
|
||||
self.db.removePlace(place.getId())
|
||||
|
@ -19,65 +19,86 @@
|
||||
#
|
||||
|
||||
import gtk
|
||||
import gtk.glade
|
||||
import const
|
||||
|
||||
from intl import gettext as _
|
||||
|
||||
class QuestionDialog:
|
||||
def __init__(self,title,msg,task1,task2=None):
|
||||
title = '%s - GRAMPS' % title
|
||||
|
||||
self.top = gtk.Dialog()
|
||||
self.top.set_title(title)
|
||||
label = gtk.Label(msg)
|
||||
label.show()
|
||||
hbox = gtk.HBox()
|
||||
image = gtk.Image()
|
||||
image.set_from_stock(gtk.STOCK_DIALOG_QUESTION,gtk.ICON_SIZE_DIALOG)
|
||||
hbox.set_spacing(10)
|
||||
hbox.pack_start(image)
|
||||
hbox.add(label)
|
||||
self.top.vbox.pack_start(hbox)
|
||||
self.top.set_default_size(300,150)
|
||||
self.task2 = task2
|
||||
class SaveDialog:
|
||||
def __init__(self,msg1,msg2,task1,task2):
|
||||
self.xml = gtk.glade.XML(const.errdialogsFile,"savedialog")
|
||||
self.top = self.xml.get_widget('savedialog')
|
||||
self.task1 = task1
|
||||
self.top.add_button(gtk.STOCK_YES,0)
|
||||
self.top.add_button(gtk.STOCK_NO,1)
|
||||
self.top.set_response_sensitive(1,gtk.TRUE)
|
||||
self.top.set_response_sensitive(0,gtk.TRUE)
|
||||
self.top.show_all()
|
||||
if self.top.run():
|
||||
self.my_task2()
|
||||
else:
|
||||
self.my_task1()
|
||||
self.task2 = task2
|
||||
|
||||
label1 = self.xml.get_widget('label1')
|
||||
label1.set_text('<span weight="bold" size="larger">%s</span>' % msg1)
|
||||
label1.set_use_markup(gtk.TRUE)
|
||||
|
||||
label2 = self.xml.get_widget('label2')
|
||||
label2.set_text(msg2)
|
||||
label2.set_use_markup(gtk.TRUE)
|
||||
|
||||
def my_task1(self):
|
||||
if self.task1:
|
||||
response = self.top.run()
|
||||
if response == gtk.RESPONSE_NO:
|
||||
self.task1()
|
||||
self.top.destroy()
|
||||
|
||||
def my_task2(self):
|
||||
if self.task2:
|
||||
elif response == gtk.RESPONSE_YES:
|
||||
self.task2()
|
||||
self.top.destroy()
|
||||
|
||||
class ErrorDialog:
|
||||
def __init__(self,msg):
|
||||
title = '%s - GRAMPS' % _('Error')
|
||||
class QuestionDialog:
|
||||
def __init__(self,msg1,msg2,label,task):
|
||||
self.xml = gtk.glade.XML(const.errdialogsFile,"questiondialog")
|
||||
self.top = self.xml.get_widget('questiondialog')
|
||||
self.top.set_title('')
|
||||
|
||||
label1 = self.xml.get_widget('label1')
|
||||
label1.set_text('<span weight="bold" size="larger">%s</span>' % msg1)
|
||||
label1.set_use_markup(gtk.TRUE)
|
||||
|
||||
self.top = gtk.Dialog()
|
||||
self.top.set_title(title)
|
||||
label = gtk.Label(msg)
|
||||
label.show()
|
||||
hbox = gtk.HBox()
|
||||
image = gtk.Image()
|
||||
image.set_from_stock(gtk.STOCK_DIALOG_ERROR,gtk.ICON_SIZE_DIALOG)
|
||||
hbox.set_spacing(10)
|
||||
hbox.pack_start(image)
|
||||
hbox.add(label)
|
||||
self.top.vbox.pack_start(hbox)
|
||||
self.top.set_default_size(300,150)
|
||||
self.top.add_button(gtk.STOCK_OK,0)
|
||||
self.top.set_response_sensitive(0,gtk.TRUE)
|
||||
self.top.show_all()
|
||||
label2 = self.xml.get_widget('label2')
|
||||
label2.set_text(msg2)
|
||||
label2.set_use_markup(gtk.TRUE)
|
||||
|
||||
self.xml.get_widget('okbutton').set_label(label)
|
||||
|
||||
response = self.top.run()
|
||||
if response == gtk.RESPONSE_ACCEPT:
|
||||
task()
|
||||
self.top.destroy()
|
||||
|
||||
class OptionDialog:
|
||||
def __init__(self,msg1,msg2,label1,task1,label2,task2):
|
||||
self.xml = gtk.glade.XML(const.errdialogsFile,"optiondialog")
|
||||
self.top = self.xml.get_widget('optiondialog')
|
||||
self.top.set_title('')
|
||||
|
||||
label1 = self.xml.get_widget('label1')
|
||||
label1.set_text('<span weight="bold" size="larger">%s</span>' % msg1)
|
||||
label1.set_use_markup(gtk.TRUE)
|
||||
|
||||
label2 = self.xml.get_widget('label2')
|
||||
label2.set_text(msg2)
|
||||
label2.set_use_markup(gtk.TRUE)
|
||||
|
||||
response = self.top.run()
|
||||
if response == gtk.RESPONSE_NO:
|
||||
task1()
|
||||
else:
|
||||
task2()
|
||||
self.top.destroy()
|
||||
|
||||
class ErrorDialog:
|
||||
def __init__(self,msg1,msg2=""):
|
||||
|
||||
self.xml = gtk.glade.XML(const.errdialogsFile,"errdialog")
|
||||
self.top = self.xml.get_widget('errdialog')
|
||||
|
||||
label1 = self.xml.get_widget('label1')
|
||||
label2 = self.xml.get_widget('label2')
|
||||
label1.set_text('<span weight="bold" size="larger">%s</span>' % msg1)
|
||||
label1.set_use_markup(gtk.TRUE)
|
||||
label2.set_text(msg2)
|
||||
self.top.run()
|
||||
self.top.destroy()
|
||||
|
||||
|
@ -81,22 +81,22 @@ def importData(database, filename, callback):
|
||||
else:
|
||||
xml_file = open(filename,"r")
|
||||
except IOError,msg:
|
||||
ErrorDialog(_("%s could not be opened\n") % filename + str(msg))
|
||||
ErrorDialog(_("%s could not be opened") % filename,str(msg))
|
||||
return 0
|
||||
except:
|
||||
ErrorDialog(_("%s could not be opened\n") % filename)
|
||||
ErrorDialog(_("%s could not be opened") % filename)
|
||||
return 0
|
||||
|
||||
try:
|
||||
parser.parse(xml_file)
|
||||
except IOError,msg:
|
||||
ErrorDialog(_("Error reading %s") % filename + "\n" + str(msg))
|
||||
ErrorDialog(_("Error reading %s") % filename,str(msg))
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return 0
|
||||
except ExpatError, msg:
|
||||
ErrorDialog(_("Error reading %s") % filename + "\n" + \
|
||||
_("The file is probably either corrupt or not a valid GRAMPS database.") + "\n" + str(msg))
|
||||
ErrorDialog(_("Error reading %s") % filename,
|
||||
_("The file is probably either corrupt or not a valid GRAMPS database."))
|
||||
return 0
|
||||
except ValueError, msg:
|
||||
if str(msg)[0:16] == "Incorrect length":
|
||||
@ -150,18 +150,17 @@ def loadData(database, filename, callback=None):
|
||||
else:
|
||||
xml_file = open(filename,"r")
|
||||
except IOError,msg:
|
||||
filemsg = _("%s could not be opened\n") % filename
|
||||
ErrorDialog(filemsg + str(msg))
|
||||
filemsg = _("%s could not be opened.") % filename
|
||||
ErrorDialog(filemsg,str(msg))
|
||||
return 0
|
||||
except:
|
||||
ErrorDialog(_("%s could not be opened\n") % filename)
|
||||
ErrorDialog(_("%s could not be opened.") % filename)
|
||||
return 0
|
||||
|
||||
try:
|
||||
parser.parse(xml_file)
|
||||
except IOError,msg:
|
||||
errmsg = "%s\n%s" % (_("Error reading %s") % filename,str(msg))
|
||||
ErrorDialog(errmsg)
|
||||
ErrorDialog(_("Error reading %s") % filename, str(msg))
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return 0
|
||||
@ -194,8 +193,7 @@ def loadRevision(database, file, filename, revision, callback=None):
|
||||
try:
|
||||
parser.parse(file)
|
||||
except IOError,msg:
|
||||
errmsg = "%s\n%s" % (_("Error reading %s") % filename, str(msg))
|
||||
ErrorDialog(errmsg)
|
||||
ErrorDialog(_("Error reading %s") % filename,str(msg))
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return 0
|
||||
|
@ -53,7 +53,8 @@ def import_media_object(filename,path,base):
|
||||
import shutil
|
||||
|
||||
if not os.path.exists(filename):
|
||||
ErrorDialog(_("Could not import %s\nThe file has been moved or deleted") % filename)
|
||||
ErrorDialog(_("Could not import %s") % filename,
|
||||
_("The file has been moved or deleted"))
|
||||
return ""
|
||||
|
||||
ext = os.path.splitext(filename)[1]
|
||||
@ -67,7 +68,7 @@ def import_media_object(filename,path,base):
|
||||
if not os.path.exists(thumb):
|
||||
os.mkdir(thumb)
|
||||
except IOError,msg:
|
||||
ErrorDialog(_("Could not create %s") % thumb + "\n" + str(msg))
|
||||
ErrorDialog(_("Could not create %s") % thumb,str(msg))
|
||||
return ""
|
||||
except:
|
||||
ErrorDialog(_("Could not create %s") % thumb)
|
||||
@ -77,13 +78,13 @@ def import_media_object(filename,path,base):
|
||||
path = "%s/%s.jpg" % (thumb,base)
|
||||
mk_thumb(filename,path,const.thumbScale)
|
||||
except:
|
||||
ErrorDialog(_("Error creating the thumbnail : %s"))
|
||||
ErrorDialog(_("Error creating the thumbnail: %s"))
|
||||
return ""
|
||||
|
||||
try:
|
||||
shutil.copy(filename,name)
|
||||
except IOError,msg:
|
||||
ErrorDialog(_("Error copying %s") % filename + "\n" + msg)
|
||||
ErrorDialog(_("Error copying %s") % filename,str(msg))
|
||||
return ""
|
||||
|
||||
else:
|
||||
@ -131,7 +132,7 @@ def mk_thumb(source,dest,size):
|
||||
if not os.path.exists(dir):
|
||||
os.mkdir(dir)
|
||||
except IOError,msg:
|
||||
ErrorDialog(_("Could not create %s") % dir + "\n" + str(msg))
|
||||
ErrorDialog(_("Could not create %s") % dir, str(msg))
|
||||
return
|
||||
except:
|
||||
ErrorDialog(_("Could not create %s") % dir)
|
||||
@ -142,19 +143,20 @@ def mk_thumb(source,dest,size):
|
||||
os.remove(dest)
|
||||
except IOError,msg:
|
||||
errmsg = _("Could not replace %s") % dir
|
||||
ErrorDialog(errmsg + "\n" + msg)
|
||||
ErrorDialog(errmsg,msg)
|
||||
return
|
||||
|
||||
if not os.path.exists(source):
|
||||
ErrorDialog(_("Could not create a thumbnail for %s\nThe file has been moved or deleted") % source)
|
||||
|
||||
ErrorDialog(_("Could not create a thumbnail for %s") % source,
|
||||
_("The file has been moved or deleted."))
|
||||
|
||||
try:
|
||||
img = ImgManip.ImgManip(source)
|
||||
img.jpg_thumbnail(dest,size,size)
|
||||
except:
|
||||
import sys
|
||||
msg = "%s\n%s %s" % (source,sys.exc_type,sys.exc_value)
|
||||
ErrorDialog(_("Could not create a thumbnail for %s") % msg)
|
||||
ErrorDialog(_("Could not create a thumbnail for %s") % source,
|
||||
"%s %s" % (sys.exc_type,sys.exc_value))
|
||||
return
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
|
@ -1334,10 +1334,12 @@ class Person(Persistent):
|
||||
return not_too_old(self.birth.getDateObj().get_start_date())
|
||||
return 1
|
||||
|
||||
|
||||
class Event(DataObj):
|
||||
"""Event record, recording the event type, description, place, and date
|
||||
of a particular event"""
|
||||
|
||||
NAME = 0
|
||||
ID = 1
|
||||
|
||||
def __init__(self,source=None):
|
||||
"""creates a new Event instance, copying from the source if present"""
|
||||
@ -1350,13 +1352,33 @@ class Event(DataObj):
|
||||
self.description = source.description
|
||||
self.name = source.name
|
||||
self.cause = source.cause
|
||||
if source.witness:
|
||||
self.witness = source.witness[:]
|
||||
else:
|
||||
self.witness = None
|
||||
else:
|
||||
self.place = None
|
||||
self.date = None
|
||||
self.description = ""
|
||||
self.name = ""
|
||||
self.cause = ""
|
||||
self.witness = None
|
||||
|
||||
def get_witness_list(self):
|
||||
return self.witness
|
||||
|
||||
def set_witness_list(self,list):
|
||||
if list:
|
||||
self.witness = list[:]
|
||||
else:
|
||||
self.witness = None
|
||||
|
||||
def add_witness(self,value):
|
||||
if self.witness:
|
||||
self.witness.append(value)
|
||||
else:
|
||||
self.witness = [value]
|
||||
|
||||
def is_empty(self):
|
||||
date = self.getDateObj()
|
||||
place = self.getPlace()
|
||||
@ -1469,6 +1491,29 @@ class Event(DataObj):
|
||||
"""sets the Date object associated with the Event"""
|
||||
self.date = date
|
||||
|
||||
class Witness:
|
||||
def __init__(self,type=Event.NAME,val="",comment=""):
|
||||
self.set_type(type)
|
||||
self.set_value(val)
|
||||
self.set_comment(comment)
|
||||
|
||||
def set_type(self,type):
|
||||
self.type = type
|
||||
|
||||
def get_type(self):
|
||||
return self.type
|
||||
|
||||
def set_value(self,val):
|
||||
self.val = val
|
||||
|
||||
def get_value(self):
|
||||
return self.val
|
||||
|
||||
def set_comment(self,comment):
|
||||
self.comment = comment
|
||||
|
||||
def get_comment(self):
|
||||
return self.comment
|
||||
|
||||
class Family(Persistent):
|
||||
"""Represents a family unit in the gramps database"""
|
||||
|
@ -142,7 +142,6 @@ class Report:
|
||||
self.ptop = gtk.Dialog()
|
||||
self.ptop.set_title(title)
|
||||
self.ptop.vbox.add(gtk.Label(header))
|
||||
self.ptop.vbox.add(gtk.HSeparator())
|
||||
self.ptop.vbox.set_spacing(10)
|
||||
self.pbar = gtk.ProgressBar()
|
||||
self.pbar_max = total
|
||||
@ -174,7 +173,7 @@ class ReportDialog:
|
||||
"""
|
||||
|
||||
frame_pad = 5
|
||||
border_pad = 2
|
||||
border_pad = 6
|
||||
|
||||
def __init__(self,database,person):
|
||||
"""Initialize a dialog to request that the user select options
|
||||
@ -196,10 +195,12 @@ class ReportDialog:
|
||||
self.frames = {}
|
||||
|
||||
self.window = gtk.Dialog('GRAMPS')
|
||||
self.ok = self.window.add_button(gtk.STOCK_OK,0)
|
||||
self.ok.connect('clicked',self.on_ok_clicked)
|
||||
self.cancel = self.window.add_button(gtk.STOCK_CANCEL,1)
|
||||
self.ok = self.window.add_button(gtk.STOCK_OK,0)
|
||||
|
||||
self.ok.connect('clicked',self.on_ok_clicked)
|
||||
self.cancel.connect('clicked',self.on_cancel)
|
||||
|
||||
self.window.set_response_sensitive(0,gtk.TRUE)
|
||||
self.window.set_response_sensitive(1,gtk.TRUE)
|
||||
self.window.set_resize_mode(0)
|
||||
@ -465,9 +466,10 @@ class ReportDialog:
|
||||
|
||||
title = self.get_header(self.name)
|
||||
label = gtk.Label(title)
|
||||
label.set_padding(12,12)
|
||||
label.set_size_request(450,10)
|
||||
self.window.vbox.pack_start(label,gtk.TRUE,gtk.TRUE,ReportDialog.border_pad)
|
||||
self.window.vbox.add(gtk.HSeparator())
|
||||
self.window.vbox.set_border_width(12)
|
||||
|
||||
def setup_target_frame(self):
|
||||
"""Set up the target frame of the dialog. This function
|
||||
@ -498,7 +500,7 @@ class ReportDialog:
|
||||
self.window.vbox.add(frame)
|
||||
|
||||
self.target_fileentry.set_default_path(self.get_default_directory())
|
||||
if (self.get_target_is_directory()):
|
||||
if self.get_target_is_directory():
|
||||
self.target_fileentry.set_directory_entry(1)
|
||||
|
||||
self.target_fileentry.set_filename(self.get_default_directory())
|
||||
@ -575,6 +577,17 @@ class ReportDialog:
|
||||
self.output_notebook.set_show_border(0)
|
||||
self.output_notebook.set_current_page(self.notebook_page)
|
||||
self.window.vbox.add(self.output_notebook)
|
||||
|
||||
def size_changed(self,obj):
|
||||
paper = self.papersize_menu.get_menu().get_active().get_data('i')
|
||||
if paper.get_width() <= 0:
|
||||
self.pwidth.set_sensitive(1)
|
||||
self.pheight.set_sensitive(1)
|
||||
else:
|
||||
self.pwidth.set_sensitive(0)
|
||||
self.pheight.set_sensitive(0)
|
||||
self.pwidth.set_text("%.2f" % paper.get_width())
|
||||
self.pheight.set_text("%.2f" % paper.get_height())
|
||||
|
||||
def setup_paper_frame(self):
|
||||
"""Set up the paper selection frame of the dialog. This
|
||||
@ -583,19 +596,45 @@ class ReportDialog:
|
||||
its strings should be."""
|
||||
|
||||
(pagecount_map, start_text) = self.get_print_pagecount_map()
|
||||
table = gtk.Table(2,4)
|
||||
table = gtk.Table(2,5)
|
||||
self.paper_frame.add(table)
|
||||
self.papersize_menu = gtk.OptionMenu()
|
||||
self.papersize_menu.connect('changed',self.size_changed)
|
||||
|
||||
self.orientation_menu = gtk.OptionMenu()
|
||||
l = gtk.Label(_("Size"))
|
||||
pad = ReportDialog.border_pad
|
||||
l.set_alignment(1.0,0.5)
|
||||
table.attach(l,0,1,0,1,gtk.FILL,gtk.FILL,pad,pad)
|
||||
table.attach(self.papersize_menu,1,2,0,1,xpadding=pad,ypadding=pad)
|
||||
l = gtk.Label(_("Height"))
|
||||
l.set_alignment(1.0,0.5)
|
||||
table.attach(l,2,3,0,1,xpadding=pad,ypadding=pad)
|
||||
|
||||
self.pheight = gtk.Entry()
|
||||
self.pheight.set_sensitive(0)
|
||||
table.attach(self.pheight,3,4,0,1,xpadding=pad,ypadding=pad)
|
||||
|
||||
l = gtk.Label(_("cm"))
|
||||
l.set_alignment(0.0,0.5)
|
||||
table.attach(l,4,5,0,1,xpadding=pad,ypadding=pad)
|
||||
|
||||
l = gtk.Label(_("Orientation"))
|
||||
l.set_alignment(1.0,0.5)
|
||||
table.attach(l,2,3,0,1,gtk.FILL,gtk.FILL,pad,pad)
|
||||
table.attach(self.orientation_menu,3,4,0,1,xpadding=pad,ypadding=pad)
|
||||
table.attach(l,0,1,1,2,gtk.FILL,gtk.FILL,pad,pad)
|
||||
table.attach(self.orientation_menu,1,2,1,2,xpadding=pad,ypadding=pad)
|
||||
l = gtk.Label(_("Width"))
|
||||
l.set_alignment(1.0,0.5)
|
||||
table.attach(l,2,3,1,2,xpadding=pad,ypadding=pad)
|
||||
|
||||
self.pwidth = gtk.Entry()
|
||||
self.pwidth.set_sensitive(0)
|
||||
table.attach(self.pwidth,3,4,1,2,xpadding=pad,ypadding=pad)
|
||||
|
||||
l = gtk.Label(_("cm"))
|
||||
l.set_alignment(0.0,0.5)
|
||||
table.attach(l,4,5,1,2,xpadding=pad,ypadding=pad)
|
||||
|
||||
PaperMenu.make_paper_menu(self.papersize_menu)
|
||||
PaperMenu.make_orientation_menu(self.orientation_menu)
|
||||
|
||||
@ -754,8 +793,12 @@ class ReportDialog:
|
||||
if string:
|
||||
self.extra_textbox_label = gtk.Label(et_label)
|
||||
self.extra_textbox_label.set_alignment(1.0,0)
|
||||
swin = gtk.ScrolledWindow()
|
||||
swin.set_shadow_type(gtk.SHADOW_IN)
|
||||
swin.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
|
||||
self.extra_textbox = gtk.TextView()
|
||||
|
||||
swin.add(self.extra_textbox)
|
||||
|
||||
try:
|
||||
self.extra_textbox.get_buffer().set_text(string,len(string))
|
||||
except TypeError:
|
||||
@ -765,7 +808,7 @@ class ReportDialog:
|
||||
self.add_tooltip(self.extra_textbox,et_tip)
|
||||
table.attach(self.extra_textbox_label,0,1,row,row+1,xoptions=gtk.FILL,
|
||||
yoptions=0,xpadding=pad,ypadding=pad)
|
||||
table.attach(self.extra_textbox,1,2,row,row+1,
|
||||
table.attach(swin,1,2,row,row+1,
|
||||
yoptions=0,xpadding=pad,ypadding=pad)
|
||||
row = row + 1
|
||||
|
||||
@ -817,7 +860,8 @@ class ReportDialog:
|
||||
return None
|
||||
|
||||
if not self.get_target_is_directory() and os.path.isdir(self.target_path):
|
||||
ErrorDialog(_("The filename that you gave is a directory.\n"
|
||||
ErrorDialog(_("Invalid file name"),
|
||||
_("The filename that you gave is a directory.\n"
|
||||
"You need to provide a valid filename."))
|
||||
return None
|
||||
|
||||
@ -844,6 +888,21 @@ class ReportDialog:
|
||||
is displayed on the screen. The subclass will know which ones
|
||||
it has enabled. This is for simplicity of programming."""
|
||||
self.paper = self.papersize_menu.get_menu().get_active().get_data("i")
|
||||
if self.paper.get_height() <= 0 or self.paper.get_width() <= 0:
|
||||
try:
|
||||
h = float(self.pheight.get_text())
|
||||
w = float(self.pwidth.get_text())
|
||||
|
||||
if h <= 1.0 or w <= 1.0:
|
||||
self.paper.set_height(29.7)
|
||||
self.paper.set_width(21.0)
|
||||
else:
|
||||
self.paper.set_height(h)
|
||||
self.paper.set_width(w)
|
||||
except:
|
||||
self.paper.set_height(29.7)
|
||||
self.paper.set_width(21.0)
|
||||
|
||||
self.orien = self.orientation_menu.get_menu().get_active().get_data("i")
|
||||
if self.pagecount_menu == None:
|
||||
self.pagecount = 0
|
||||
|
@ -125,8 +125,11 @@ class SourceView:
|
||||
if self.is_used(source):
|
||||
ans = EditSource.DelSrcQuery(source,self.db,self.update)
|
||||
|
||||
QuestionDialog(_('Delete Source'),
|
||||
_("This source is currently being used. Delete anyway?"),
|
||||
QuestionDialog(_('Delete %s?') % source.getTitle(),
|
||||
_('This source is currently being used. Deleting it '
|
||||
'will remove it from the database and from all '
|
||||
'records that reference it.'),
|
||||
_('Delete Source'),
|
||||
ans.query_response)
|
||||
else:
|
||||
self.db.removeSource(source.getId())
|
||||
|
@ -207,7 +207,6 @@ class SourceEditor:
|
||||
self.source_ref = srcref
|
||||
self.showSource = gtk.glade.XML(const.srcselFile, "sourceDisplay")
|
||||
self.showSource.signal_autoconnect({
|
||||
"on_combo_insert_text" : Utils.combo_insert_text,
|
||||
"on_sourceok_clicked" : self.on_sourceok_clicked,
|
||||
"on_source_changed" : self.on_source_changed,
|
||||
"destroy_passed_object" : Utils.destroy_passed_object
|
||||
@ -256,7 +255,6 @@ class SourceEditor:
|
||||
self.pub_field.set_text("")
|
||||
|
||||
values = self.db.getSourceMap().values()
|
||||
# values.sort(by_title)
|
||||
|
||||
sel_child = None
|
||||
list = []
|
||||
@ -311,14 +309,6 @@ class SourceEditor:
|
||||
if self.active_source:
|
||||
self.author_field.set_text(self.active_source.getAuthor())
|
||||
self.pub_field.set_text(self.active_source.getPubInfo())
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def by_title(a,b):
|
||||
return cmp(a.getTitle(),b.getTitle())
|
||||
|
||||
|
||||
|
||||
|
@ -102,7 +102,7 @@ class StyleListDisplay:
|
||||
self.sheetlist.save()
|
||||
except IOError,msg:
|
||||
from QuestionDialog import ErrorDialog
|
||||
ErrorDialog(_("Error saving stylesheet") + "\n" + str(msg))
|
||||
ErrorDialog(_("Error saving stylesheet"),str(msg))
|
||||
except:
|
||||
import DisplayTrace
|
||||
DisplayTrace.DisplayTrace()
|
||||
|
@ -25,6 +25,11 @@ import os
|
||||
_BLKSIZE=512
|
||||
nul = '\0'
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# TarFile
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
class TarFile:
|
||||
def __init__(self,name):
|
||||
self.name = name
|
||||
@ -69,13 +74,17 @@ class TarFile:
|
||||
self.f.write('\0' * rem)
|
||||
self.pos = self.pos + rem
|
||||
|
||||
|
||||
def close(self):
|
||||
rem = (_BLKSIZE*20) - (self.pos % (_BLKSIZE*20))
|
||||
if rem != 0:
|
||||
self.f.write('\0' * rem)
|
||||
self.f.close()
|
||||
|
||||
#------------------------------------------------------------------------
|
||||
#
|
||||
# ReadTarFile
|
||||
#
|
||||
#------------------------------------------------------------------------
|
||||
class ReadTarFile:
|
||||
def __init__(self,name,wd):
|
||||
self.name = name
|
||||
@ -91,7 +100,7 @@ class ReadTarFile:
|
||||
return
|
||||
index = 0
|
||||
for b in buf:
|
||||
if b != '\0':
|
||||
if b != nul:
|
||||
index = index + 1
|
||||
else:
|
||||
if index == 0:
|
||||
@ -122,7 +131,7 @@ class ReadTarFile:
|
||||
return
|
||||
index = 0
|
||||
for b in buf:
|
||||
if b != '\0':
|
||||
if b != nul:
|
||||
index = index + 1
|
||||
else:
|
||||
if index == 0:
|
||||
@ -131,7 +140,6 @@ class ReadTarFile:
|
||||
filename = buf[0:index]
|
||||
self.f.read(24) # modes
|
||||
l = self.f.read(12)
|
||||
# length = int(l,8)
|
||||
length_string = "";
|
||||
for char in l:
|
||||
if ord(char) != 0:
|
||||
@ -143,7 +151,7 @@ class ReadTarFile:
|
||||
|
||||
self.f.read(64)
|
||||
self.f.read(183)
|
||||
foo = open(self.wd + os.sep + filename,"wb")
|
||||
foo = open("%s/%s" % (self.wd,filename),"wb")
|
||||
foo.write(self.f.read(length))
|
||||
foo.close()
|
||||
self.f.read(_BLKSIZE-(length%_BLKSIZE))
|
||||
@ -151,7 +159,3 @@ class ReadTarFile:
|
||||
def close(self):
|
||||
self.f.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
a = ReadTarFile("out.gpkg",".")
|
||||
a.extract()
|
||||
a.close()
|
||||
|
96
src/Utils.py
96
src/Utils.py
@ -412,102 +412,6 @@ def thumb_path(dir,mobj):
|
||||
else:
|
||||
return find_icon(type)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# Sets up a delayed (0.005 sec) handler for text completion. Text
|
||||
# completion cannot be handled directly in this routine because, for
|
||||
# some reason, the select_region() function doesn't work when called
|
||||
# from signal handlers. Go figure.
|
||||
#
|
||||
# Thanks to iain@nodata.demon.co.uk (in mail from 1999) for the idea
|
||||
# to use a timer to get away from the problems with signal handlers
|
||||
# and the select_region function.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def combo_insert_text(combo,new_text,new_text_len,i_dont_care):
|
||||
# One time setup to clear selected region when user moves on
|
||||
if (not combo.get_data("signal_set")):
|
||||
combo.set_data("signal_set",1)
|
||||
combo.entry.connect("focus_out_event", combo_lost_focus, combo)
|
||||
|
||||
# Nuke the current timer if the user types fast enough
|
||||
timer = combo.get_data("timer");
|
||||
if (timer):
|
||||
gtk.timeout_remove(timer)
|
||||
|
||||
# Setup a callback timer so we can operate outside of a signal handler
|
||||
timer = gtk.timeout_add(5, combo_timer_callback, combo)
|
||||
combo.set_data("timer", timer);
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# The combo box entry field lost focus. Go clear any selection. Why
|
||||
# this form of a select_region() call works in a signal handler and
|
||||
# the other form doesn't is a mystery.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def combo_lost_focus(entry,a,b):
|
||||
entry.select_region(0, 0)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
# The workhorse routine of file completion. This routine grabs the
|
||||
# current text of the entry box, and grubs through the list item
|
||||
# looking for any case insensitive matches. This routine relies on
|
||||
# public knowledge of the Combo data structure, not on any private
|
||||
# data.
|
||||
#
|
||||
# These three completion routines have only one gramps specific hook,
|
||||
# and can be easily ported to any program.
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
def combo_timer_callback(combo):
|
||||
# Clear any timer
|
||||
timer = combo.get_data("timer");
|
||||
if (timer):
|
||||
gtk.timeout_remove(timer)
|
||||
|
||||
# Get the user's text
|
||||
entry = combo.entry
|
||||
typed = entry.get_text()
|
||||
if (not typed):
|
||||
return
|
||||
typed_lc = string.lower(typed)
|
||||
|
||||
# Walk the List in the combo box
|
||||
for item in combo.list.get_children():
|
||||
# Each item is a ListItem, whose first and only child is a
|
||||
# Label. This is the magic.
|
||||
label = item.get_children()[0]
|
||||
label_text = label.get()
|
||||
if (not label_text):
|
||||
continue
|
||||
|
||||
# Gramps specific code to remove trailing '[id]' from the
|
||||
# label.
|
||||
index = string.rfind(label_text,'[')
|
||||
if (index > 0):
|
||||
label_text = label_text[:index]
|
||||
label_text = string.rstrip(label_text)
|
||||
|
||||
# Back to the generic code. Convert to lower case
|
||||
label_text_lc = string.lower(label_text)
|
||||
|
||||
# If equal, no need to add any text
|
||||
if (typed_lc == label_text_lc):
|
||||
return
|
||||
|
||||
# If typed text is a substring of the label text, then fill in
|
||||
# the entry field with the full text (and correcting
|
||||
# capitalization), and then select all the characters that
|
||||
# don't match. With the user's enxt keystroke these will be
|
||||
# replaced if they are incorrect.
|
||||
if (string.find(label_text_lc,typed_lc) == 0):
|
||||
entry.set_text(label_text)
|
||||
entry.set_position(len(typed))
|
||||
entry.select_region(len(typed), -1)
|
||||
return
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
#
|
||||
|
@ -41,7 +41,7 @@ import const
|
||||
import GrampsCfg
|
||||
import Calendar
|
||||
import Gregorian
|
||||
from RelLib import *
|
||||
import RelLib
|
||||
from intl import gettext as _
|
||||
from QuestionDialog import ErrorDialog
|
||||
|
||||
@ -74,8 +74,9 @@ def exportData(database, filename, callback):
|
||||
except:
|
||||
import DisplayTrace
|
||||
|
||||
DisplayTrace.DisplayTrace()
|
||||
ErrorDialog(_("Failure writing %s, original file restored") % filename)
|
||||
DisplayTrace.DisplayTrace()
|
||||
ErrorDialog(_("Failure writing %s") % filename,
|
||||
_("An attempt is begin made to recover the original file"))
|
||||
shutil.copy(filename + ".bak", filename)
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@ -198,9 +199,9 @@ class XmlWriter:
|
||||
count = count + 1
|
||||
|
||||
self.write_id("person",person,2)
|
||||
if person.getGender() == Person.male:
|
||||
if person.getGender() == RelLib.Person.male:
|
||||
self.write_line("gender","M",3)
|
||||
elif person.getGender() == Person.female:
|
||||
elif person.getGender() == RelLib.Person.female:
|
||||
self.write_line("gender","F",3)
|
||||
else:
|
||||
self.write_line("gender","U",3)
|
||||
@ -358,6 +359,17 @@ class XmlWriter:
|
||||
if event:
|
||||
self.dump_my_event(event.getName(),event,index)
|
||||
|
||||
def write_witness(self,witness_list,index):
|
||||
if not witness_list:
|
||||
return
|
||||
for w in witness_list:
|
||||
sp = " "*index
|
||||
com = self.fix(w.get_comment())
|
||||
if w.get_type() == RelLib.Event.ID:
|
||||
self.g.write('%s<witness ref="%s">%s</witness>\n' % (sp,w.get_value(),com))
|
||||
else:
|
||||
self.g.write('%s<witness name="%s">%s</witness>\n' % (sp,w.get_value(),com))
|
||||
|
||||
def dump_my_event(self,name,event,index=1):
|
||||
if not event or event.is_empty():
|
||||
return
|
||||
@ -365,6 +377,8 @@ class XmlWriter:
|
||||
sp = " " * index
|
||||
self.g.write('%s<event type="%s"%s>\n' % (sp,self.fix(name),conf_priv(event)))
|
||||
self.write_date(event.getDateObj(),index+1)
|
||||
|
||||
self.write_witness(event.get_witness_list(),index+1)
|
||||
self.write_ref("place",event.getPlace(),index+1)
|
||||
self.write_line("cause",event.getCause(),index+1)
|
||||
self.write_line("description",event.getDescription(),index+1)
|
||||
|
@ -82,6 +82,7 @@ srcselFile = "%s/srcsel.glade" % rootDir
|
||||
findFile = "%s/find.glade" % rootDir
|
||||
mergeFile = "%s/mergedata.glade" % rootDir
|
||||
filterFile = "%s/rule.glade" % rootDir
|
||||
errdialogsFile = "%s/errdialogs.glade" % rootDir
|
||||
|
||||
pluginsDir = "%s/plugins" % rootDir
|
||||
calendarDir = "%s/calendars" % rootDir
|
||||
|
@ -82,6 +82,7 @@ srcselFile = "%s/srcsel.glade" % rootDir
|
||||
findFile = "%s/find.glade" % rootDir
|
||||
mergeFile = "%s/mergedata.glade" % rootDir
|
||||
filterFile = "%s/rule.glade" % rootDir
|
||||
errdialogsFile = "%s/errdialogs.glade" % rootDir
|
||||
|
||||
pluginsDir = "%s/plugins" % rootDir
|
||||
calendarDir = "%s/calendars" % rootDir
|
||||
|
581
src/dialog.glade
581
src/dialog.glade
@ -33,11 +33,11 @@
|
||||
<property name="can_default">True</property>
|
||||
<property name="has_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-ok</property>
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="on_event_edit_ok_clicked" object="event_edit"/>
|
||||
<property name="response_id">-6</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="event_edit" last_modification_time="Tue, 18 Feb 2003 15:04:15 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
@ -46,11 +46,11 @@
|
||||
<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="label">gtk-ok</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="event_edit"/>
|
||||
<property name="response_id">-5</property>
|
||||
<signal name="clicked" handler="on_event_edit_ok_clicked" object="event_edit" last_modification_time="Tue, 18 Feb 2003 15:03:59 GMT"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
@ -667,6 +667,99 @@
|
||||
<property name="type">tab</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkVBox" id="vbox43">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow29">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTreeView" id="wlist">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="headers_visible">True</property>
|
||||
<property name="rules_hint">False</property>
|
||||
<property name="reorderable">False</property>
|
||||
<property name="enable_search">True</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox5">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="add_witness">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-add</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="del_witness">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-remove</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="tab_expand">False</property>
|
||||
<property name="tab_fill">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label291">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b>Witnesses</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.5</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="type">tab</property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -707,6 +800,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button116">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="attr_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button115">
|
||||
<property name="visible">True</property>
|
||||
@ -720,19 +826,6 @@
|
||||
<signal name="clicked" handler="on_attr_edit_ok_clicked" object="attr_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button116">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="attr_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -1166,6 +1259,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button119">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="loc_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button118">
|
||||
<property name="visible">True</property>
|
||||
@ -1179,19 +1285,6 @@
|
||||
<signal name="clicked" handler="on_loc_edit_ok_clicked" object="loc_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button119">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="loc_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -1523,6 +1616,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button122">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="addr_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button121">
|
||||
<property name="visible">True</property>
|
||||
@ -1537,19 +1643,6 @@
|
||||
<signal name="clicked" handler="on_addr_edit_ok_clicked" object="addr_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button122">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="addr_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -2211,6 +2304,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button125">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="url_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button124">
|
||||
<property name="visible">True</property>
|
||||
@ -2225,19 +2331,6 @@
|
||||
<signal name="clicked" handler="on_url_edit_ok_clicked" object="url_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button125">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="url_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -2462,6 +2555,20 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button119">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Reject changes and close</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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="name_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button118">
|
||||
<property name="visible">True</property>
|
||||
@ -2476,20 +2583,6 @@
|
||||
<signal name="clicked" handler="on_name_edit_ok_clicked" object="name_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button119">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Reject changes and close</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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="name_edit"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -3173,4 +3266,348 @@
|
||||
</child>
|
||||
</widget>
|
||||
|
||||
<widget class="GtkDialog" id="witness_edit">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">Edit Witness</property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||
<property name="modal">False</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="icon">gramps.png</property>
|
||||
<property name="has_separator">True</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="dialog-action_area2">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="cancelbutton1">
|
||||
<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="response_id">-6</property>
|
||||
<signal name="clicked" handler="cancel_clicked" last_modification_time="Tue, 18 Feb 2003 16:46:57 GMT"/>
|
||||
</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="response_id">-5</property>
|
||||
<signal name="clicked" handler="ok_clicked" last_modification_time="Tue, 18 Feb 2003 16:46:37 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="vbox44">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTable" id="table28">
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">4</property>
|
||||
<property name="n_columns">3</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">0</property>
|
||||
<property name="column_spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label293">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Person</property>
|
||||
<property name="use_underline">False</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">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">5</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</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="GtkLabel" id="label294">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Comment</property>
|
||||
<property name="use_underline">False</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">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">5</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</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="GtkLabel" id="label295">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">:</property>
|
||||
<property name="use_underline">False</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>
|
||||
</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="GtkLabel" id="label296">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">:</property>
|
||||
<property name="use_underline">False</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>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</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="GtkEntry" id="name">
|
||||
<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"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char" translatable="yes">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
</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_padding">3</property>
|
||||
<property name="y_padding">3</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow30">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTextView" id="comment">
|
||||
<property name="border_width">1</property>
|
||||
<property name="width_request">400</property>
|
||||
<property name="height_request">200</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">True</property>
|
||||
<property name="justification">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap_mode">GTK_WRAP_WORD</property>
|
||||
<property name="cursor_visible">True</property>
|
||||
<property name="pixels_above_lines">0</property>
|
||||
<property name="pixels_below_lines">0</property>
|
||||
<property name="pixels_inside_wrap">0</property>
|
||||
<property name="left_margin">0</property>
|
||||
<property name="right_margin">0</property>
|
||||
<property name="indent">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
<property name="x_padding">3</property>
|
||||
<property name="y_padding">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="in_db">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">Person is in the Database</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="active">False</property>
|
||||
<property name="inconsistent">False</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<signal name="toggled" handler="on_toggled" last_modification_time="Thu, 20 Feb 2003 03:30:27 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_padding">3</property>
|
||||
<property name="y_padding">3</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label297">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">ID</property>
|
||||
<property name="use_underline">False</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">1</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">5</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
<property name="right_attach">1</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="GtkLabel" id="label298">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">:</property>
|
||||
<property name="use_underline">False</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>
|
||||
</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="GtkEntry" id="id">
|
||||
<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"></property>
|
||||
<property name="has_frame">True</property>
|
||||
<property name="invisible_char" translatable="yes">*</property>
|
||||
<property name="activates_default">False</property>
|
||||
<signal name="changed" handler="on_id_changed" last_modification_time="Thu, 20 Feb 2003 03:44:43 GMT"/>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
<property name="x_padding">3</property>
|
||||
<property name="y_padding">3</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</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>
|
||||
|
@ -124,7 +124,6 @@ class HtmlDoc(TextDoc.TextDoc):
|
||||
|
||||
def set_keywords(self,keywords):
|
||||
self.meta = string.join(keywords,",")
|
||||
print self.meta
|
||||
|
||||
def load_tpkg(self):
|
||||
start = re.compile(r"<!--\s*START\s*-->")
|
||||
|
@ -28,6 +28,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button15">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="editPerson"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="applyPerson">
|
||||
<property name="visible">True</property>
|
||||
@ -42,19 +55,6 @@
|
||||
<signal name="clicked" handler="on_apply_person_clicked" object="editPerson"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button15">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="editPerson"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">2</property>
|
||||
@ -2180,7 +2180,7 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
@ -2203,6 +2203,7 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox14">
|
||||
<property name="border_width">5</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
|
||||
<property name="spacing">30</property>
|
||||
@ -2863,7 +2864,7 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
@ -2886,6 +2887,7 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox10">
|
||||
<property name="border_width">5</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
|
||||
<property name="spacing">30</property>
|
||||
@ -3334,7 +3336,7 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
@ -3357,6 +3359,7 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox16">
|
||||
<property name="border_width">6</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
|
||||
<property name="spacing">30</property>
|
||||
@ -4169,7 +4172,7 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
@ -4192,6 +4195,7 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox17">
|
||||
<property name="border_width">5</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
|
||||
<property name="spacing">30</property>
|
||||
@ -4326,7 +4330,7 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
@ -4351,6 +4355,7 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox13">
|
||||
<property name="border_width">5</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
|
||||
<property name="spacing">15</property>
|
||||
@ -4799,7 +4804,7 @@
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
@ -4822,6 +4827,7 @@
|
||||
|
||||
<child>
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox15">
|
||||
<property name="border_width">5</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_SPREAD</property>
|
||||
<property name="spacing">30</property>
|
||||
@ -5127,7 +5133,7 @@
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_padding">3</property>
|
||||
<property name="x_padding">5</property>
|
||||
<property name="y_padding">3</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
@ -5398,7 +5404,7 @@
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_padding">3</property>
|
||||
<property name="x_padding">5</property>
|
||||
<property name="y_padding">3</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
@ -5717,7 +5723,7 @@
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_padding">3</property>
|
||||
<property name="x_padding">5</property>
|
||||
<property name="y_padding">3</property>
|
||||
<property name="y_options"></property>
|
||||
</packing>
|
||||
|
571
src/errdialogs.glade
Normal file
571
src/errdialogs.glade
Normal file
@ -0,0 +1,571 @@
|
||||
<?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="errdialog">
|
||||
<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">False</property>
|
||||
<property name="default_width">450</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</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="okbutton1">
|
||||
<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="response_id">-5</property>
|
||||
</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="GtkTable" id="table1">
|
||||
<property name="border_width">12</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">2</property>
|
||||
<property name="n_columns">3</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">0</property>
|
||||
<property name="column_spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label2</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">24</property>
|
||||
</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="GtkImage" id="image1">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-dialog-error</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</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">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label1</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">6</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">expand|shrink|fill</property>
|
||||
<property name="y_options"></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>
|
||||
|
||||
<widget class="GtkDialog" id="savedialog">
|
||||
<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">False</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="dialog-vbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="dialog-action_area2">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<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" translatable="yes">Close without Saving</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">-9</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button2">
|
||||
<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="response_id">-6</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-save</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">-8</property>
|
||||
</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="GtkTable" id="table2">
|
||||
<property name="border_width">12</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">2</property>
|
||||
<property name="n_columns">3</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">0</property>
|
||||
<property name="column_spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label2</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">24</property>
|
||||
</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="GtkImage" id="image2">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-dialog-warning</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</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">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label1</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">expand|shrink|fill</property>
|
||||
<property name="y_options"></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>
|
||||
|
||||
<widget class="GtkDialog" id="questiondialog">
|
||||
<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">False</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button4">
|
||||
<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="response_id">-6</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="okbutton">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">-3</property>
|
||||
</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="GtkTable" id="table3">
|
||||
<property name="border_width">12</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">2</property>
|
||||
<property name="n_columns">3</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">0</property>
|
||||
<property name="column_spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label2</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">24</property>
|
||||
</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="GtkImage" id="image3">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-dialog-warning</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</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">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label1</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">expand|shrink|fill</property>
|
||||
<property name="y_options"></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>
|
||||
|
||||
<widget class="GtkDialog" id="optiondialog">
|
||||
<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">False</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="has_separator">True</property>
|
||||
|
||||
<child internal-child="vbox">
|
||||
<widget class="GtkVBox" id="vbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="spacing">0</property>
|
||||
|
||||
<child internal-child="action_area">
|
||||
<widget class="GtkHButtonBox" id="hbuttonbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="option1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">-9</property>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="option2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes"></property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">-8</property>
|
||||
</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="GtkTable" id="table4">
|
||||
<property name="border_width">12</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">2</property>
|
||||
<property name="n_columns">3</property>
|
||||
<property name="homogeneous">False</property>
|
||||
<property name="row_spacing">0</property>
|
||||
<property name="column_spacing">0</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label2</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">24</property>
|
||||
</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="GtkImage" id="image4">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-dialog-warning</property>
|
||||
<property name="icon_size">6</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="yalign">0</property>
|
||||
<property name="xpad">0</property>
|
||||
<property name="ypad">0</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">2</property>
|
||||
<property name="x_options">fill</property>
|
||||
<property name="y_options">fill</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label1</property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="selectable">False</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="yalign">0.5</property>
|
||||
<property name="xpad">6</property>
|
||||
<property name="ypad">0</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">0</property>
|
||||
<property name="bottom_attach">1</property>
|
||||
<property name="x_options">expand|shrink|fill</property>
|
||||
<property name="y_options"></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>
|
@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=Genealogy (GRAMPS)
|
||||
Name=GRAMPS Genealogy System
|
||||
Name[sv]=GRAMPS
|
||||
Comment=Genealogy Program
|
||||
Comment=Manage genealogical information, perform genealogical research and analysis
|
||||
Comment[sv]=Ett släktforskningsprogram
|
||||
Exec=gramps
|
||||
Icon=gramps.png
|
||||
|
274
src/gramps.glade
274
src/gramps.glade
@ -77,7 +77,7 @@
|
||||
<signal name="activate" handler="on_revert_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image96">
|
||||
<widget class="GtkImage" id="image118">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-revert-to-saved</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -113,7 +113,7 @@
|
||||
<property name="use_underline">True</property>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image97">
|
||||
<widget class="GtkImage" id="image119">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-convert</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -134,7 +134,7 @@
|
||||
<signal name="activate" handler="on_reload_plugins_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image98">
|
||||
<widget class="GtkImage" id="image120">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-refresh</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -182,7 +182,7 @@
|
||||
<signal name="activate" handler="on_find_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image99">
|
||||
<widget class="GtkImage" id="image121">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-find</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -203,7 +203,7 @@
|
||||
<signal name="activate" handler="on_merge_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image100">
|
||||
<widget class="GtkImage" id="image122">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-convert</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -271,7 +271,7 @@
|
||||
<accelerator key="D" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image101">
|
||||
<widget class="GtkImage" id="image123">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-index</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -293,7 +293,7 @@
|
||||
<accelerator key="B" modifiers="GDK_CONTROL_MASK" signal="activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image102">
|
||||
<widget class="GtkImage" id="image124">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gnome-stock-book-open</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -350,10 +350,10 @@
|
||||
<widget class="GtkMenu" id="settings1_menu">
|
||||
|
||||
<child>
|
||||
<widget class="GtkImageMenuItem" id="preferences">
|
||||
<widget class="GtkImageMenuItem" id="preferences1">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock_item">GNOMEUIINFO_MENU_PROPERTIES_ITEM</property>
|
||||
<signal name="activate" handler="on_preferences_activate"/>
|
||||
<property name="stock_item">GNOMEUIINFO_MENU_PREFERENCES_ITEM</property>
|
||||
<signal name="activate" handler="on_preferences1_activate"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
@ -365,7 +365,7 @@
|
||||
<signal name="activate" handler="on_default_person_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image103">
|
||||
<widget class="GtkImage" id="image125">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-home</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -399,7 +399,7 @@
|
||||
<signal name="activate" handler="on_contents_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image104">
|
||||
<widget class="GtkImage" id="image126">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gnome-stock-book-red</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -420,7 +420,7 @@
|
||||
<signal name="activate" handler="on_writing_extensions_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image105">
|
||||
<widget class="GtkImage" id="image127">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gnome-stock-book-blue</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -441,7 +441,7 @@
|
||||
<signal name="activate" handler="on_gramps_home_page_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image106">
|
||||
<widget class="GtkImage" id="image128">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gtk-jump-to</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -462,7 +462,7 @@
|
||||
<signal name="activate" handler="on_gramps_mailing_lists_activate"/>
|
||||
|
||||
<child internal-child="image">
|
||||
<widget class="GtkImage" id="image107">
|
||||
<widget class="GtkImage" id="image129">
|
||||
<property name="visible">True</property>
|
||||
<property name="stock">gnome-stock-mail</property>
|
||||
<property name="icon_size">1</property>
|
||||
@ -1312,20 +1312,14 @@
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkTextView" id="ap_data">
|
||||
<widget class="GtkTreeView" id="ap_data">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Double-click to edit the active person</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="editable">False</property>
|
||||
<property name="justification">GTK_JUSTIFY_LEFT</property>
|
||||
<property name="wrap_mode">GTK_WRAP_NONE</property>
|
||||
<property name="cursor_visible">False</property>
|
||||
<property name="pixels_above_lines">0</property>
|
||||
<property name="pixels_below_lines">0</property>
|
||||
<property name="pixels_inside_wrap">0</property>
|
||||
<property name="left_margin">0</property>
|
||||
<property name="right_margin">0</property>
|
||||
<property name="indent">0</property>
|
||||
<property name="text" translatable="yes"></property>
|
||||
<property name="headers_visible">False</property>
|
||||
<property name="rules_hint">True</property>
|
||||
<property name="reorderable">False</property>
|
||||
<property name="enable_search">False</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
@ -2790,19 +2784,6 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="spouse_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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_select_spouse_clicked" object="spouseDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button117">
|
||||
<property name="visible">True</property>
|
||||
@ -2815,6 +2796,19 @@
|
||||
<signal name="clicked" handler="destroy_passed_object" object="spouseDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="spouse_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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_select_spouse_clicked" object="spouseDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">10</property>
|
||||
@ -3074,6 +3068,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button44">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="familyDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button42">
|
||||
<property name="visible">True</property>
|
||||
@ -3087,19 +3094,6 @@
|
||||
<signal name="clicked" handler="on_save_parents_clicked" object="familyDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button44">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="familyDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -3965,6 +3959,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button49">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="selectChild"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button48">
|
||||
<property name="visible">True</property>
|
||||
@ -3978,19 +3985,6 @@
|
||||
<signal name="clicked" handler="on_save_child_clicked" object="selectChild"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button49">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="selectChild"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -4568,6 +4562,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button54">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="marriageQuery"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button52">
|
||||
<property name="visible">True</property>
|
||||
@ -4581,19 +4588,6 @@
|
||||
<signal name="clicked" handler="on_marriageQuery_clicked" object="marriageQuery"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button54">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="marriageQuery"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -4713,7 +4707,7 @@
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||
<property name="modal">False</property>
|
||||
<property name="default_width">450</property>
|
||||
<property name="default_width">500</property>
|
||||
<property name="default_height">350</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
@ -4731,6 +4725,20 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button90">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Reject changes and close</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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="sourceEditor"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button88">
|
||||
<property name="visible">True</property>
|
||||
@ -4745,20 +4753,6 @@
|
||||
<signal name="clicked" handler="on_sourceapply_clicked" object="sourceEditor"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button90">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Reject changes and close</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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="sourceEditor"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -4800,7 +4794,7 @@
|
||||
<property name="visible">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
</packing>
|
||||
@ -4980,7 +4974,7 @@
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label204">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b><i>General</i></b></property>
|
||||
<property name="label" translatable="yes"><b>General</b></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -5031,7 +5025,7 @@
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label205">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b><i>Note</i></b></property>
|
||||
<property name="label" translatable="yes"><b>Note</b></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -5130,7 +5124,7 @@
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label206">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b><i>Gallery</i></b></property>
|
||||
<property name="label" translatable="yes"><b>Gallery</b></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -5150,8 +5144,8 @@
|
||||
<widget class="GtkScrolledWindow" id="scrolledwindow38">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
|
||||
<property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||
|
||||
@ -5175,7 +5169,7 @@
|
||||
<child>
|
||||
<widget class="GtkLabel" id="label274">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b><i>References</i></b></property>
|
||||
<property name="label" translatable="yes"><b>References</b></property>
|
||||
<property name="use_underline">False</property>
|
||||
<property name="use_markup">True</property>
|
||||
<property name="justify">GTK_JUSTIFY_CENTER</property>
|
||||
@ -5230,6 +5224,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button122">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="addperson"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button121">
|
||||
<property name="visible">True</property>
|
||||
@ -5243,19 +5250,6 @@
|
||||
<signal name="clicked" handler="on_addfather_close" object="addperson"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button122">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="addperson"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -5571,6 +5565,19 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="open_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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_open_cancel_clicked" object="opendb"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="open_ok">
|
||||
<property name="visible">True</property>
|
||||
@ -5584,19 +5591,6 @@
|
||||
<signal name="clicked" handler="on_open_ok_clicked" object="opendb"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="open_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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_open_cancel_clicked" object="opendb"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -5889,6 +5883,19 @@ or create a new relationship.</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button154">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="familyDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button153">
|
||||
<property name="visible">True</property>
|
||||
@ -5902,19 +5909,6 @@ or create a new relationship.</property>
|
||||
<signal name="clicked" handler="on_save_parents_clicked" object="familyDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button154">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="familyDialog"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -57,7 +57,7 @@ import PlaceView
|
||||
import FamilyView
|
||||
import SourceView
|
||||
|
||||
from QuestionDialog import QuestionDialog, ErrorDialog, WarningDialog
|
||||
from QuestionDialog import QuestionDialog, ErrorDialog, WarningDialog, SaveDialog
|
||||
|
||||
import DisplayTrace
|
||||
import Filter
|
||||
@ -294,7 +294,7 @@ class Gramps:
|
||||
"on_sidebar1_activate" : self.on_sidebar_activate,
|
||||
"on_filter1_activate" : self.on_filter_activate,
|
||||
"on_places_activate" : self.on_places_activate,
|
||||
"on_preferences_activate" : self.on_preferences_activate,
|
||||
"on_preferences1_activate" : self.on_preferences_activate,
|
||||
"on_reload_plugins_activate" : Plugins.reload_plugins,
|
||||
"on_reports_clicked" : self.on_reports_clicked,
|
||||
"on_revert_activate" : self.on_revert_activate,
|
||||
@ -473,8 +473,11 @@ class Gramps:
|
||||
mlist = self.person_tree.get_selected_objects()
|
||||
|
||||
if len(mlist) != 2:
|
||||
msg = _("Exactly two people must be selected to perform a merge")
|
||||
ErrorDialog(msg)
|
||||
msg = _("Cannot merge people.")
|
||||
msg2 = _("Exactly two people must be selected to perform a merge. "
|
||||
"A second person can be selected by holding down the "
|
||||
"control key while clicking on a the desired person.")
|
||||
ErrorDialog(msg,msg2)
|
||||
else:
|
||||
import MergeData
|
||||
p1 = self.db.getPerson(mlist[0])
|
||||
@ -494,10 +497,12 @@ class Gramps:
|
||||
"""Prompt to save on exit if needed"""
|
||||
if Utils.wasModified():
|
||||
self.delobj = obj
|
||||
QuestionDialog(_('Abandon Changes'),
|
||||
_("Unsaved changes exist in the current database\n"
|
||||
"Do you wish to save the changes?"),
|
||||
self.save_query,self.quit)
|
||||
SaveDialog(_('Save Changes Made to the Database?'),
|
||||
_("Unsaved changes exist in the current database. If you "
|
||||
"close without saving, the changes you have made will "
|
||||
"be lost."),
|
||||
self.quit,
|
||||
self.save_query)
|
||||
else:
|
||||
self.db.close()
|
||||
gtk.mainquit()
|
||||
@ -549,8 +554,12 @@ class Gramps:
|
||||
def on_new_clicked(self,obj):
|
||||
"""Prompt for permission to close the current database"""
|
||||
|
||||
msg = _("Do you want to close the current database and create a new one?")
|
||||
QuestionDialog(_('New Database'),msg, self.new_database_response)
|
||||
QuestionDialog(_('Create a New Database'),
|
||||
_('Creating a new database will close the existing database, ',
|
||||
'discarding any unsaved changes. You will then be prompted '
|
||||
'to create a new database'),
|
||||
_('Create New Database'),
|
||||
self.new_database_response)
|
||||
|
||||
def new_database_response(self):
|
||||
import DbPrompter
|
||||
@ -661,6 +670,7 @@ class Gramps:
|
||||
|
||||
if filename == "" or filename == None:
|
||||
return
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
|
||||
self.clear_database(0)
|
||||
|
||||
@ -673,6 +683,7 @@ class Gramps:
|
||||
|
||||
def auto_save_load(self,filename):
|
||||
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
if os.path.isdir(filename):
|
||||
dirname = filename
|
||||
else:
|
||||
@ -685,8 +696,17 @@ class Gramps:
|
||||
self.yname = autosave
|
||||
self.nname = filename
|
||||
|
||||
QuestionDialog(_('Autosave File'),q,self.autosave_query,
|
||||
self.loadsaved_file)
|
||||
OptionDialog(_('An autosave file was detected'),
|
||||
_('GRAMPS has detected an autosave file for the '
|
||||
'selected database. This file is more recent than '
|
||||
'the last saved database. This typically happens '
|
||||
'when GRAMPS was unexpected shutdown before the '
|
||||
'data was saved. You may load this file to try to '
|
||||
'recover any missing data.'),
|
||||
_('Load autosave file'),
|
||||
self.autosave_query,
|
||||
_('Load saved database'),
|
||||
self.loadsaved_file)
|
||||
else:
|
||||
self.read_file(filename)
|
||||
|
||||
@ -699,6 +719,7 @@ class Gramps:
|
||||
def read_gedcom(self,filename):
|
||||
import ReadGedcom
|
||||
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
self.topWindow.set_title("%s - GRAMPS" % filename)
|
||||
try:
|
||||
ReadGedcom.importData(self.db,filename)
|
||||
@ -707,13 +728,19 @@ class Gramps:
|
||||
self.full_update()
|
||||
|
||||
def read_file(self,filename):
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
|
||||
base = os.path.basename(filename)
|
||||
if base == const.xmlFile:
|
||||
filename = os.path.dirname(filename)
|
||||
elif base == "autosave.gramps":
|
||||
filename = os.path.dirname(filename)
|
||||
elif not os.path.isdir(filename):
|
||||
self.displayError(_("%s is not a directory") % filename)
|
||||
self.displayError(_("Database could not be opened"),
|
||||
_("%s is not a directory.") % filename + ' ' + \
|
||||
_("The file you should attempt to open should be "
|
||||
"a directory that contains a data.gramps file or "
|
||||
"a gramps.zodb file."))
|
||||
return
|
||||
|
||||
self.status_text(_("Loading %s ...") % filename)
|
||||
@ -729,6 +756,7 @@ class Gramps:
|
||||
|
||||
def on_ok_button2_clicked(self,obj):
|
||||
filename = obj.get_filename()
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
if filename:
|
||||
Utils.destroy_passed_object(obj)
|
||||
if GrampsCfg.usevc and GrampsCfg.vc_comment:
|
||||
@ -739,7 +767,7 @@ class Gramps:
|
||||
def save_file(self,filename,comment):
|
||||
|
||||
path = filename
|
||||
filename = os.path.normpath(filename)
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
autosave = "%s/autosave.gramps" % filename
|
||||
|
||||
self.status_text(_("Saving %s ...") % filename)
|
||||
@ -749,17 +777,23 @@ class Gramps:
|
||||
|
||||
if os.path.exists(filename):
|
||||
if os.path.isdir(filename) == 0:
|
||||
self.displayError(_("%s is not a directory") % filename)
|
||||
self.displayError(_("Database could not be opened"),
|
||||
_("%s is not a directory.") % filename + ' ' + \
|
||||
_("The file you should attempt to open should be "
|
||||
"a directory that contains a data.gramps file or "
|
||||
"a gramps.zodb file."))
|
||||
return
|
||||
else:
|
||||
try:
|
||||
os.mkdir(filename)
|
||||
except (OSError,IOError), msg:
|
||||
emsg = _("Could not create %s") % filename + "\n" + str(msg)
|
||||
ErrorDialog(emsg)
|
||||
emsg = _("Could not create %s") % filename
|
||||
ErrorDialog(emsg,_("An was detected while attempting to create the file. ",
|
||||
'The operating system reported "%s"' % str(msg)))
|
||||
return
|
||||
except:
|
||||
ErrorDialog(_("Could not create %s") % filename)
|
||||
ErrorDialog(_("Could not create %s") % filename,
|
||||
_("An error was detected while trying to create the file"))
|
||||
return
|
||||
|
||||
old_file = filename
|
||||
@ -767,8 +801,8 @@ class Gramps:
|
||||
try:
|
||||
self.db.save(filename,self.load_progress)
|
||||
except (OSError,IOError), msg:
|
||||
emsg = _("Could not create %s") % filename + "\n" + str(msg)
|
||||
ErrorDialog(emsg)
|
||||
emsg = _("Could not create %s") % filename
|
||||
ErrorDialog(emsg,_("An error was detected while trying to create the file"))
|
||||
return
|
||||
|
||||
self.db.setSavePath(old_file)
|
||||
@ -796,7 +830,7 @@ class Gramps:
|
||||
if not path:
|
||||
return
|
||||
|
||||
filename = os.path.normpath(path)
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
Utils.clear_timer()
|
||||
|
||||
filename = "%s/autosave.gramps" % (self.db.getSavePath())
|
||||
@ -833,9 +867,15 @@ class Gramps:
|
||||
for sel in mlist:
|
||||
p = self.db.getPerson(sel)
|
||||
name = GrampsCfg.nameof(p)
|
||||
msg = _("Do you really wish to delete %s?") % name
|
||||
|
||||
QuestionDialog(_('Delete Person'), msg, self.delete_person_response)
|
||||
QuestionDialog(_('Delete %s?') % name,
|
||||
_('Deleting the person will remove the person from '
|
||||
'from the database. The data can only be '
|
||||
'recovered by closing the database without saving '
|
||||
'changes. This change will become permanent '
|
||||
'after you save the database.'),
|
||||
_('Delete Person'),
|
||||
self.delete_person_response)
|
||||
|
||||
def delete_person_response(self):
|
||||
for family in self.active_person.getFamilyList():
|
||||
@ -947,7 +987,12 @@ class Gramps:
|
||||
msg = _("Do you wish to abandon your changes and "
|
||||
"revert to the last saved database?")
|
||||
|
||||
QuestionDialog(_('Abandon Changes'),msg, self.revert_query)
|
||||
QuestionDialog(_('Revert to last saved database?'),
|
||||
_('Reverting to the last saved database '
|
||||
'will cause all unsaved changes to be lost, and '
|
||||
'the last saved database will be loaded.'),
|
||||
_('Revert'),
|
||||
self.revert_query)
|
||||
else:
|
||||
msg = _("Cannot revert to a previous database, since "
|
||||
"one does not exist")
|
||||
@ -1004,6 +1049,7 @@ class Gramps:
|
||||
|
||||
def display_comment_box(self,filename):
|
||||
"""Displays a dialog box, prompting for a revison control comment"""
|
||||
filename = os.path.normpath(os.path.abspath(filename))
|
||||
VersionControl.RevisionComment(filename,self.save_file)
|
||||
|
||||
def on_person_list1_activate(self,obj):
|
||||
@ -1261,8 +1307,8 @@ class Gramps:
|
||||
self.gtop.get_widget("jump_to"),
|
||||
self.bookmark_callback)
|
||||
|
||||
def displayError(self,msg):
|
||||
ErrorDialog(msg)
|
||||
def displayError(self,msg,msg2):
|
||||
ErrorDialog(msg,msg2)
|
||||
self.status_text("")
|
||||
|
||||
def complete_rebuild(self):
|
||||
@ -1346,7 +1392,8 @@ class Gramps:
|
||||
self.change_active_person(temp)
|
||||
self.update_display(0)
|
||||
else:
|
||||
ErrorDialog(_("No default/home person has been set"))
|
||||
ErrorDialog(_("No home person has been set."),
|
||||
_("The home person may be set from the Settings menu."))
|
||||
|
||||
def on_add_bookmark_activate(self,obj):
|
||||
if self.active_person:
|
||||
@ -1355,7 +1402,8 @@ class Gramps:
|
||||
self.status_text(_("%s has been bookmarked") % name)
|
||||
gtk.timeout_add(5000,self.modify_statusbar)
|
||||
else:
|
||||
WarningDialog(_("Bookmark could not be set because no one was selected"))
|
||||
WarningDialog(_("Could not set bookmark."),
|
||||
_("A bookmark could not be set because no one was selected."))
|
||||
|
||||
def on_edit_bookmarks_activate(self,obj):
|
||||
self.bookmarks.edit()
|
||||
@ -1369,7 +1417,12 @@ class Gramps:
|
||||
name = self.active_person.getPrimaryName().getRegularName()
|
||||
msg = _("Do you wish to set %s as the home person?") % name
|
||||
|
||||
QuestionDialog(_('Set Home Person'),msg,self.set_person)
|
||||
QuestionDialog(_('Set %n as the Home Person') % name,
|
||||
_('Once a Home Person is defined, pressing the Home key '
|
||||
'on the toolbar will make the home person the active '
|
||||
'person.'),
|
||||
_('Set Home Person'),
|
||||
self.set_person)
|
||||
|
||||
def set_person(self):
|
||||
self.db.setDefaultPerson(self.active_person)
|
||||
|
@ -27,6 +27,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button81">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="imageSelect"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button79">
|
||||
<property name="visible">True</property>
|
||||
@ -41,18 +53,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button81">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="imageSelect"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -381,6 +381,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button84">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_cancel_clicked" object="change_description"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button82">
|
||||
<property name="visible">True</property>
|
||||
@ -395,18 +407,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button84">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_cancel_clicked" object="change_description"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -1308,16 +1308,15 @@
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button89">
|
||||
<widget class="GtkButton" id="button91">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="has_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-ok</property>
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="on_ok_clicked" object="change_global"/>
|
||||
<signal name="clicked" handler="on_cancel_clicked" object="change_global"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
@ -1335,17 +1334,19 @@
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button91">
|
||||
<widget class="GtkButton" id="button89">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_default">True</property>
|
||||
<property name="has_default">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="label">gtk-ok</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="on_cancel_clicked" object="change_global"/>
|
||||
<signal name="clicked" handler="on_ok_clicked" object="change_global"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -28,6 +28,20 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button108">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Reject changes and close</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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="marriageEditor"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button107">
|
||||
<property name="visible">True</property>
|
||||
@ -43,19 +57,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button108">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Reject changes and close</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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="marriageEditor"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -25,6 +25,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button9">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="merge_places"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button7">
|
||||
<property name="visible">True</property>
|
||||
@ -38,18 +50,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button9">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="merge_places"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -28,6 +28,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button127">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="placeEditor"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button126">
|
||||
<property name="visible">True</property>
|
||||
@ -42,18 +54,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button127">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="placeEditor"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -9,8 +9,8 @@
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||
<property name="modal">False</property>
|
||||
<property name="default_width">550</property>
|
||||
<property name="default_height">350</property>
|
||||
<property name="default_width">600</property>
|
||||
<property name="default_height">400</property>
|
||||
<property name="resizable">True</property>
|
||||
<property name="destroy_with_parent">False</property>
|
||||
<property name="icon">gramps.png</property>
|
||||
@ -28,15 +28,15 @@
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button104">
|
||||
<widget class="GtkButton" id="button106">
|
||||
<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="label">gtk-cancel</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="on_report_ok_clicked" object="report"/>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="report"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
@ -54,15 +54,15 @@
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button106">
|
||||
<widget class="GtkButton" id="button104">
|
||||
<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="label">gtk-ok</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="report"/>
|
||||
<signal name="clicked" handler="on_report_ok_clicked" object="report"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
@ -115,7 +115,9 @@ register_tool(
|
||||
runTool,
|
||||
_("Interactive descendant browser"),
|
||||
category=_("Analysis and Exploration"),
|
||||
description=_("Provides a browsable hierarchy based on the active person")
|
||||
description=_("Provides a browsable hierarchy based on the active person"),
|
||||
author_name="Donald N. Allingham",
|
||||
author_email="dallingham@users.sourceforge.net"
|
||||
)
|
||||
|
||||
|
||||
|
@ -335,7 +335,7 @@ class IndivComplete:
|
||||
self.d.end_cell()
|
||||
|
||||
def write_report(self):
|
||||
ind_list = self.filter.apply(self.database.getPersonMap().values())
|
||||
ind_list = self.filter.apply(seld.database,self.database.getPersonMap().values())
|
||||
count = 0
|
||||
for self.person in ind_list:
|
||||
self.write_person(count)
|
||||
|
@ -364,7 +364,7 @@ class TimeLineDialog(Report.DrawReportDialog):
|
||||
return [all,des,ans,com]
|
||||
|
||||
def make_default_style(self):
|
||||
"""Make the default output style for the Ancestor Chart report."""
|
||||
"""Make the default output style for the Timeline report."""
|
||||
f = TextDoc.FontStyle()
|
||||
f.set_size(10)
|
||||
f.set_type_face(TextDoc.FONT_SANS_SERIF)
|
||||
|
BIN
src/po/da_DK.mo
BIN
src/po/da_DK.mo
Binary file not shown.
BIN
src/po/de.mo
BIN
src/po/de.mo
Binary file not shown.
BIN
src/po/es.mo
BIN
src/po/es.mo
Binary file not shown.
BIN
src/po/pt_BR.mo
BIN
src/po/pt_BR.mo
Binary file not shown.
BIN
src/po/ru.mo
BIN
src/po/ru.mo
Binary file not shown.
BIN
src/po/sv.mo
BIN
src/po/sv.mo
Binary file not shown.
@ -6,7 +6,7 @@
|
||||
|
||||
<widget class="GtkDialog" id="preferences">
|
||||
<property name="visible">True</property>
|
||||
<property name="title" translatable="yes">Preferences - GRAMPS</property>
|
||||
<property name="title" translatable="yes">GRAMPS Preferences</property>
|
||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||
<property name="modal">False</property>
|
||||
@ -28,15 +28,15 @@
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button4">
|
||||
<widget class="GtkButton" id="button7">
|
||||
<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="label">gtk-help</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="on_ok_clicked"/>
|
||||
<signal name="clicked" handler="on_help_clicked"/>
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
@ -68,15 +68,15 @@
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button7">
|
||||
<widget class="GtkButton" id="button4">
|
||||
<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="label">gtk-ok</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="response_id">0</property>
|
||||
<signal name="clicked" handler="on_help_clicked"/>
|
||||
<signal name="clicked" handler="on_ok_clicked"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
|
@ -27,6 +27,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button129">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="dbopen"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button127">
|
||||
<property name="visible">True</property>
|
||||
@ -40,18 +52,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button129">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="dbopen"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -214,6 +214,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button134">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="revselect"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button132">
|
||||
<property name="visible">True</property>
|
||||
@ -227,18 +239,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button134">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="revselect"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -27,6 +27,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button6">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_cancel_clicked"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="ok">
|
||||
<property name="visible">True</property>
|
||||
@ -41,18 +53,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button6">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="on_cancel_clicked"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -410,6 +410,17 @@
|
||||
<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="response_id">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="ok">
|
||||
<property name="visible">True</property>
|
||||
@ -422,17 +433,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<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="response_id">0</property>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -29,7 +29,6 @@ to make sure these remain in sync with the rest of the design.
|
||||
# Imported Modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import string
|
||||
import Date
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
|
@ -26,6 +26,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button95">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="sourceDisplay"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button94">
|
||||
<property name="visible">True</property>
|
||||
@ -40,18 +52,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button95">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="sourceDisplay"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -678,6 +678,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button138">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="sourcesel"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button136">
|
||||
<property name="visible">True</property>
|
||||
@ -691,18 +703,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button138">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="sourcesel"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
@ -28,6 +28,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button2">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="styles"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button1">
|
||||
<property name="visible">True</property>
|
||||
@ -42,18 +54,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button2">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="styles"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
@ -330,6 +330,18 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button8">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="editor"/>
|
||||
</widget>
|
||||
</child>
|
||||
<child>
|
||||
<widget class="GtkButton" id="button7">
|
||||
<property name="visible">True</property>
|
||||
@ -344,18 +356,6 @@
|
||||
</widget>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkButton" id="button8">
|
||||
<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="response_id">0</property>
|
||||
<signal name="clicked" handler="destroy_passed_object" object="editor"/>
|
||||
</widget>
|
||||
</child>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
|
Loading…
Reference in New Issue
Block a user