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: