* src/DataViews/_MediaView.py: slightly improve dnd
* src/DisplayModels/_BaseModel.py: handle sort column map * src/DisplayModels/_MediaModel.py: handle sort column map * src/DisplayModels/_RepositoryModel.py: handle sort column map * src/DisplayModels/_SourceModel.py: handle sort column map * src/DisplayModels/_EventModel.py: handle sort column map * src/DisplayModels/_FamilyModel.py: handle sort column map * src/DisplayModels/_PlaceModel.py: handle sort column map * src/PageView.py: handle sort column map svn: r7153
This commit is contained in:
@@ -52,13 +52,18 @@ from Filters import SearchFilter
|
||||
class BaseModel(gtk.GenericTreeModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING,
|
||||
tooltip_column=None, search=None, skip=set()):
|
||||
tooltip_column=None, search=None, skip=set(),
|
||||
sort_map=None):
|
||||
gtk.GenericTreeModel.__init__(self)
|
||||
self.prev_handle = None
|
||||
self.prev_data = None
|
||||
self.set_property("leak_references",False)
|
||||
self.db = db
|
||||
self.sort_func = self.smap[scol]
|
||||
if sort_map:
|
||||
col = sort_map[scol][1]
|
||||
self.sort_func = self.smap[col]
|
||||
else:
|
||||
self.sort_func = self.smap[scol]
|
||||
self.sort_col = scol
|
||||
self.skip = skip
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ from _BaseModel import BaseModel
|
||||
class EventModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
skip=set(), sort_map=None):
|
||||
self.gen_cursor = db.get_event_cursor
|
||||
self.map = db.get_raw_event_data
|
||||
|
||||
@@ -78,7 +78,7 @@ class EventModel(BaseModel):
|
||||
self.column_description,
|
||||
self.column_id,
|
||||
self.column_type,
|
||||
self.column_date,
|
||||
self.sort_date,
|
||||
self.column_place,
|
||||
self.column_cause,
|
||||
self.sort_change,
|
||||
@@ -86,7 +86,7 @@ class EventModel(BaseModel):
|
||||
self.column_tooltip,
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=8,
|
||||
search=search, skip=skip)
|
||||
search=search, skip=skip, sort_map=sort_map)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
@@ -116,6 +116,13 @@ class EventModel(BaseModel):
|
||||
return DateHandler.get_date(event)
|
||||
return u''
|
||||
|
||||
def sort_date(self,data):
|
||||
if data[3]:
|
||||
event = RelLib.Event()
|
||||
event.unserialize(data)
|
||||
return "%09d" % event.get_date_object().get_sort_value()
|
||||
return u''
|
||||
|
||||
def column_handle(self,data):
|
||||
return unicode(data[0])
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ from _BaseModel import BaseModel
|
||||
class FamilyModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
skip=set(), sort_map=None):
|
||||
self.gen_cursor = db.get_family_cursor
|
||||
self.map = db.get_raw_family_data
|
||||
self.fmap = [
|
||||
@@ -83,7 +83,7 @@ class FamilyModel(BaseModel):
|
||||
self.column_tooltip
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=6,
|
||||
search=search, skip=skip)
|
||||
search=search, skip=skip, sort_map=sort_map)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -61,7 +61,7 @@ from _BaseModel import BaseModel
|
||||
class MediaModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
skip=set(), sort_map=None):
|
||||
self.gen_cursor = db.get_media_cursor
|
||||
self.map = db.get_raw_object_data
|
||||
|
||||
@@ -85,7 +85,7 @@ class MediaModel(BaseModel):
|
||||
self.column_handle,
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=7,
|
||||
search=search, skip=skip)
|
||||
search=search, skip=skip, sort_map=sort_map)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -58,7 +58,7 @@ from _BaseModel import BaseModel
|
||||
class PlaceModel(BaseModel):
|
||||
|
||||
def __init__(self,db,scol=0,order=gtk.SORT_ASCENDING,search=None,
|
||||
skip=set()):
|
||||
skip=set(), sort_map=None):
|
||||
self.gen_cursor = db.get_place_cursor
|
||||
self.map = db.get_raw_place_data
|
||||
self.fmap = [
|
||||
@@ -91,7 +91,7 @@ class PlaceModel(BaseModel):
|
||||
self.column_handle,
|
||||
]
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=12,
|
||||
search=search, skip=skip)
|
||||
search=search, skip=skip, sort_map=sort_map)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -55,7 +55,7 @@ from _BaseModel import BaseModel
|
||||
class RepositoryModel(BaseModel):
|
||||
|
||||
def __init__(self, db, scol=0, order=gtk.SORT_ASCENDING, search=None,
|
||||
skip=set()):
|
||||
skip=set(), sort_map=None):
|
||||
self.gen_cursor = db.get_repository_cursor
|
||||
self.get_handles = db.get_repository_handles
|
||||
self.map = db.get_raw_repository_data
|
||||
@@ -93,7 +93,7 @@ class RepositoryModel(BaseModel):
|
||||
]
|
||||
|
||||
BaseModel.__init__(self, db, scol, order, tooltip_column=12,
|
||||
search=search, skip=skip)
|
||||
search=search, skip=skip, sort_map=sort_map)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
@@ -58,7 +58,7 @@ from _BaseModel import BaseModel
|
||||
class SourceModel(BaseModel):
|
||||
|
||||
def __init__(self,db,scol=0,order=gtk.SORT_ASCENDING,search=None,
|
||||
skip=set()):
|
||||
skip=set(), sort_map=None):
|
||||
self.map = db.get_raw_source_data
|
||||
self.gen_cursor = db.get_source_cursor
|
||||
self.fmap = [
|
||||
@@ -80,7 +80,7 @@ class SourceModel(BaseModel):
|
||||
self.sort_change,
|
||||
]
|
||||
BaseModel.__init__(self,db,scol,order,tooltip_column=7,search=search,
|
||||
skip=skip)
|
||||
skip=skip, sort_map=sort_map)
|
||||
|
||||
def on_get_n_columns(self):
|
||||
return len(self.fmap)+1
|
||||
|
||||
Reference in New Issue
Block a user