diff --git a/configure b/configure index f9ca2fe5a..b65571f6f 100755 --- a/configure +++ b/configure @@ -1567,7 +1567,7 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -RELEASE=pre5 +RELEASE=pre6 VERSIONSTRING=$VERSION if test x"$RELEASE" != "x" diff --git a/configure.in b/configure.in index b1fd727d7..aca75a58f 100644 --- a/configure.in +++ b/configure.in @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. dnl May need to run automake && aclocal first AC_INIT(src/gramps.py) AM_INIT_AUTOMAKE(gramps, 0.9.0) -RELEASE=pre5 +RELEASE=pre6 VERSIONSTRING=$VERSION if test x"$RELEASE" != "x" diff --git a/gramps.spec b/gramps.spec index 918c052aa..50b404c80 100644 --- a/gramps.spec +++ b/gramps.spec @@ -1,5 +1,5 @@ %define ver 0.9.0 -%define rel pre5 +%define rel pre6 %define prefix /usr Summary: Genealogical Research and Analysis Management Programming System. diff --git a/src/AddMedia.py b/src/AddMedia.py index 8b449b5f3..dd5a9c2e3 100644 --- a/src/AddMedia.py +++ b/src/AddMedia.py @@ -35,8 +35,7 @@ import os # #------------------------------------------------------------------------- -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/AddSpouse.py b/src/AddSpouse.py index 05a502166..ba141060c 100644 --- a/src/AddSpouse.py +++ b/src/AddSpouse.py @@ -49,6 +49,7 @@ import RelLib import const import Utils import GrampsCfg +import ListModel #------------------------------------------------------------------------- # @@ -80,37 +81,14 @@ class AddSpouse: self.rel_combo = self.glade.get_widget("rel_combo") self.relation_type = self.glade.get_widget("rel_type") self.spouse_list = self.glade.get_widget("spouse_list") - self.model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, - gobject.TYPE_STRING, gobject.TYPE_STRING, - gobject.TYPE_STRING) - self.spouse_list.set_model(self.model) - self.selection = self.spouse_list.get_selection() - self.selection.connect('changed',self.select_row) + + titles = [ (_('Name'),3,200), (_('ID'),1,50), (_('Birth Date'),4,50), + ('',0,50), ('',0,0)] + + self.slist = ListModel.ListModel(self.spouse_list, titles, self.select_row ) self.relation_def = self.glade.get_widget("reldef") self.ok = self.glade.get_widget('spouse_ok') - - colno = 0 - for title in [ (_('Name'),3,200), - (_('ID'),1,50), - (_('Birth Date'),4,50), - ('',0,50), - ('',0,0)]: - renderer = gtk.CellRendererText () - column = gtk.TreeViewColumn (title[0], renderer, text=colno) - colno = colno + 1 - column.set_clickable (gtk.TRUE) - if title[0] == '': - column.set_clickable(gtk.TRUE) - column.set_visible(gtk.FALSE) - else: - column.set_resizable(gtk.TRUE) - column.set_sort_column_id(title[1]) - column.set_min_width(title[2]) - self.spouse_list.append_column(column) - if colno == 1: - column.clicked() - self.ok.set_sensitive(0) self.rel_combo.set_popdown_strings(const.familyRelations) @@ -234,16 +212,12 @@ class AddSpouse: index = 0 self.entries = [] - self.model.clear() + self.slist.clear() for key in self.db.getPersonKeys(): data = self.db.getPersonDisplay(key) if data[2] == sgender: continue - iter = self.model.append() - self.entries.append(key) - self.model.set(iter,0,data[0],1,data[1],2,data[3],3,data[5],4,data[6]) - if person == key: - self.selection.select_iter(iter) + self.slist.add([data[0],data[1],data[3],data[5],data[6]],key,person==key) #------------------------------------------------------------------------- # diff --git a/src/AddrEdit.py b/src/AddrEdit.py index db30b3563..2a50ca338 100644 --- a/src/AddrEdit.py +++ b/src/AddrEdit.py @@ -41,8 +41,7 @@ import RelLib import Sources from DateEdit import DateEdit -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/AttrEdit.py b/src/AttrEdit.py index a0dc436f8..ce4dfb4a8 100644 --- a/src/AttrEdit.py +++ b/src/AttrEdit.py @@ -130,7 +130,7 @@ class AttributeEditor: self.attrib.setSourceRefList(self.srcreflist) self.update(type,value,note,priv) - + print self.parent self.parent.redraw_attr_list() Utils.destroy_passed_object(obj) diff --git a/src/AutoComp.py b/src/AutoComp.py index 09202cd76..38e9e6e57 100644 --- a/src/AutoComp.py +++ b/src/AutoComp.py @@ -100,7 +100,7 @@ class AutoCompBase: this form of a select_region() call works in a signal handler and the other form doesn't is a mystery. """ - entry.select_region(0, 0) + gtk.Editable.select_region(entry,0, 0) def timer_callback(self,entry): """ @@ -146,8 +146,10 @@ class AutoCombo(AutoCompBase): self.inb = 0 text = self.entry.entry.get_text() if self.nl == string.lower(text): - self.entry.entry.set_position(self.l) - self.entry.entry.select_region(self.l, -1) + gtk.Editable.set_position(self.entry.entry,self.l) + gtk.Editable.select_region(self.entry.entry,self.l,-1) +# self.entry.entry.set_position(self.l) +# self.entry.entry.select_region(self.l, -1) def build_list(self,widget,event): """Internal task that builds the popdown strings. This task is called when the @@ -202,8 +204,8 @@ class AutoCombo(AutoCompBase): n = self.vals[0] self.nl = string.lower(n) entry.set_text(n) - entry.set_position(self.l) - entry.select_region(self.l, -1) + gtk.Editable.set_position(entry,self.l) + gtk.Editable.select_region(entry,self.l, -1) else: self.vals = [""] @@ -256,7 +258,7 @@ class AutoEntry(AutoCompBase): if nl[0:self.l] == typed_lc: self.nl = nl entry.set_text(n) - entry.set_position(self.l) - entry.select_region(self.l, -1) + gtk.Editable.set_position(entry,self.l) + gtk.Editable.select_region(entry,self.l, -1) return diff --git a/src/Date.py b/src/Date.py index 3aa6421d0..695755fc2 100644 --- a/src/Date.py +++ b/src/Date.py @@ -38,8 +38,7 @@ import time # #------------------------------------------------------------------------- import Calendar -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/DbPrompter.py b/src/DbPrompter.py index 7551e50ee..23582d6bd 100644 --- a/src/DbPrompter.py +++ b/src/DbPrompter.py @@ -36,8 +36,7 @@ import Utils import const import GrampsCfg import VersionControl -from intl import gettext -_ = gettext +from intl import gettext as _ try: import ZODB diff --git a/src/DisplayTrace.py b/src/DisplayTrace.py index 5e7485879..b9dd97e4d 100644 --- a/src/DisplayTrace.py +++ b/src/DisplayTrace.py @@ -40,9 +40,7 @@ import gtk.glade # #------------------------------------------------------------------------- import const -import intl - -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/Filter.py b/src/Filter.py index 0f9773b4f..d22b1bc88 100644 --- a/src/Filter.py +++ b/src/Filter.py @@ -28,8 +28,7 @@ import os import sys import gtk -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/Find.py b/src/Find.py index dec927e41..d57e814bd 100644 --- a/src/Find.py +++ b/src/Find.py @@ -45,8 +45,7 @@ from gnome.ui import * #------------------------------------------------------------------------- import GrampsCfg import AutoComp -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/GenericFilter.py b/src/GenericFilter.py index 292020d82..ed7d252d9 100644 --- a/src/GenericFilter.py +++ b/src/GenericFilter.py @@ -49,8 +49,7 @@ import gtk import const from RelLib import * import Date -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/ImageSelect.py b/src/ImageSelect.py index 40cfb732f..c33248d22 100644 --- a/src/ImageSelect.py +++ b/src/ImageSelect.py @@ -81,7 +81,6 @@ class ImageSelect: self.parent = parent self.canvas_list = {} self.item_map = {} - self.item_map = {} self.p_map = {} def add_thumbnail(self, photo): @@ -241,14 +240,17 @@ class Gallery(ImageSelect): def item_event(self, widget, event=None): if self.button and event.type == gtk.gdk.MOTION_NOTIFY : - if widget.drag_check_threshold(self.remember_x,self.remember_y,event.x,event.y): - self.drag_item = widget.get_item_at(self.remember_x,self.remember_y) + if widget.drag_check_threshold(self.remember_x,self.remember_y, + event.x,event.y): + self.drag_item = widget.get_item_at(self.remember_x, + self.remember_y) if self.drag_item: context = widget.drag_begin(_drag_targets, gtk.gdk.ACTION_COPY|gtk.gdk.ACTION_MOVE, self.button, event) return gtk.TRUE - photo = widget.get_data('obj') + + style = self.iconlist.get_style() if event.type == gtk.gdk.BUTTON_PRESS: if event.button == 1: @@ -257,7 +259,6 @@ class Gallery(ImageSelect): item = widget.get_item_at(event.x,event.y) if item: (i,t,b,self.photo) = self.p_map[item] - style = self.iconlist.get_style() t.set(fill_color_gdk=style.fg[gtk.STATE_SELECTED]) b.set(fill_color_gdk=style.bg[gtk.STATE_SELECTED]) if self.sel: @@ -281,7 +282,10 @@ class Gallery(ImageSelect): elif event.type == gtk.gdk.BUTTON_RELEASE: self.button = 0 elif event.type == gtk.gdk._2BUTTON_PRESS and event.button == 1: - LocalMediaProperties(photo,self.path,self) + item = widget.get_item_at(event.x,event.y) + if item: + (i,t,b,self.photo) = self.p_map[item] + LocalMediaProperties(self.photo,self.path,self) return gtk.TRUE elif event.type == gtk.gdk.MOTION_NOTIFY: if event.state & gtk.gdk.BUTTON1_MASK: @@ -313,7 +317,7 @@ class Gallery(ImageSelect): oid = object.getId() if self.canvas_list.has_key(oid): - (grp,item,text,bg,x,y) = self.canvas_list[oid] + (grp,item,text,x,y) = self.canvas_list[oid] if x != self.cx or y != self.cy: grp.move(self.cx-x,self.cy-y) else: @@ -331,39 +335,28 @@ class Gallery(ImageSelect): xloc = (_IMAGEX-x)/2 yloc = (_IMAGEY-y)/2 - bg = grp.add(gnome.canvas.CanvasRect, - x1=0, - x2=_IMAGEX, - y2=_IMAGEY, - y1=_IMAGEY-20) - + style = self.iconlist.get_style() + + box = grp.add(gnome.canvas.CanvasRect,x1=0,x2=_IMAGEX,y1=_IMAGEY-20, + y2=_IMAGEY, fill_color_gdk=style.bg[gtk.STATE_NORMAL]) item = grp.add(gnome.canvas.CanvasPixbuf, - pixbuf=image, - x=xloc, - y=yloc) - - text = grp.add(gnome.canvas.CanvasText, - x=_IMAGEX/2, - y=_IMAGEX, + pixbuf=image,x=xloc, y=yloc) + text = grp.add(gnome.canvas.CanvasText, x=_IMAGEX/2, anchor=gtk.ANCHOR_CENTER, - text=description) + justification=gtk.JUSTIFY_CENTER, + y=_IMAGEY-10, text=description) - - self.item_map[item] = oid + self.item_map[box] = oid self.item_map[text] = oid self.item_map[grp] = oid - self.item_map[bg] = oid + self.item_map[item] = oid + + for i in [ item, text, box, grp ] : + self.item_map[i] = oid + self.p_map[i] = (item,text,box,photo) + i.show() - self.p_map[item] = (item,text,bg,photo) - self.p_map[text] = (item,text,bg,photo) - self.p_map[grp] = (item,text,bg,photo) - self.p_map[bg] = (item,text,bg,photo) - - item.show() - text.show() - bg.show() - - self.canvas_list[oid] = (grp,item,text,bg,self.cx,self.cy) + self.canvas_list[oid] = (grp,item,text,self.cx,self.cy) if self.cx + _PAD + _IMAGEX > self.x: self.cx = _PAD @@ -511,7 +504,6 @@ class Gallery(ImageSelect): val[0].hide() val[1].hide() val[2].hide() - val[3].hide() l = self.dataobj.getPhotoList() l.remove(photo) @@ -584,29 +576,31 @@ class LocalMediaProperties: self.alist = photo.getAttributeList()[:] self.lists_changed = 0 self.parent = parent + self.db = parent.db fname = self.object.getPath() self.change_dialog = gtk.glade.XML(const.imageselFile, "change_description") descr_window = self.change_dialog.get_widget("description") - pixmap = self.change_dialog.get_widget("pixmap") + self.pixmap = self.change_dialog.get_widget("pixmap") self.attr_type = self.change_dialog.get_widget("attr_type") self.attr_value = self.change_dialog.get_widget("attr_value") self.attr_details = self.change_dialog.get_widget("attr_details") self.attr_list = self.change_dialog.get_widget("attr_list") - self.attr_model = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING) - Utils.build_columns(self.attr_list, [(_('Attribute'),150,-1), - (_('Value'),100,-1)]) - self.attr_list.set_model(self.attr_model) - self.attr_list.get_selection().connect('changed',self.on_attr_list_select_row) + titles = [(_('Attribute'),-1,150),(_('Value'),-1,100)] + self.atree = ListModel.ListModel(self.attr_list,titles, + self.on_attr_list_select_row, + self.on_update_attr_clicked) + descr_window.set_text(self.object.getDescription()) mtype = self.object.getMimeType() - if os.path.isfile(path): - self.pix = gtk.gdk.pixbuf_new_from_file(path) - pixmap.set_from_pixbuf(self.pix) + thumb = Utils.thumb_path(path,self.object) + if os.path.isfile(thumb): + self.pix = gtk.gdk.pixbuf_new_from_file(thumb) + self.pixmap.set_from_pixbuf(self.pix) self.change_dialog.get_widget("private").set_active(photo.getPrivacy()) self.change_dialog.get_widget("gid").set_text(self.object.getId()) @@ -627,24 +621,28 @@ class LocalMediaProperties: "on_apply_clicked" : self.on_apply_clicked, "on_add_attr_clicked": self.on_add_attr_clicked, "on_delete_attr_clicked" : self.on_delete_attr_clicked, - "on_update_attr_clicked" : self.on_update_attr_clicked, }) self.redraw_attr_list() def on_up_clicked(self,obj): - store,iter = obj.get_selected() + store,iter = self.atree.get_selected() if iter: - row = store.get_path(iter) - # select row + row = self.atree.get_row(iter) + if row != 0: + self.atree.select_row(row-1) def on_down_clicked(self,obj): - store,iter = obj.get_selected() - if iter: - row = store.get_path(iter) - # select row + model,iter = self.atree.get_selected() + if not iter: + return + row = self.atree.get_row(iter) + self.atree.select_row(row+1) def redraw_attr_list(self): - Utils.redraw_list(self.alist,self.attr_model,disp_attr) + self.atree.clear() + for attr in self.alist: + d = [attr.getType(),attr.getValue()] + self.atree.add(d,attr) def on_apply_clicked(self, obj): priv = self.change_dialog.get_widget("private").get_active() @@ -666,11 +664,10 @@ class LocalMediaProperties: self.on_apply_clicked(obj) Utils.destroy_passed_object(obj) - def on_attr_list_select_row(self,obj,row,b,c): - store,iter = obj.get_selected() + def on_attr_list_select_row(self,obj): + store,iter = self.atree.get_selected() if iter: - row = store.get_path(iter) - attr = self.alist[row[0]] + attr = self.atree.get_object(iter) self.attr_type.set_label(attr.getType()) self.attr_value.set_text(attr.getValue()) @@ -681,10 +678,9 @@ class LocalMediaProperties: def on_update_attr_clicked(self,obj): import AttrEdit - store,iter = obj.get_selected() + store,iter = self.atree.get_selected() if iter: - row = store.get_path(iter) - attr = self.alist[row[0]] + attr = self.atree.get_object(iter) AttrEdit.AttributeEditor(self,attr,"Media Object", Plugins.get_image_attributes()) @@ -717,21 +713,23 @@ class GlobalMediaProperties: self.change_dialog = gtk.glade.XML(const.imageselFile,"change_global") self.descr_window = self.change_dialog.get_widget("description") self.notes = self.change_dialog.get_widget("notes") - pixmap = self.change_dialog.get_widget("pixmap") + self.pixmap = self.change_dialog.get_widget("pixmap") self.attr_type = self.change_dialog.get_widget("attr_type") self.attr_value = self.change_dialog.get_widget("attr_value") self.attr_details = self.change_dialog.get_widget("attr_details") self.attr_list = self.change_dialog.get_widget("attr_list") - self.attr_model = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING) - Utils.build_columns(self.attr_list, [(_('Attribute'),150,-1), (_('Value'),100,-1)]) - self.attr_list.set_model(self.attr_model) - self.attr_list.get_selection().connect('changed',self.on_attr_list_select_row) + + titles = [(_('Attribute'),-1,150),(_('Value'),-1,100)] + + self.atree = ListModel.ListModel(self.attr_list,titles, + self.on_attr_list_select_row, + self.on_update_attr_clicked) self.descr_window.set_text(self.object.getDescription()) mtype = self.object.getMimeType() pb = gtk.gdk.pixbuf_new_from_file(Utils.thumb_path(self.path,self.object)) - pixmap.set_from_pixbuf(pb) + self.pixmap.set_from_pixbuf(pb) self.change_dialog.get_widget("gid").set_text(self.object.getId()) self.makelocal = self.change_dialog.get_widget("makelocal") @@ -755,16 +753,18 @@ class GlobalMediaProperties: self.redraw_attr_list() def on_up_clicked(self,obj): - store,iter = obj.get_selected() + store,iter = self.atree.get_selected() if iter: - row = store.get_path(iter) - # select row + row = self.atree.get_row(iter) + if row != 0: + self.atree.select_row(row-1) def on_down_clicked(self,obj): - store,iter = obj.get_selected() - if iter: - row = store.get_path(iter) - # select row + model,iter = self.atree.get_selected() + if not iter: + return + row = self.atree.get_row(iter) + self.atree.select_row(row+1) def update_info(self): fname = self.object.getPath() @@ -786,7 +786,10 @@ class GlobalMediaProperties: self.update() def redraw_attr_list(self): - Utils.redraw_list(self.alist,self.attr_model,disp_attr) + self.atree.clear() + for attr in self.alist: + d = [attr.getType(),attr.getValue()] + self.atree.add(d,attr) def button_press(self,obj,event): store,iter = self.refmodel.selection.get_selected() @@ -800,11 +803,9 @@ class GlobalMediaProperties: return self.refs = 1 + titles = [(_('Type'),0,150),(_('ID'),1,75),(_('Value'),2,100)] self.refmodel = ListModel.ListModel(self.change_dialog.get_widget("refinfo"), - [(_('Type'),150),(_('ID'),75),(_('Value'),100)]) - ref = self.refmodel.tree - - ref.connect('button-press-event',self.button_press) + titles,event_func=self.button_press) for key in self.db.getPersonKeys(): p = self.db.getPerson(key) for o in p.getPhotoList(): @@ -849,10 +850,9 @@ class GlobalMediaProperties: Utils.destroy_passed_object(obj) def on_attr_list_select_row(self,obj,row,b,c): - store,iter = obj.get_selected() + store,iter = self.atree.get_selected() if iter: - row = store.get_path(iter) - attr = self.alist[row[0]] + attr = self.atree.get_object(iter) self.attr_type.set_label(attr.getType()) self.attr_value.set_text(attr.getValue()) @@ -863,10 +863,9 @@ class GlobalMediaProperties: def on_update_attr_clicked(self,obj): import AttrEdit - store,iter = obj.get_selected() + store,iter = self.atree.get_selected() if iter: - row = store.get_path(iter) - attr = self.alist[row[0]] + attr = self.atree.get_object(iter) AttrEdit.AttributeEditor(self,attr,"Media Object", Plugins.get_image_attributes()) @@ -880,15 +879,6 @@ class GlobalMediaProperties: AttrEdit.AttributeEditor(self,None,"Media Object", Plugins.get_image_attributes()) -#------------------------------------------------------------------------- -# -# -# -#------------------------------------------------------------------------- -def disp_attr(attr): - return [const.display_pattr(attr.getType()),attr.getValue(),''] - - class DeleteMediaQuery: def __init__(self,media,db,update): diff --git a/src/ListModel.py b/src/ListModel.py index ac35c65a8..00fca8bcc 100644 --- a/src/ListModel.py +++ b/src/ListModel.py @@ -27,8 +27,8 @@ class ListModel: l = len(dlist) self.mylist = [TYPE_STRING]*l + [TYPE_PYOBJECT] + self.tree.set_rules_hint(gtk.TRUE) self.new_model() - self.selection = self.tree.get_selection() self.data_index = l @@ -39,10 +39,13 @@ class ListModel: column = gtk.TreeViewColumn(name[0],renderer,text=cnum) column.set_min_width(name[2]) if name[0] == '': - column.set_clickable(gtk.TRUE) column.set_visible(gtk.FALSE) else: column.set_resizable(gtk.TRUE) + if name[1] == -1: + column.set_clickable(gtk.FALSE) + else: + column.set_clickable(gtk.TRUE) cnum = cnum + 1 self.tree.append_column(column) @@ -57,7 +60,7 @@ class ListModel: num = num + 1 self.connect_model() - self.column.clicked() + self.model.set_sort_column_id(0,gtk.SORT_ASCENDING) if select_func: self.selection.connect('changed',select_func) @@ -70,7 +73,7 @@ class ListModel: def connect_model(self): self.tree.set_model(self.model) - self.column.clicked() + self.model.set_sort_column_id(0,gtk.SORT_ASCENDING) def get_selected(self): return self.selection.get_selected() @@ -91,13 +94,15 @@ class ListModel: def get_object(self,iter): return self.model.get_value(iter,self.data_index) - def add(self,data,info=None): + def add(self,data,info=None,select=0): iter = self.model.append() col = 0 for object in data: self.model.set_value(iter,col,object) col = col + 1 self.model.set_value(iter,col,info) + if select: + self.selection.select_iter(iter) def add_and_select(self,data,info=None): iter = self.model.append() diff --git a/src/LocEdit.py b/src/LocEdit.py index 72de8afc8..05780a204 100644 --- a/src/LocEdit.py +++ b/src/LocEdit.py @@ -34,8 +34,7 @@ import const import Utils from RelLib import * -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/Marriage.py b/src/Marriage.py index 2f79e3f4a..17b6ebe01 100644 --- a/src/Marriage.py +++ b/src/Marriage.py @@ -131,7 +131,7 @@ class Marriage: self.gallery.load_images() etitles = [(_('Event'),0,150),(_('Date'),1,150),(_('Place'),2,150)] - atitles = [(_('Attribute'),0,150),(_('Value'),1,150)] + atitles = [(_('Attribute'),-1,150),(_('Value'),-1,150)] self.etree = ListModel.ListModel(self.event_list, etitles, self.on_select_row, @@ -306,20 +306,18 @@ class Marriage: data = str(('fattr',self.family.getId(),pickled)); selection_data.set(selection_data.target, bits_per, data) - #------------------------------------------------------------------------- - # - # - # - #------------------------------------------------------------------------- def update_lists(self): self.family.setEventList(self.elist) self.family.setAttributeList(self.alist) def redraw_attr_list(self): - for data in self.alist: - self.atree.add([data.getName(),data.getValue()],data) + self.atree.clear() + for attr in self.alist: + d = [const.display_fattr(attr.getType()),attr.getValue()] + self.atree.add(d,attr) def redraw_event_list(self): + self.etree.clear() for data in self.elist: self.etree.add([data.getName(),data.getQuoteDate(),data.getPlaceName()],data) @@ -559,22 +557,3 @@ class Marriage: name = mother.getPrimaryName().getName() AttrEdit.AttributeEditor(self,None,name,const.familyAttributes) - -#------------------------------------------------------------------------- -# -# -# -#------------------------------------------------------------------------- -def disp_attr(attr): - return [const.display_fattr(attr.getType()),attr.getValue()] - -#------------------------------------------------------------------------- -# -# -# -#------------------------------------------------------------------------- -def disp_event(event): - return [const.display_fevent(event.getName()), - event.getQuoteDate(), - event.getPlaceName()] - diff --git a/src/NameEdit.py b/src/NameEdit.py index edb5b2baf..7cf73c804 100644 --- a/src/NameEdit.py +++ b/src/NameEdit.py @@ -36,8 +36,7 @@ import AutoComp import Sources from RelLib import * -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/VersionControl.py b/src/VersionControl.py index 08604c6e9..5587b6c0e 100644 --- a/src/VersionControl.py +++ b/src/VersionControl.py @@ -44,8 +44,7 @@ import gtk.glade # standard python modules # #------------------------------------------------------------------------- -from intl import gettext -_ = gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/bad.xpm b/src/bad.xpm deleted file mode 100644 index 0fd48183d..000000000 --- a/src/bad.xpm +++ /dev/null @@ -1,35 +0,0 @@ -/* XPM */ -static char * bad_xpm[] = { - "10 10 21 1", - " c None", - ". c #A21818", - "+ c #A31818", - "@ c #9A1717", - "# c #C80E0E", - "$ c #C90F0F", - "% c #CA0C0C", - "& c #E60606", - "* c #F40202", - "= c #DE0909", - "- c #8F0D0D", - "; c #F90101", - "> c #FF0000", - ", c #F80101", - "' c #E50707", - ") c #C20E0E", - "! c #C10E0E", - "~ c #000000", - "{ c #810C0C", - "] c #C80C0C", - "^ c #130202", - " .++@ ", - " #$$$$% ", - ".$&&&*=- ", - "+$&;>,') ", - "+$&>>,'!~ ", - "@$*,,*={~ ", - " %=''=]^ ", - " -)!{^~ ", - " ~~ ", - " " -}; diff --git a/src/caution.xpm b/src/caution.xpm deleted file mode 100644 index bafdf87e9..000000000 --- a/src/caution.xpm +++ /dev/null @@ -1,35 +0,0 @@ -/* XPM */ -static char * caution_xpm[] = { - "10 10 21 1", - " c None", - ". c #B0AF28", - "+ c #B2B028", - "@ c #A9A726", - "# c #D1D017", - "$ c #D2D118", - "% c #D2D114", - "& c #EAEA0B", - "* c #F6F604", - "= c #E3E30F", - "- c #979615", - "; c #F9F902", - "> c #FFFF00", - ", c #F9F903", - "' c #E9E90B", - ") c #CACA18", - "! c #C9C918", - "~ c #000000", - "{ c #898813", - "] c #CFCF14", - "^ c #151504", - " .++@ ", - " #$$$$% ", - ".$&&&*=- ", - "+$&;>,') ", - "+$&>>,'!~ ", - "@$*,,*={~ ", - " %=''=]^ ", - " -)!{^~ ", - " ~~ ", - " " -}; diff --git a/src/const.py b/src/const.py index 5e311a3b0..ccf19f238 100644 --- a/src/const.py +++ b/src/const.py @@ -30,7 +30,8 @@ import os # internationalization # #------------------------------------------------------------------------- -from intl import gettext as _ +from intl import gettext +_ = gettext #------------------------------------------------------------------------- # @@ -56,11 +57,11 @@ if os.environ.has_key('GRAMPSDIR'): else: rootDir = "." +papersize = "%s/papersize.xml" % rootDir good_xpm = "%s/good.png" % rootDir bad_xpm = "%s/bad.png" % rootDir caution_xpm = "%s/caution.png" % rootDir -papersize = "%s/papersize.xml" % rootDir system_filters = "%s/system_filters.xml" % rootDir custom_filters = "~/.gramps/custom_filters.xml" icon = "%s/gramps.xpm" % rootDir @@ -99,7 +100,7 @@ startup = 1 # #------------------------------------------------------------------------- progName = "GRAMPS" -version = "0.9.0-pre5" +version = "0.9.0-pre6" copyright = "© 2001-2002 Donald N. Allingham" authors = ["Donald N. Allingham", "David Hampton","Donald A. Peterson"] comments = _("GRAMPS (Genealogical Research and Analysis " diff --git a/src/docgen/AbiWordDoc.py b/src/docgen/AbiWordDoc.py index 53333e18a..755fa7cd3 100644 --- a/src/docgen/AbiWordDoc.py +++ b/src/docgen/AbiWordDoc.py @@ -34,8 +34,7 @@ from latin_utf8 import latin_to_utf8 import string import Plugins import ImgManip -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/docgen/HtmlDoc.py b/src/docgen/HtmlDoc.py index 48a226a73..55dd9e185 100644 --- a/src/docgen/HtmlDoc.py +++ b/src/docgen/HtmlDoc.py @@ -31,8 +31,7 @@ import const from TextDoc import * -from intl import gettext -_ = gettext +from intl import gettext as _ t_header_line_re = re.compile(r"(.*)(.*)(.*)", re.DOTALL|re.IGNORECASE|re.MULTILINE) diff --git a/src/docgen/KwordDoc.py b/src/docgen/KwordDoc.py index c532ea8bc..2219a2757 100644 --- a/src/docgen/KwordDoc.py +++ b/src/docgen/KwordDoc.py @@ -28,8 +28,7 @@ import gzip from TarFile import TarFile import Plugins import ImgManip -import intl -_ = intl.gettext +from intl import gettext as _ def points(val): inch = float(val)/2.54 diff --git a/src/docgen/LaTeXDoc.py b/src/docgen/LaTeXDoc.py index b810a37e1..5aa2221e9 100644 --- a/src/docgen/LaTeXDoc.py +++ b/src/docgen/LaTeXDoc.py @@ -31,8 +31,7 @@ from TextDoc import * import Plugins import ImgManip -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/docgen/OpenDrawDoc.py b/src/docgen/OpenDrawDoc.py index 57679afe1..1699321dd 100644 --- a/src/docgen/OpenDrawDoc.py +++ b/src/docgen/OpenDrawDoc.py @@ -22,8 +22,7 @@ import os import tempfile import string import Plugins -import intl -_ = intl.gettext +from intl import gettext as _ from TextDoc import * from DrawDoc import * diff --git a/src/docgen/OpenOfficeDoc.py b/src/docgen/OpenOfficeDoc.py index b5892fd70..35d94bc54 100644 --- a/src/docgen/OpenOfficeDoc.py +++ b/src/docgen/OpenOfficeDoc.py @@ -26,11 +26,9 @@ from TextDoc import * from latin_utf8 import latin_to_utf8 import const import Plugins -import intl +from intl import gettext as _ import ImgManip -_ = intl.gettext - try: from codecs import * except: diff --git a/src/docgen/PSDrawDoc.py b/src/docgen/PSDrawDoc.py index 6192d67f4..3044c0b46 100644 --- a/src/docgen/PSDrawDoc.py +++ b/src/docgen/PSDrawDoc.py @@ -21,8 +21,7 @@ import os import string import Plugins -import intl -_ = intl.gettext +from intl import gettext as _ from TextDoc import * from DrawDoc import * diff --git a/src/docgen/PdfDoc.py b/src/docgen/PdfDoc.py index 5329f6d90..37de35910 100644 --- a/src/docgen/PdfDoc.py +++ b/src/docgen/PdfDoc.py @@ -26,8 +26,7 @@ from TextDoc import * import Plugins import ImgManip -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/docgen/PdfDrawDoc.py b/src/docgen/PdfDrawDoc.py index 3a3c4eca6..ecc153cd4 100644 --- a/src/docgen/PdfDrawDoc.py +++ b/src/docgen/PdfDrawDoc.py @@ -24,8 +24,7 @@ import string from TextDoc import * from DrawDoc import * import Plugins -import intl -_ = intl.gettext +from intl import gettext as _ try: from reportlab.pdfgen import canvas diff --git a/src/docgen/RTFDoc.py b/src/docgen/RTFDoc.py index dc598c619..d3afecb94 100644 --- a/src/docgen/RTFDoc.py +++ b/src/docgen/RTFDoc.py @@ -27,8 +27,7 @@ from TextDoc import * import Plugins import ImgManip -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/docgen/SvgDrawDoc.py b/src/docgen/SvgDrawDoc.py index 1c1b87554..2c50ec989 100644 --- a/src/docgen/SvgDrawDoc.py +++ b/src/docgen/SvgDrawDoc.py @@ -21,8 +21,7 @@ import os import string import Plugins -import intl -_ = intl.gettext +from intl import gettext as _ from TextDoc import * from DrawDoc import * diff --git a/src/filters/After.py b/src/filters/After.py index 5f2c40e4b..509750e16 100644 --- a/src/filters/After.py +++ b/src/filters/After.py @@ -22,8 +22,7 @@ import Filter import Date -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/filters/Before.py b/src/filters/Before.py index 5e88565fd..d3f2ad15a 100644 --- a/src/filters/Before.py +++ b/src/filters/Before.py @@ -22,8 +22,7 @@ import Filter import Date -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/filters/Disconnected.py b/src/filters/Disconnected.py index f7ec9417b..8d3a09b74 100644 --- a/src/filters/Disconnected.py +++ b/src/filters/Disconnected.py @@ -21,8 +21,7 @@ "Disconnected individuals" import Filter -import intl -_ = intl.gettext +from intl import gettext as _ class Disconnected(Filter.Filter): "Disconnected individuals" diff --git a/src/filters/EventPlace.py b/src/filters/EventPlace.py index 8e76b1242..cbfb46c1e 100644 --- a/src/filters/EventPlace.py +++ b/src/filters/EventPlace.py @@ -22,8 +22,7 @@ import Filter import re -import intl -_ = intl.gettext +from intl import gettext as _ class EventPlace(Filter.Filter): """Finds people with a specfied event location in any field""" diff --git a/src/filters/EventType.py b/src/filters/EventType.py index 76a11b939..52232f6c3 100644 --- a/src/filters/EventType.py +++ b/src/filters/EventType.py @@ -21,8 +21,7 @@ "People who have an event type of ..." import Filter -import intl -_ = intl.gettext +from intl import gettext as _ class EventType(Filter.Filter): diff --git a/src/filters/Females.py b/src/filters/Females.py index 20ef34d39..f4bb8e0d1 100644 --- a/src/filters/Females.py +++ b/src/filters/Females.py @@ -22,8 +22,7 @@ import Filter from RelLib import Person -import intl -_ = intl.gettext +from intl import gettext as _ class Females(Filter.Filter): "Females" diff --git a/src/filters/HavePhotos.py b/src/filters/HavePhotos.py index 0c6ef686e..282c73fb6 100644 --- a/src/filters/HavePhotos.py +++ b/src/filters/HavePhotos.py @@ -21,8 +21,7 @@ "People who have images" import Filter -import intl -_ = intl.gettext +from intl import gettext as _ class HavePhotos(Filter.Filter): "People who have images" diff --git a/src/filters/IncompleteNames.py b/src/filters/IncompleteNames.py index 93d34ab80..b03563e85 100644 --- a/src/filters/IncompleteNames.py +++ b/src/filters/IncompleteNames.py @@ -22,8 +22,7 @@ import Filter from RelLib import Person -import intl -_ = intl.gettext +from intl import gettext as _ class IncompleteNames(Filter.Filter): "People with incomplete names" diff --git a/src/filters/Males.py b/src/filters/Males.py index 8275a96f7..81e98a4f0 100644 --- a/src/filters/Males.py +++ b/src/filters/Males.py @@ -22,8 +22,7 @@ import Filter from RelLib import Person -import intl -_ = intl.gettext +from intl import gettext as _ class Males(Filter.Filter): "Males" diff --git a/src/filters/MatchSndEx.py b/src/filters/MatchSndEx.py index 4fd3f357a..cb7878f43 100644 --- a/src/filters/MatchSndEx.py +++ b/src/filters/MatchSndEx.py @@ -22,8 +22,7 @@ import Filter import soundex -import intl -_ = intl.gettext +from intl import gettext as _ class MatchSndEx(Filter.Filter): "Names with same SoundEx code as ..." diff --git a/src/filters/MatchSndEx2.py b/src/filters/MatchSndEx2.py index 95da8a3d6..5a5919916 100644 --- a/src/filters/MatchSndEx2.py +++ b/src/filters/MatchSndEx2.py @@ -22,8 +22,7 @@ import Filter import soundex -import intl -_ = intl.gettext +from intl import gettext as _ class MatchSndEx2(Filter.Filter): "Names with the specified SoundEx code" diff --git a/src/filters/MutlipleMarriages.py b/src/filters/MutlipleMarriages.py index 349d26aff..0b9615d27 100644 --- a/src/filters/MutlipleMarriages.py +++ b/src/filters/MutlipleMarriages.py @@ -21,8 +21,7 @@ "People with multiple marriage records" import Filter -import intl -_ = intl.gettext +from intl import gettext as _ class MultipleMarriages(Filter.Filter): "People with multiple marriage records" diff --git a/src/filters/NeverMarried.py b/src/filters/NeverMarried.py index 212f153f8..2a0ae46a8 100644 --- a/src/filters/NeverMarried.py +++ b/src/filters/NeverMarried.py @@ -21,8 +21,7 @@ "People with no marriage records" import Filter -import intl -_ = intl.gettext +from intl import gettext as _ class NeverMarried(Filter.Filter): "People with no marriage records" diff --git a/src/filters/NoBirthdate.py b/src/filters/NoBirthdate.py index b90c7ac7b..be9e71d36 100644 --- a/src/filters/NoBirthdate.py +++ b/src/filters/NoBirthdate.py @@ -21,8 +21,7 @@ "People without a birth date" import Filter -import intl -_ = intl.gettext +from intl import gettext as _ class NoBirthdate(Filter.Filter): "People without a birth date" diff --git a/src/filters/NoChildren.py b/src/filters/NoChildren.py index 2cfa9e433..4b8ca2398 100644 --- a/src/filters/NoChildren.py +++ b/src/filters/NoChildren.py @@ -21,8 +21,7 @@ "People with children" import Filter -import intl -_ = intl.gettext +from intl import gettext as _ class HaveChildren(Filter.Filter): "People with children" diff --git a/src/filters/RegExMatch.py b/src/filters/RegExMatch.py index a5b427bc0..3b1beb74f 100644 --- a/src/filters/RegExMatch.py +++ b/src/filters/RegExMatch.py @@ -23,8 +23,7 @@ import Filter import re import Utils -import intl -_ = intl.gettext +from intl import gettext as _ class RegExMatch(Filter.Filter): "Names that match a regular expression" diff --git a/src/filters/SubString.py b/src/filters/SubString.py index 60bd43b30..4e490d7de 100644 --- a/src/filters/SubString.py +++ b/src/filters/SubString.py @@ -23,8 +23,7 @@ import Filter import string import Utils -import intl -_ = intl.gettext +from intl import gettext as _ class SubString(Filter.Filter): "Names that contain a substring" diff --git a/src/good.xpm b/src/good.xpm deleted file mode 100644 index a600011a4..000000000 --- a/src/good.xpm +++ /dev/null @@ -1,38 +0,0 @@ -/* XPM */ -static char * good_xpm[] = { - "10 10 24 1", - " c None", - ". c #0EB40E", - "+ c #11A711", - "@ c #11A211", - "# c #0DA10D", - "$ c #09CB09", - "% c #0BCC0B", - "& c #08CD08", - "* c #098609", - "= c #05E705", - "- c #02F502", - "; c #07E007", - "> c #0A9D0A", - ", c #01F901", - "' c #00FF00", - ") c #01F801", - "! c #05E605", - "~ c #0AC40A", - "{ c #0AC30A", - "] c #000000", - "^ c #099209", - "/ c #08CB08", - "( c #033403", - "_ c #098509", - " .+++@# ", - ".$%%%%&* ", - "+%===-;> ", - "+%=,')!~ ", - "+%='')!{] ", - "@%-))-;^] ", - "#&;!!;/( ", - " _>~{^(] ", - " ]] ", - " " -}; diff --git a/src/gramps.py b/src/gramps.py index 1fd4099cb..e63aff720 100755 --- a/src/gramps.py +++ b/src/gramps.py @@ -6,16 +6,19 @@ # #------------------------------------------------------------------------- import os -import intl import locale +import gtk.glade +import intl if os.environ.has_key("GRAMPSI18N"): loc = os.environ["GRAMPSI18N"] else: loc = "locale" -intl.textdomain("gramps") + intl.bindtextdomain("gramps",loc) +intl.bind_textdomain_codeset("gramps",'UTF-8') +intl.textdomain("gramps") locale.setlocale(locale.LC_NUMERIC,"C") #------------------------------------------------------------------------- diff --git a/src/gramps.zodb b/src/gramps.zodb index 35e86667a..d7f7a315e 100644 Binary files a/src/gramps.zodb and b/src/gramps.zodb differ diff --git a/src/imagesel.glade b/src/imagesel.glade index b32f22702..d1ebd761b 100644 --- a/src/imagesel.glade +++ b/src/imagesel.glade @@ -1,2328 +1,2366 @@ - + - - - - Select a Media Object - GRAMPS - GTK_WINDOW_DIALOG - no - 400 - no - yes - yes - GTK_WIN_POS_NONE - - - - no - 8 - yes - - - - GTK_BUTTONBOX_END - 8 - yes - - - - yes - yes - yes - yes - gtk-ok - yes - yes - - - - - - - - yes - yes - yes - gtk-cancel - yes - yes - - - - - - - 0 - no - yes - GTK_PACK_END - - - - - - no - 5 - yes - - - - Select a Media Object - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - 0 - no - no - - - - - - yes - - - 0 - no - no - - - - - - no - 0 - yes - - - - - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - 0 - yes - yes - - - - - - Preview - 0 - GTK_SHADOW_ETCHED_IN - yes - - - - 100 - 100 - yes - - - - - 0 - no - no - - - - - - - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - 0 - yes - yes - - - - - 0 - no - no - - - - - - no - 0 - 0 - 3 - 2 - yes - - - - File - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 0 - yes - - - 0 - 1 - 0 - 1 - 0 - 10 - fill - - - - - - - Title - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 0 - yes - - - 0 - 1 - 1 - 2 - 0 - 5 - - - - - - - - yes - yes - - 0 - yes - yes - - - 1 - 2 - 1 - 2 - 5 - 0 - expand|fill - - - - - - - yes - Do not make a local copy - no - yes - yes - - - 1 - 2 - 2 - 3 - 5 - 10 - fill - - - - - - - photoselect - no - 350 - no - Select an image - yes - - - - yes - yes - yes - - 0 - yes - yes - - - - - - - 1 - 2 - 0 - 1 - 5 - 5 - expand|fill - - - - - - 0 - no - no - - - - - 0 - yes - yes - - - - - 4 - yes - yes - - - - - Change Local Media Object Properties - GRAMPS - GTK_WINDOW_TOPLEVEL - no - no - yes - yes - GTK_WIN_POS_NONE - - - - no - 8 - yes - - - - GTK_BUTTONBOX_END - 8 - yes - - - - yes - yes - yes - yes - gtk-ok - yes - yes - - - - - - - - yes - yes - yes - gtk-cancel - yes - yes - - - - - - - 0 - no - yes - GTK_PACK_END - - - - - - no - 0 - yes - - - - Change Local Media Object Properties - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - 0 - no - no - - - - - - yes - - - 10 - no - yes - - - - - - no - 0 - yes - - - - 100 - 100 - yes - - - 0 - no - yes - - - - - - 0 - GTK_SHADOW_ETCHED_IN - yes - - - - no - 0 - 0 - 5 - 3 - yes - - - - Path - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 5 - yes - - - 0 - 1 - 2 - 3 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 1 - 2 - 2 - 3 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_LEFT - yes - 0 - 0.5 - 0 - 0 - 350 - yes - - - 2 - 3 - 1 - 2 - 5 - 5 - expand|fill - - - - - - - - GTK_JUSTIFY_LEFT - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 3 - 2 - 3 - 5 - 5 - expand|fill - - - - - - - ID - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 5 - yes - - - 0 - 1 - 0 - 1 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 1 - 2 - 0 - 1 - 0 - 0 - fill - - - - - - - Object Type - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 5 - yes - - - 0 - 1 - 3 - 4 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 1 - 2 - 3 - 4 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 3 - 3 - 4 - 5 - 5 - fill - - - - - - - - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 3 - 0 - 1 - 5 - 5 - expand|fill - - - - - - - yes - Private - no - yes - yes - - - 2 - 3 - 4 - 5 - 0 - 0 - fill - - - - - - - Title - GTK_JUSTIFY_CENTER - no - 1 - 0 - 5 - 5 - yes - - - 0 - 1 - 1 - 2 - 0 - 0 - fill - expand|fill - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0 - 0 - 5 - yes - - - 1 - 2 - 1 - 2 - 0 - 0 - fill - expand|fill - - - - - - - 0 - yes - yes - - - - - 0 - yes - yes - - - - - - yes - yes - yes - GTK_POS_TOP - no - 2 - 2 - no - yes - - - - GTK_POLICY_NEVER - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - yes - - - - yes - yes - - GTK_WRAP_WORD - yes - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - - - Notes - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - tab - - - - - - no - 0 - yes - - - - no - 0 - yes - - - - 5 - No Attributes - 0 - GTK_SHADOW_ETCHED_IN - yes - - - - no - 0 - 0 - 2 - 3 - yes - - - - Value - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 3 - yes - - - 0 - 1 - 0 - 1 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 3 - 0 - 1 - 3 - 3 - expand|fill - - - - - - - Details - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 3 - yes - - - 0 - 1 - 1 - 2 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_LEFT - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 3 - 1 - 2 - 3 - 3 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 3 - yes - - - 1 - 2 - 0 - 1 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 3 - yes - - - 1 - 2 - 1 - 2 - 0 - 0 - fill - - - - - - - - 0 - yes - yes - - - - - - GTK_BUTTONBOX_DEFAULT_STYLE - 2 - yes - - - - yes - yes - GTK_RELIEF_NORMAL - yes - - - - - - GTK_ARROW_UP - GTK_SHADOW_OUT - 0.5 - 0.5 - 0 - 0 - yes - - - - - - - - yes - yes - GTK_RELIEF_NORMAL - yes - - - - - - GTK_ARROW_DOWN - GTK_SHADOW_OUT - 0.5 - 0.5 - 0 - 0 - yes - - - - - - - 0 - no - yes - - - - - 5 - no - no - - - - - - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - 550 - 150 - yes - - - - yes - yes - yes - - - - CList:title - Attribute - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - CList:title - Value - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - CList:title - Details - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - 0 - yes - yes - - - - - - GTK_BUTTONBOX_SPREAD - 30 - yes - - - - Creates a new object attribute from the above data - yes - yes - Add - GTK_RELIEF_NORMAL - yes - - - - - - - - Updates the selected object attribute with the above data - yes - yes - Edit - GTK_RELIEF_NORMAL - yes - - - - - - - - Delete the selected attribute - yes - yes - Delete - GTK_RELIEF_NORMAL - yes - - - - - - - 0 - no - yes - - - - - - - - Attributes - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - tab - - - - - 10 - yes - yes - - - - - 0 - yes - yes - - - - - 4 - yes - yes - - - - - Change Global Media Object Properties - GRAMPS - GTK_WINDOW_TOPLEVEL - no - no - yes - yes - GTK_WIN_POS_NONE - - - - no - 8 - yes - - - - GTK_BUTTONBOX_END - 8 - yes - - - - yes - yes - yes - yes - gtk-ok - yes - yes - - - - - - - - yes - yes - yes - gtk-apply - yes - yes - - - - - - - - yes - yes - yes - gtk-cancel - yes - yes - - - - - - - 0 - no - yes - GTK_PACK_END - - - - - - no - 0 - yes - - - - Change Global Media Object Properties - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - 0 - no - no - - - - - - yes - - - 10 - no - yes - - - - - - yes - yes - yes - GTK_POS_TOP - no - 2 - 2 - no - yes - - - - - - no - 0 - yes - - - - no - 0 - yes - - - - 100 - 100 - yes - - - 10 - no - yes - - - - - - General Information - 0 - GTK_SHADOW_ETCHED_IN - yes - - - - no - 0 - 0 - 3 - 4 - yes - - - - ID - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 5 - yes - - - 0 - 1 - 0 - 1 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 1 - 2 - 0 - 1 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 4 - 0 - 1 - 0 - 0 - expand|fill - - - - - - - Path - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 5 - yes - - - 0 - 1 - 1 - 2 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 1 - 2 - 1 - 2 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 4 - 1 - 2 - 0 - 0 - expand|fill - - - - - - - Object Type - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 5 - yes - - - 0 - 1 - 2 - 3 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 1 - 2 - 2 - 3 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 4 - 2 - 3 - 0 - 0 - fill - - - - - - - - 0 - yes - yes - - - - - 10 - yes - yes - - - - - - yes - - - 10 - yes - yes - - - - - - no - 0 - yes - - - - Title - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 5 - yes - - - 0 - no - no - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 0 - no - no - - - - - - yes - yes - - 0 - yes - yes - - - 2 - yes - yes - - - - - 0 - no - yes - - - - - - no - 0 - yes - - - - - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - 0 - yes - yes - - - - - - Copies the object into the database - yes - Make Local Copy - GTK_RELIEF_NORMAL - yes - - - - - 5 - no - no - - - - - - - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - 0 - yes - yes - - - - - 5 - no - no - - - - - - - - General - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - tab - - - - - - no - 0 - yes - - - - no - 0 - yes - - - - 5 - No Attributes - 0 - GTK_SHADOW_ETCHED_IN - yes - - - - no - 0 - 0 - 2 - 3 - yes - - - - Value - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 3 - yes - - - 0 - 1 - 0 - 1 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 3 - 0 - 1 - 3 - 3 - expand|fill - - - - - - - Details - GTK_JUSTIFY_CENTER - no - 1 - 0.5 - 5 - 3 - yes - - - 0 - 1 - 1 - 2 - 0 - 0 - fill - - - - - - - - GTK_JUSTIFY_LEFT - no - 0 - 0.5 - 0 - 0 - yes - - - 2 - 3 - 1 - 2 - 3 - 3 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 3 - yes - - - 1 - 2 - 0 - 1 - 0 - 0 - fill - - - - - - - : - GTK_JUSTIFY_CENTER - no - 0 - 0.5 - 0 - 3 - yes - - - 1 - 2 - 1 - 2 - 0 - 0 - fill - - - - - - - - 0 - yes - yes - - - - - - GTK_BUTTONBOX_DEFAULT_STYLE - 2 - yes - - - - yes - yes - GTK_RELIEF_NORMAL - yes - - - - - - GTK_ARROW_UP - GTK_SHADOW_OUT - 0.5 - 0.5 - 0 - 0 - yes - - - - - - - - yes - yes - GTK_RELIEF_NORMAL - yes - - - - - - GTK_ARROW_DOWN - GTK_SHADOW_OUT - 0.5 - 0.5 - 0 - 0 - yes - - - - - - - 0 - no - yes - - - - - 5 - no - no - - - - - - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - 550 - 150 - yes - - - - yes - yes - 100 - yes - - - - CList:title - Attribute - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - CList:title - Value - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - CList:title - Details - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - 0 - yes - yes - - - - - - GTK_BUTTONBOX_SPREAD - 30 - yes - - - - Creates a new attribute from the above data - yes - yes - Add - GTK_RELIEF_NORMAL - yes - - - - - - - - Updates the selected attribute with the above data - yes - yes - Edit - GTK_RELIEF_NORMAL - yes - - - - - - - - Delete the selected attribute - yes - yes - Delete - GTK_RELIEF_NORMAL - yes - - - - - - - 0 - no - yes - - - - - - - - Attributes - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - tab - - - - - - GTK_POLICY_NEVER - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - yes - - - - yes - yes - - GTK_WRAP_WORD - yes - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - - - Notes - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - tab - - - - - - GTK_POLICY_NEVER - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN - yes - - - - yes - yes - yes - - - - CList:title - Type - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - CList:title - ID - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - CList:title - Title - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - GTK_UPDATE_CONTINUOUS - yes - - - - - - - - References - GTK_JUSTIFY_CENTER - no - 0.5 - 0.5 - 0 - 0 - yes - - - tab - - - - - 0 - yes - yes - - - - - 0 - yes - yes - - - - - 4 - yes - yes - - - + + + + True + Select a Media Object - GRAMPS + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 400 + True + False + True + + + + True + False + 8 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + 0 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + 0 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 5 + + + + True + Select a Media Object + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + + + 0 + False + False + + + + + + True + False + 0 + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + True + True + + + + + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + 0.5 + 0.5 + 0 + 0 + + + + + + True + Preview + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + label_item + + + + + 0 + False + False + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + True + True + + + + + 0 + False + False + + + + + + True + 3 + 2 + False + 0 + 0 + + + + True + File + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 0 + + + 0 + 1 + 0 + 1 + 10 + fill + + + + + + + True + Title + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 0 + + + 0 + 1 + 1 + 2 + 5 + + + + + + + + True + True + True + True + 0 + + True + * + False + + + 1 + 2 + 1 + 2 + 5 + + + + + + + True + True + Do not make a local copy + True + GTK_RELIEF_NORMAL + False + False + True + + + 1 + 2 + 2 + 3 + 5 + 10 + fill + + + + + + + True + photoselect + 10 + Select an image + False + False + + + + True + True + True + True + True + 0 + + True + * + False + + + + + + 1 + 2 + 0 + 1 + 5 + 5 + + + + + + 0 + False + False + + + + + 0 + True + True + + + + + + + + True + Change Local Media Object Properties - GRAMPS + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 550 + 450 + True + False + True + + + + True + False + 8 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + 0 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + 0 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + Change Local Media Object Properties + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + + + 10 + False + True + + + + + + True + False + 0 + + + + 100 + True + 0.5 + 0.5 + 0 + 0 + + + 0 + False + True + + + + + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + 5 + 3 + False + 0 + 0 + + + + True + Path + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 1 + 2 + 2 + 3 + fill + + + + + + + True + ID + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + Object Type + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 0 + + + 0 + 1 + 3 + 4 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 1 + 2 + 3 + 4 + fill + + + + + + + True + True + Private + True + GTK_RELIEF_NORMAL + False + False + True + + + 2 + 3 + 4 + 5 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 0 + 1 + 5 + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 2 + 3 + 5 + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 3 + 4 + 5 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 1 + 2 + 5 + + + + + + + True + Title + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 0 + + + 0 + 1 + 1 + 2 + fill + fill + + + + + + + 0 + True + True + + + + + 0 + False + True + + + + + + True + True + True + True + GTK_POS_TOP + False + 2 + 2 + False + + + + True + GTK_POLICY_NEVER + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + GTK_JUSTIFY_LEFT + GTK_WRAP_WORD + True + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + False + True + + + + + + True + Notes + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + tab + + + + + + True + False + 0 + + + + True + False + 0 + + + + 5 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + 2 + 3 + False + 0 + 0 + + + + True + Value + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 3 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 0 + 1 + 3 + 3 + + + + + + + True + Details + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 3 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 1 + 2 + 3 + 3 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 3 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 3 + + + 1 + 2 + 1 + 2 + fill + + + + + + + + + True + No Attributes + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + GTK_BUTTONBOX_DEFAULT_STYLE + 2 + + + 0 + False + True + + + + + + True + True + 0 + + + + True + True + True + GTK_RELIEF_NORMAL + + + + + True + GTK_ARROW_UP + GTK_SHADOW_OUT + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + + + + + + True + True + True + GTK_RELIEF_NORMAL + + + + + True + GTK_ARROW_DOWN + GTK_SHADOW_OUT + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + 5 + False + False + + + + + 5 + False + False + + + + + + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + True + False + True + + + + + 0 + True + True + + + + + + True + GTK_BUTTONBOX_SPREAD + 30 + + + + True + Creates a new object attribute from the above data + True + True + gtk-add + True + GTK_RELIEF_NORMAL + + + + + + + True + Delete the selected attribute + True + True + gtk-remove + True + GTK_RELIEF_NORMAL + + + + + + 0 + False + True + + + + + False + True + + + + + + True + Attributes + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + tab + + + + + 10 + True + True + + + + + 0 + True + True + + + + + + + + True + Change Global Media Object Properties - GRAMPS + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + 500 + 400 + True + False + True + + + + True + False + 8 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + 0 + + + + + + + True + True + True + gtk-apply + True + GTK_RELIEF_NORMAL + 0 + + + + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + 0 + + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + Change Global Media Object Properties + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + + + 10 + False + True + + + + + + True + True + True + True + GTK_POS_TOP + False + 2 + 2 + False + + + + + True + False + 0 + + + + True + False + 0 + + + + 100 + 100 + True + 0.5 + 0.5 + 0 + 0 + + + 10 + False + True + + + + + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + 3 + 4 + False + 0 + 0 + + + + True + ID + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 5 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 4 + 0 + 1 + + + + + + + True + Path + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 5 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 4 + 1 + 2 + + + + + + + True + Object Type + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 5 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 1 + 2 + 2 + 3 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 4 + 2 + 3 + fill + + + + + + + + + True + General Information + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + label_item + + + + + 5 + True + True + + + + + 10 + False + True + + + + + + True + False + 0 + + + + True + Title + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 5 + + + 0 + False + False + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + True + True + True + 0 + + True + * + False + + + 5 + True + True + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + True + True + + + + + + True + Copies the object into the database + True + Make Local Copy + True + GTK_RELIEF_NORMAL + + + + 5 + False + False + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + True + True + + + + + 5 + False + False + + + + + False + True + + + + + + True + General + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + tab + + + + + + True + False + 0 + + + + True + False + 0 + + + + 5 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + 2 + 3 + False + 0 + 0 + + + + True + Value + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 3 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 0 + 1 + 3 + 3 + + + + + + + True + Details + False + False + GTK_JUSTIFY_CENTER + False + False + 1 + 0.5 + 5 + 3 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 2 + 3 + 1 + 2 + 3 + 3 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 3 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + : + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 3 + + + 1 + 2 + 1 + 2 + fill + + + + + + + + + True + No Attributes + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + GTK_BUTTONBOX_DEFAULT_STYLE + 2 + + + 0 + False + True + + + + + + True + True + 0 + + + + True + True + True + GTK_RELIEF_NORMAL + + + + + True + GTK_ARROW_UP + GTK_SHADOW_OUT + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + + + + + + True + True + True + GTK_RELIEF_NORMAL + + + + + True + GTK_ARROW_DOWN + GTK_SHADOW_OUT + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + 5 + False + True + + + + + 5 + False + False + + + + + + True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + False + False + True + + + + + 0 + True + True + + + + + + True + GTK_BUTTONBOX_SPREAD + 30 + + + + True + Creates a new attribute from the above data + True + True + gtk-add + True + GTK_RELIEF_NORMAL + + + + + + + True + Delete the selected attribute + True + True + gtk-remove + True + GTK_RELIEF_NORMAL + + + + + + 0 + False + True + + + + + False + True + + + + + + True + Attributes + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + tab + + + + + + True + GTK_POLICY_NEVER + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + GTK_JUSTIFY_LEFT + GTK_WRAP_WORD + True + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + False + True + + + + + + True + Notes + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + tab + + + + + + True + GTK_POLICY_NEVER + GTK_POLICY_AUTOMATIC + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + True + False + False + True + + + + + False + True + + + + + + True + References + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + + + tab + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + diff --git a/src/intl.c b/src/intl.c index 401e67ff9..b09b81cee 100644 --- a/src/intl.c +++ b/src/intl.c @@ -59,6 +59,14 @@ PyIntl_bindtextdomain(PyObject* self,PyObject*args) return PyString_FromString(bindtextdomain(domain,dirname)); } +static PyObject* +PyIntl_bind_textdomain_codeset(PyObject* self,PyObject*args) +{ + char *domain,*dirname; + if(!PyArg_ParseTuple(args,"zz",&domain,&dirname))return 0; + return PyString_FromString(bind_textdomain_codeset(domain,dirname)); +} + static PyObject* PyIntl_setlocale(PyObject* self,PyObject* args) { @@ -120,6 +128,7 @@ static struct PyMethodDef PyIntl_Methods[] = { {"dcgettext",(PyCFunction)PyIntl_dcgettext,1}, {"textdomain",(PyCFunction)PyIntl_textdomain,1}, {"bindtextdomain",(PyCFunction)PyIntl_bindtextdomain,1}, + {"bind_textdomain_codeset",(PyCFunction)PyIntl_bind_textdomain_codeset,1}, {"setlocale",(PyCFunction)PyIntl_setlocale,1}, {"localeconv",(PyCFunction)PyIntl_localeconv,0}, {NULL, NULL} diff --git a/src/marriage.glade b/src/marriage.glade index bd9242372..36d7ab658 100644 --- a/src/marriage.glade +++ b/src/marriage.glade @@ -10,6 +10,7 @@ GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False + 550 True False True @@ -871,15 +872,26 @@ - - 500 - 250 + True True - True - False - False - True + GTK_POLICY_AUTOMATIC + GTK_POLICY_AUTOMATIC + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + 500 + 250 + True + True + True + False + False + True + + 0 diff --git a/src/plugins/AncestorChart.py b/src/plugins/AncestorChart.py index 903029a8b..cfd10c040 100644 --- a/src/plugins/AncestorChart.py +++ b/src/plugins/AncestorChart.py @@ -31,8 +31,7 @@ from SubstKeywords import SubstKeywords import gtk -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/plugins/AncestorReport.py b/src/plugins/AncestorReport.py index 1e4c1bc34..dda4ac702 100644 --- a/src/plugins/AncestorReport.py +++ b/src/plugins/AncestorReport.py @@ -23,9 +23,7 @@ import RelLib import os import string -import intl - -_ = intl.gettext +from intl import gettext as _ from Report import * from TextDoc import * diff --git a/src/plugins/DesGraph.py b/src/plugins/DesGraph.py index ce8d6a7b0..5a50517b0 100644 --- a/src/plugins/DesGraph.py +++ b/src/plugins/DesGraph.py @@ -46,8 +46,7 @@ from Report import * from TextDoc import * from SubstKeywords import SubstKeywords -import intl -_ = intl.gettext +from intl import gettext as _ _sep = 0.5 diff --git a/src/plugins/Desbrowser.py b/src/plugins/Desbrowser.py index 08625e178..51ddc7862 100644 --- a/src/plugins/Desbrowser.py +++ b/src/plugins/Desbrowser.py @@ -34,11 +34,9 @@ import os #------------------------------------------------------------------------ from RelLib import * import Utils -import intl +from intl import gettext as _ import GrampsCfg -_ = intl.gettext - #------------------------------------------------------------------------ # # GTK/GNOME modules diff --git a/src/plugins/DescendReport.py b/src/plugins/DescendReport.py index da59af1f5..b0568ed27 100644 --- a/src/plugins/DescendReport.py +++ b/src/plugins/DescendReport.py @@ -36,9 +36,7 @@ import string #------------------------------------------------------------------------ from Report import * from TextDoc import * -import intl - -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/plugins/DetAncestralReport.py b/src/plugins/DetAncestralReport.py index 2857bae62..823481d6a 100644 --- a/src/plugins/DetAncestralReport.py +++ b/src/plugins/DetAncestralReport.py @@ -24,9 +24,7 @@ import RelLib import os import sort -import intl - -_ = intl.gettext +from intl import gettext as _ from Report import * from TextDoc import * diff --git a/src/plugins/DetDescendantReport.py b/src/plugins/DetDescendantReport.py index 428a975a0..7e42f2146 100644 --- a/src/plugins/DetDescendantReport.py +++ b/src/plugins/DetDescendantReport.py @@ -24,9 +24,7 @@ import RelLib import os import sort -import intl - -_ = intl.gettext +from intl import gettext as _ from Report import * from TextDoc import * diff --git a/src/plugins/FamilyGroup.py b/src/plugins/FamilyGroup.py index 3391bb6e4..3498393a0 100644 --- a/src/plugins/FamilyGroup.py +++ b/src/plugins/FamilyGroup.py @@ -22,8 +22,7 @@ import RelLib import os -import intl -_ = intl.gettext +from intl import gettext as _ from Report import * from TextDoc import * diff --git a/src/plugins/GraphViz.py b/src/plugins/GraphViz.py index a43aa1fd8..11765cce8 100644 --- a/src/plugins/GraphViz.py +++ b/src/plugins/GraphViz.py @@ -23,13 +23,11 @@ import os import string -import intl +from intl import gettext as _ import Utils import gtk -_ = intl.gettext - from Report import * from TextDoc import * diff --git a/src/plugins/IndivComplete.py b/src/plugins/IndivComplete.py index 746a37474..1b82a157c 100644 --- a/src/plugins/IndivComplete.py +++ b/src/plugins/IndivComplete.py @@ -37,9 +37,7 @@ from TextDoc import * from StyleEditor import * from Report import * import GenericFilter -import intl - -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/plugins/IndivSummary.py b/src/plugins/IndivSummary.py index 06d6a01a9..8330de3b2 100644 --- a/src/plugins/IndivSummary.py +++ b/src/plugins/IndivSummary.py @@ -24,9 +24,7 @@ import RelLib import const import os import string -import intl - -_ = intl.gettext +from intl import gettext as _ from TextDoc import * from StyleEditor import * diff --git a/src/plugins/PatchNames.py b/src/plugins/PatchNames.py index a9240617c..df1b6756c 100644 --- a/src/plugins/PatchNames.py +++ b/src/plugins/PatchNames.py @@ -22,7 +22,6 @@ import os import re -import intl import Utils from intl import gettext as _ diff --git a/src/plugins/ReadNative.py b/src/plugins/ReadNative.py index 161f0422b..d091a0991 100644 --- a/src/plugins/ReadNative.py +++ b/src/plugins/ReadNative.py @@ -22,12 +22,10 @@ from ReadXML import * import Utils -import intl +from intl import gettext as _ import gtk import const -_ = intl.gettext - #------------------------------------------------------------------------- # # diff --git a/src/plugins/ReorderIds.py b/src/plugins/ReorderIds.py index c8ac63f76..7774c8681 100644 --- a/src/plugins/ReorderIds.py +++ b/src/plugins/ReorderIds.py @@ -25,9 +25,7 @@ scheme specified in the database's prefix ids import re import Utils -import intl - -_ = intl.gettext +from intl import gettext as _ _findint = re.compile('^[^\d]*(\d+)[^\d]*') diff --git a/src/plugins/Summary.py b/src/plugins/Summary.py index 67a8cf292..cf74120a3 100644 --- a/src/plugins/Summary.py +++ b/src/plugins/Summary.py @@ -35,8 +35,7 @@ import posixpath #------------------------------------------------------------------------ from RelLib import * import Utils -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------ # diff --git a/src/plugins/Verify.py b/src/plugins/Verify.py index fe1fa5102..9d0cc8f20 100644 --- a/src/plugins/Verify.py +++ b/src/plugins/Verify.py @@ -44,9 +44,7 @@ import gtk.glade from RelLib import * import Utils -import intl -_ = intl.gettext - +from intl import gettext as _ db = None glade_file = None diff --git a/src/plugins/WebPage.py b/src/plugins/WebPage.py index 80c7c0d2e..e00efffb7 100644 --- a/src/plugins/WebPage.py +++ b/src/plugins/WebPage.py @@ -27,8 +27,7 @@ import const import GrampsCfg import GenericFilter import Date -import intl -_ = intl.gettext +from intl import gettext as _ import os import re diff --git a/src/plugins/WriteGedcom.py b/src/plugins/WriteGedcom.py index 57b7163bb..6872efe62 100644 --- a/src/plugins/WriteGedcom.py +++ b/src/plugins/WriteGedcom.py @@ -27,11 +27,9 @@ import string import time import const import Utils -import intl import Date import re - -_ = intl.gettext +from intl import gettext as _ import gtk import gnome.ui diff --git a/src/plugins/WritePafPalm.py b/src/plugins/WritePafPalm.py index fe3becfcc..f66a1de6d 100644 --- a/src/plugins/WritePafPalm.py +++ b/src/plugins/WritePafPalm.py @@ -26,8 +26,7 @@ import string import time import const import Utils -import intl -_ = intl.gettext +from intl import gettext as _ from gnome.ui import * import gtk diff --git a/src/plugins/WritePkg.py b/src/plugins/WritePkg.py index b016d4a13..4a5d93af5 100644 --- a/src/plugins/WritePkg.py +++ b/src/plugins/WritePkg.py @@ -48,8 +48,7 @@ import WriteXML import TarFile import Utils -import intl -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------- # diff --git a/src/plugins/count_anc.py b/src/plugins/count_anc.py index 8f671aa8a..8d2e88545 100644 --- a/src/plugins/count_anc.py +++ b/src/plugins/count_anc.py @@ -23,8 +23,7 @@ from RelLib import * import os import Utils -import intl -_ = intl.gettext +from intl import gettext as _ from gnome.ui import * import gtk diff --git a/src/plugins/soundgen.py b/src/plugins/soundgen.py index 4f3bd6250..1e1296a81 100644 --- a/src/plugins/soundgen.py +++ b/src/plugins/soundgen.py @@ -29,9 +29,7 @@ from gnome.ui import * import RelLib import soundex import Utils -import intl - -_ = intl.gettext +from intl import gettext as _ #------------------------------------------------------------------------- #