Remove column config from db, move to the plugins

Start with reuse of preferences for all configuration
Allow all view plugins to set configuration dialog
TODO: activate the column reorder in config of listviews


svn: r14176
This commit is contained in:
Benny Malengier
2010-02-01 07:01:45 +00:00
parent f0cfe6c5e9
commit a89e8d1d18
27 changed files with 538 additions and 881 deletions

View File

@ -58,10 +58,7 @@ from gen.utils.callback import Callback
#-------------------------------------------------------------------------
from gen.db.dbconst import (PERSON_KEY, FAMILY_KEY, SOURCE_KEY, EVENT_KEY,
MEDIA_KEY, PLACE_KEY, REPOSITORY_KEY, NOTE_KEY,
REFERENCE_KEY, PERSON_COL_KEY, FAMILY_COL_KEY,
CHILD_COL_KEY, PLACE_COL_KEY, SOURCE_COL_KEY,
MEDIA_COL_KEY, EVENT_COL_KEY, REPOSITORY_COL_KEY,
NOTE_COL_KEY)
REFERENCE_KEY)
_UNDO_SIZE = 1000
@ -2294,171 +2291,6 @@ class DbGrdb(Callback):
return self.metadata.get('mediapath', None)
return None
def set_column_order(self, col_list, name):
if (self.metadata is not None) and (not self.readonly):
self.metadata[name] = col_list
def set_person_column_order(self, col_list):
"""
Store the Person display common information in the database's metadata.
"""
self.set_column_order(col_list, PERSON_COL_KEY)
def set_family_list_column_order(self, col_list):
"""
Store the Person display common information in the database's metadata.
"""
self.set_column_order(col_list, FAMILY_COL_KEY)
def set_child_column_order(self, col_list):
"""
Store the Person display common information in the database's metadata.
"""
self.set_column_order(col_list, CHILD_COL_KEY)
def set_place_column_order(self, col_list):
"""
Store the Place display common information in the database's metadata.
"""
self.set_column_order(col_list, PLACE_COL_KEY)
def set_source_column_order(self, col_list):
"""
Store the Source display common information in the database's metadata.
"""
self.set_column_order(col_list, SOURCE_COL_KEY)
def set_media_column_order(self, col_list):
"""
Store the Media display common information in the database's metadata.
"""
self.set_column_order(col_list, MEDIA_COL_KEY)
def set_event_column_order(self, col_list):
"""
Store the Event display common information in the database's metadata.
"""
self.set_column_order(col_list, EVENT_COL_KEY)
def set_repository_column_order(self, col_list):
"""
Store the Repository display common information in the database's
metadata.
"""
self.set_column_order(col_list, REPOSITORY_COL_KEY)
def set_note_column_order(self, col_list):
"""
Store the Note display common information in the database's metadata.
"""
self.set_column_order(col_list, NOTE_COL_KEY)
def __get_column_order(self, name, default):
if self.metadata is None:
return default
else:
cols = self.metadata.get(name, default)
if len(cols) != len(default):
return cols + default[len(cols):]
else:
return cols
def get_person_column_order(self):
"""
Return the Person display common information stored in the database's
metadata.
"""
default = [(1, 1, 100), (1, 2, 100), (1, 3, 150), (0, 4, 150),
(1, 5, 150), (0, 6, 150), (0, 7, 100), (0, 8, 100),
]
return self.__get_column_order(PERSON_COL_KEY, default)
def __get_columns(self, key, default):
values = self.__get_column_order(key, default)
new = []
for val in values:
if len(val) == 2:
for x in default:
if val[1] == x[1]:
new.append((val[0], val[1], x[2]))
break
else:
new.append(val)
return new
def get_family_list_column_order(self):
"""
Return the Person display common information stored in the database's
metadata.
"""
default = [(1, 0, 75), (1, 1, 200), (1, 2, 200), (1, 3, 100),
(0, 4, 100)]
return self.__get_columns(FAMILY_COL_KEY, default)
def get_child_column_order(self):
"""
Return the Person display common information stored in the database's
metadata.
"""
default = [(1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5),
(0, 6), (0, 7)]
return self.__get_column_order(CHILD_COL_KEY, default)
def get_place_column_order(self):
"""
Return the Place display common information stored in thedatabase's
metadata.
"""
default = [(1, 0, 250), (1, 1, 75), (1, 11, 100), (0, 3, 100),
(1, 4, 100, ), (0, 5, 150), (1, 6, 150), (0, 7, 150),
(0, 8, 150), (0, 9, 150), (0, 10, 150),(0,2,100)]
return self.__get_columns(PLACE_COL_KEY, default)
def get_source_column_order(self):
"""
Return the Source display common information stored in the database's
metadata.
"""
default = [(1, 0, 200), (1, 1, 75), (1, 2, 150), (0, 3, 100),
(1, 4, 150), (0, 5, 100)]
return self.__get_columns(SOURCE_COL_KEY, default)
def get_media_column_order(self):
"""
Return the MediaObject display common information stored in the
database's metadata.
"""
default = [(1, 0, 200, ), (1, 1, 75), (1, 2, 100), (1, 3, 200),
(1, 5, 150), (0, 4, 150)]
return self.__get_columns(MEDIA_COL_KEY, default)
def get_event_column_order(self):
"""
Return the Event display common information stored in the database's
metadata.
"""
default = [(1, 0, 200), (1, 1, 75), (1, 2, 100), (1, 3, 150),
(1, 4, 200), (0, 5, 100)]
return self.__get_columns(EVENT_COL_KEY, default)
def get_repository_column_order(self):
"""
Return the Repository display common information stored in the
database's metadata.
"""
default = [(1, 0, 200), (1, 1, 75), (0, 5, 100), (0, 6, 100),
(1, 2, 100), (1, 3, 250), (1, 4, 100), (0, 7, 100),
(0, 8, 100), (0, 9, 100), (0, 10, 100), (0, 12, 100)]
return self.__get_columns(REPOSITORY_COL_KEY, default)
def get_note_column_order(self):
"""
Return the Note display common information stored in the database's
metadata.
"""
default = [(1, 0, 350), (1, 1, 75), (1, 2, 100), (1, 3, 100)]
return self.__get_columns(NOTE_COL_KEY, default)
def delete_primary_from_reference_map(self, handle, transaction):
"""
Called each time an object is removed from the database.