diff --git a/src/AutoComp.py b/src/AutoComp.py
index a7b6d3f21..cdabf8863 100644
--- a/src/AutoComp.py
+++ b/src/AutoComp.py
@@ -42,6 +42,7 @@ import string
#
#-------------------------------------------------------------------------
import gtk
+import gobject
_t = type(u'')
@@ -289,3 +290,4 @@ class AutoEntry(AutoCompBase):
gtk.Editable.select_region(entry,self.l, -1)
return
+
diff --git a/src/EditPerson.py b/src/EditPerson.py
index 0a4fdc6fd..4b6e7685d 100644
--- a/src/EditPerson.py
+++ b/src/EditPerson.py
@@ -35,6 +35,7 @@ import pickle
#-------------------------------------------------------------------------
import gtk
import gtk.glade
+import gobject
import gnome
from gtk.gdk import ACTION_COPY, BUTTON1_MASK, INTERP_BILINEAR, pixbuf_new_from_file
@@ -165,7 +166,6 @@ class EditPerson:
self.alt_suffix_field = self.get_widget("alt_suffix")
self.alt_prefix_field = self.get_widget("alt_prefix")
self.name_type_field = self.get_widget("name_type")
- self.surname_field = self.get_widget("surname")
self.ntype_field = self.get_widget("ntype")
self.suffix = self.get_widget("suffix")
self.prefix = self.get_widget("prefix")
@@ -173,12 +173,10 @@ class EditPerson:
self.nick = self.get_widget("nickname")
self.title = self.get_widget("title")
self.bdate = self.get_widget("birthDate")
- self.bplace = self.get_widget("birthPlace")
- self.bpcombo = self.get_widget("bpcombo")
- self.dpcombo = self.get_widget("dpcombo")
- self.sncombo = self.get_widget("sncombo")
+ self.bplace = self.get_widget("birth_place")
+ self.surname = self.get_widget("surname")
self.ddate = self.get_widget("deathDate")
- self.dplace = self.get_widget("deathPlace")
+ self.dplace = self.get_widget("death_place")
self.is_male = self.get_widget("genderMale")
self.is_female = self.get_widget("genderFemale")
self.is_unknown = self.get_widget("genderUnknown")
@@ -267,11 +265,12 @@ class EditPerson:
self.on_web_select_row,
self.on_update_url_clicked)
- place_list = self.pdmap.keys()
- place_list.sort()
- self.autoplace = AutoComp.AutoCombo(self.bpcombo, place_list)
- self.autodeath = AutoComp.AutoCombo(self.dpcombo, place_list, self.autoplace)
- self.comp = AutoComp.AutoCombo(self.sncombo,self.db.get_surnames())
+ self.place_list = self.pdmap.keys()
+ self.place_list.sort()
+
+ build_dropdown(self.bplace,self.place_list)
+ build_dropdown(self.dplace,self.place_list)
+ build_dropdown(self.surname,self.db.get_surnames())
self.gid.set_text(person.get_id())
self.gid.set_editable(GrampsCfg.id_edit)
@@ -474,7 +473,7 @@ class EditPerson:
stat = 0
combo.entry.set_text("")
- AutoComp.AutoEntry(place,None,self.autoplace)
+ build_dropdown(place,self.place_list)
if ord and ord.get_place_id():
ord_place = self.db.find_place_from_id(ord.get_place_id())
place.set_text(ord_place.get_title())
@@ -1047,7 +1046,7 @@ class EditPerson:
"""Check to see if any of the data has changed from the
orig record"""
- surname = unicode(self.surname_field.get_text())
+ surname = unicode(self.surname.get_text())
self.birth.set_date(unicode(self.bdate.get_text()))
self.death.set_date(unicode(self.ddate.get_text()))
@@ -1412,7 +1411,7 @@ class EditPerson:
trans = self.db.start_transaction()
- surname = unicode(self.surname_field.get_text())
+ surname = unicode(self.surname.get_text())
suffix = unicode(self.suffix.get_text())
prefix = unicode(self.prefix.get_text())
ntype = unicode(self.ntype_field.entry.get_text())
@@ -1722,7 +1721,7 @@ class EditPerson:
self.suffix.set_text(self.pname.get_suffix())
self.prefix.set_text(self.pname.get_surname_prefix())
- self.surname_field.set_text(self.pname.get_surname())
+ self.surname.set_text(self.pname.get_surname())
self.given.set_text(self.pname.get_first_name())
self.ntype_field.entry.set_text(_(self.pname.get_type()))
@@ -1814,3 +1813,13 @@ def place_title(db,event):
return db.find_place_from_id(pid).get_title()
else:
return u''
+
+def build_dropdown(entry,strings):
+ store = gtk.ListStore(gobject.TYPE_STRING)
+ for value in strings:
+ iter = store.append()
+ store.set(iter,0,value)
+ completion = gtk.EntryCompletion()
+ completion.set_text_column(0)
+ completion.set_model(store)
+ entry.set_completion(completion)
diff --git a/src/PeopleModel.py b/src/PeopleModel.py
index ef66d7892..856823ce6 100644
--- a/src/PeopleModel.py
+++ b/src/PeopleModel.py
@@ -331,7 +331,7 @@ class PeopleModel(gtk.GenericTreeModel):
def column_birth_place(self,data):
if data[6]:
- event = self.db.find_event_from_id(data[5])
+ event = self.db.find_event_from_id(data[6])
if event:
place_id = event.get_place_id()
if place_id:
diff --git a/src/PeopleView.py b/src/PeopleView.py
index d5f6e2548..a3eaeab6d 100644
--- a/src/PeopleView.py
+++ b/src/PeopleView.py
@@ -47,7 +47,6 @@ _sel_mode = gtk.SELECTION_SINGLE
#
#-------------------------------------------------------------------------
import PeopleModel
-import Filter
import GenericFilter
import const
@@ -115,7 +114,7 @@ class PeopleView:
name = column_names[pair[1]]
column = gtk.TreeViewColumn(name, self.renderer, text=pair[1])
column.set_resizable(gtk.TRUE)
- #column.set_clickable(gtk.TRUE)
+ column.set_clickable(gtk.TRUE)
column.set_min_width(60)
column.set_sizing(gtk.TREE_VIEW_COLUMN_GROW_ONLY)
column.set_sort_column_id(index)
@@ -166,9 +165,6 @@ class PeopleView:
self.sort_model = gtk.TreeModelSort(self.person_model)
self.sort_model.set_visible_column(PeopleModel.COLUMN_VIEW)
self.person_tree.set_model(self.sort_model)
-
- def clear(self):
- pass
def remove_from_person_list(self,person,old_id=None):
"""Remove the selected person from the list. A person object is expected,
diff --git a/src/gramps.glade b/src/gramps.glade
index f5b07110c..8c398c8b7 100644
--- a/src/gramps.glade
+++ b/src/gramps.glade
@@ -8868,46 +8868,6 @@
-
-
- True
- False
- True
- False
- True
- False
-
-
-
- True
- The surname or last name
- True
- True
- True
- 0
-
- True
- *
- False
-
-
-
-
-
- True
- GTK_SELECTION_BROWSE
-
-
-
-
- 2
- 5
- 2
- 3
-
-
-
-
True
@@ -9358,10 +9318,7 @@
0.5
0
0
- birthPlace
-
-
-
+ birth_place
1
@@ -9373,45 +9330,6 @@
-
-
- True
- False
- True
- False
- True
- False
-
-
-
- True
- True
- True
- True
- 0
-
- True
- *
- False
-
-
-
-
-
- True
- GTK_SELECTION_BROWSE
-
-
-
-
- 2
- 5
- 14
- 15
-
-
-
-
True
@@ -9477,7 +9395,7 @@
0.5
0
0
- deathPlace
+ death_place
8
@@ -9551,34 +9469,58 @@
-
+
True
- False
- True
- False
- True
- False
+ True
+ True
+ True
+ 0
+
+ True
+ *
+ False
+
+
+ 2
+ 5
+ 2
+ 3
+
+
+
-
-
- True
- True
- True
- True
- 0
-
- True
- *
- False
-
-
+
+
+ True
+ True
+ True
+ True
+ 0
+
+ True
+ *
+ False
+
+
+ 2
+ 5
+ 14
+ 15
+
+
+
-
-
- True
- GTK_SELECTION_BROWSE
-
-
+
+
+ True
+ True
+ True
+ True
+ 0
+
+ True
+ *
+ False
9
diff --git a/src/gramps_main.py b/src/gramps_main.py
index 2f45175dd..148000f97 100755
--- a/src/gramps_main.py
+++ b/src/gramps_main.py
@@ -961,20 +961,11 @@ class Gramps:
"""Incremental display update, update only the displayed page"""
page = self.views.get_current_page()
if page == PERSON_VIEW:
- if changed:
- self.people_view.apply_filter()
- else:
- self.goto_active_person()
+ self.people_view.apply_filter()
elif page == FAMILY_VIEW1 or page == FAMILY_VIEW2:
self.family_view.load_family()
elif page == PEDIGREE_VIEW:
self.pedigree_view.load_canvas(self.active_person)
- elif page == PLACE_VIEW:
- if len(self.db.get_place_id_keys()) > 2000:
- self.status_text(_('Updating display - this may take a few seconds...'))
- else:
- self.status_text(_('Updating display...'))
- self.modify_statusbar()
def on_tools_clicked(self,obj):
if self.active_person: