From f1352ee2eeb1ef42e2a5e1cb54be63e8652ca8ec Mon Sep 17 00:00:00 2001 From: Benny Malengier Date: Mon, 24 Aug 2009 22:56:12 +0000 Subject: [PATCH] Nick_H patch to participants in selectors, fixes a bug too 2773: Primary participant(s) in Events View svn: r13117 --- src/Selectors/_BaseSelector.py | 24 +++++++++++++++--------- src/Selectors/_SelectEvent.py | 19 +++++++------------ src/Selectors/_SelectFamily.py | 14 ++++---------- src/Selectors/_SelectNote.py | 16 +++++----------- src/Selectors/_SelectObject.py | 14 ++++---------- src/Selectors/_SelectPerson.py | 26 ++++++++++---------------- src/Selectors/_SelectPlace.py | 12 +++--------- src/Selectors/_SelectRepository.py | 12 +++--------- src/Selectors/_SelectSource.py | 12 +++--------- 9 files changed, 54 insertions(+), 95 deletions(-) diff --git a/src/Selectors/_BaseSelector.py b/src/Selectors/_BaseSelector.py index bcd6a7a5d..c5d7fa9b2 100644 --- a/src/Selectors/_BaseSelector.py +++ b/src/Selectors/_BaseSelector.py @@ -127,9 +127,9 @@ class BaseSelector(ManagedWindow.ManagedWindow): if item[2] == BaseSelector.NONE: continue elif item[2] == BaseSelector.TEXT: - column = gtk.TreeViewColumn(item[0],self.renderer,text=ix) + column = gtk.TreeViewColumn(item[0],self.renderer,text=item[3]) elif item[2] == BaseSelector.MARKUP: - column = gtk.TreeViewColumn(item[0],self.renderer,markup=ix) + column = gtk.TreeViewColumn(item[0],self.renderer,markup=item[3]) column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) column.set_fixed_width(item[1]) column.set_resizable(True) @@ -177,7 +177,15 @@ class BaseSelector(ManagedWindow.ManagedWindow): assert False, "Must be defined in the subclass" def get_column_titles(self): - assert False, "Must be defined in the subclass" + """ + Defines the columns to show in the selector. Must be defined in the + subclasses. + :returns: a list of tuples with four entries. The four entries should + be 0: column header string, 1: column width, + 2: TEXT, MARKUP or IMAGE, 3: column in the model that must be + used. + """ + raise NotImplementedError def get_from_handle_func(self): assert False, "Must be defined in the subclass" @@ -208,15 +216,13 @@ class BaseSelector(ManagedWindow.ManagedWindow): mlist = [] self.selection.selected_foreach(self.begintree, mlist) return mlist[0] if mlist else None - + def column_order(self): """ - Column order for db columns - - Derived classes must override this function. + returns a tuple indicating the column order of the model """ - raise NotImplementedError - + return [(1, row[3], row[1]) for row in self.get_column_titles()] + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectEvent.py b/src/Selectors/_SelectEvent.py index 772a10aed..3452f53c8 100644 --- a/src/Selectors/_SelectEvent.py +++ b/src/Selectors/_SelectEvent.py @@ -59,11 +59,12 @@ class SelectEvent(BaseSelector): def get_column_titles(self): return [ - (_('Description'), 250, BaseSelector.TEXT), - (_('ID'), 75, BaseSelector.TEXT), - (_('Type'), 75, BaseSelector.TEXT), - (_('Date'), 150, BaseSelector.TEXT), - (_('Place'), 150, BaseSelector.TEXT) + (_('Description'), 250, BaseSelector.TEXT, 0), + (_('ID'), 75, BaseSelector.TEXT, 1), + (_('Type'), 75, BaseSelector.TEXT, 2), + (_('Main Participants'), 250, BaseSelector.TEXT, 6), + (_('Date'), 150, BaseSelector.TEXT, 3), + (_('Place'), 150, BaseSelector.TEXT, 4) ] def get_from_handle_func(self): @@ -71,13 +72,7 @@ class SelectEvent(BaseSelector): def get_handle_column(self): return 7 - - def column_order(self): - """ - returns a tuple indicating the column order of the model - """ - return self.db.get_event_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectFamily.py b/src/Selectors/_SelectFamily.py index 4f44cdcd3..8e7651e41 100644 --- a/src/Selectors/_SelectFamily.py +++ b/src/Selectors/_SelectFamily.py @@ -59,9 +59,9 @@ class SelectFamily(BaseSelector): def get_column_titles(self): return [ - (_('ID'), 75, BaseSelector.TEXT), - (_('Father'), 200, BaseSelector.TEXT), - (_('Mother'), 200, BaseSelector.TEXT), + (_('ID'), 75, BaseSelector.TEXT, 0), + (_('Father'), 200, BaseSelector.TEXT, 1), + (_('Mother'), 200, BaseSelector.TEXT, 2), ] def get_from_handle_func(self): @@ -69,13 +69,7 @@ class SelectFamily(BaseSelector): def get_handle_column(self): return 6 - - def column_order(self): - """ - returns a tuple indicating the column order of the model - """ - return self.db.get_family_list_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectNote.py b/src/Selectors/_SelectNote.py index baf503536..aaeb8965a 100644 --- a/src/Selectors/_SelectNote.py +++ b/src/Selectors/_SelectNote.py @@ -64,10 +64,10 @@ class SelectNote(BaseSelector): def get_column_titles(self): return [ - (_('Preview'), 350, BaseSelector.TEXT), - (_('ID'), 75, BaseSelector.TEXT), - (_('Type'), 100, BaseSelector.TEXT), - (_('Marker'), 100, BaseSelector.TEXT) + (_('Preview'), 350, BaseSelector.TEXT, 0), + (_('ID'), 75, BaseSelector.TEXT, 1), + (_('Type'), 100, BaseSelector.TEXT, 2), + (_('Marker'), 100, BaseSelector.TEXT, 3) ] def get_from_handle_func(self): @@ -75,13 +75,7 @@ class SelectNote(BaseSelector): def get_handle_column(self): return 4 - - def column_order(self): - """ - returns a tuple indicating the column order - """ - return self.db.get_note_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectObject.py b/src/Selectors/_SelectObject.py index 6b0d4cb9b..1ea4c97ca 100644 --- a/src/Selectors/_SelectObject.py +++ b/src/Selectors/_SelectObject.py @@ -72,9 +72,9 @@ class SelectObject(BaseSelector): def get_column_titles(self): return [ - (_('Title'), 350, BaseSelector.TEXT), - (_('ID'), 75, BaseSelector.TEXT), - (_('Type'), 75, BaseSelector.TEXT), + (_('Title'), 350, BaseSelector.TEXT, 0), + (_('ID'), 75, BaseSelector.TEXT, 1), + (_('Type'), 75, BaseSelector.TEXT, 2), ] def _local_init(self): @@ -102,13 +102,7 @@ class SelectObject(BaseSelector): obj.get_path())) self.preview.set_from_pixbuf(pix) gc.collect() - - def column_order(self): - """ - returns a tuple indicating the column order of the model - """ - return self.db.get_media_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectPerson.py b/src/Selectors/_SelectPerson.py index da084aff5..553131762 100644 --- a/src/Selectors/_SelectPerson.py +++ b/src/Selectors/_SelectPerson.py @@ -73,15 +73,15 @@ class SelectPerson(BaseSelector): def get_column_titles(self): return [ - (_('Name'), 250, BaseSelector.TEXT), - (_('ID'), 75, BaseSelector.TEXT), - (_('Gender'), 75, BaseSelector.TEXT), - (_('Birth Date'), 150, BaseSelector.MARKUP), - (_('Birth Place'), 150, BaseSelector.MARKUP), - (_('Death Date'), 150, BaseSelector.MARKUP), - (_('Death Place'), 150, BaseSelector.MARKUP), - (_('Spouse'), 150, BaseSelector.TEXT), - (_('Last Change'), 150, BaseSelector.TEXT) + (_('Name'), 250, BaseSelector.TEXT, 0), + (_('ID'), 75, BaseSelector.TEXT, 1), + (_('Gender'), 75, BaseSelector.TEXT, 2), + (_('Birth Date'), 150, BaseSelector.MARKUP, 3), + (_('Birth Place'), 150, BaseSelector.MARKUP, 4), + (_('Death Date'), 150, BaseSelector.MARKUP, 5), + (_('Death Place'), 150, BaseSelector.MARKUP, 6), + (_('Spouse'), 150, BaseSelector.TEXT, 7), + (_('Last Change'), 150, BaseSelector.TEXT, 8) ] def get_from_handle_func(self): @@ -89,13 +89,7 @@ class SelectPerson(BaseSelector): def get_handle_column(self): return PeopleModel.COLUMN_INT_ID - - def column_order(self): - """ - returns a tuple indicating the column order of the model - """ - return self.db.get_person_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectPlace.py b/src/Selectors/_SelectPlace.py index 1b7b178e7..039ba0332 100644 --- a/src/Selectors/_SelectPlace.py +++ b/src/Selectors/_SelectPlace.py @@ -59,8 +59,8 @@ class SelectPlace(BaseSelector): def get_column_titles(self): return [ - (_('Title'), 350, BaseSelector.TEXT), - (_('ID'), 75, BaseSelector.TEXT) + (_('Title'), 350, BaseSelector.TEXT, 0), + (_('ID'), 75, BaseSelector.TEXT, 1) ] def get_from_handle_func(self): @@ -68,13 +68,7 @@ class SelectPlace(BaseSelector): def get_handle_column(self): return PlaceModel.HANDLE_COL - - def column_order(self): - """ - returns a tuple indicating the column order of the model - """ - return self.db.get_place_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectRepository.py b/src/Selectors/_SelectRepository.py index 6428038a8..29dd0bbf7 100644 --- a/src/Selectors/_SelectRepository.py +++ b/src/Selectors/_SelectRepository.py @@ -59,8 +59,8 @@ class SelectRepository(BaseSelector): def get_column_titles(self): return [ - (_('Title'), 350, BaseSelector.TEXT), - (_('ID'), 75, BaseSelector.TEXT) + (_('Title'), 350, BaseSelector.TEXT, 0), + (_('ID'), 75, BaseSelector.TEXT, 1) ] def get_handle_column(self): @@ -68,13 +68,7 @@ class SelectRepository(BaseSelector): def get_from_handle_func(self): return self.db.get_repository_from_handle - - def column_order(self): - """ - returns a tuple indicating the column order of the model - """ - return self.db.get_repository_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based diff --git a/src/Selectors/_SelectSource.py b/src/Selectors/_SelectSource.py index c74c9e4a8..03cc22fcf 100644 --- a/src/Selectors/_SelectSource.py +++ b/src/Selectors/_SelectSource.py @@ -59,8 +59,8 @@ class SelectSource(BaseSelector): def get_column_titles(self): return [ - (_('Title'), 350, BaseSelector.TEXT), - (_('ID'), 75, BaseSelector.TEXT) + (_('Title'), 350, BaseSelector.TEXT, 0), + (_('ID'), 75, BaseSelector.TEXT, 1) ] def get_from_handle_func(self): @@ -68,13 +68,7 @@ class SelectSource(BaseSelector): def get_handle_column(self): return 6 - - def column_order(self): - """ - returns a tuple indicating the column order of the model - """ - return self.db.get_source_column_order() - + def column_view_names(self): """ Get correct column view names on which model is based