Remember last sort column, handle photo descriptions better

svn: r554
This commit is contained in:
Don Allingham
2001-11-06 15:50:42 +00:00
parent ca7c1d5fe8
commit e9f302f13d
9 changed files with 255 additions and 180 deletions

View File

@@ -45,12 +45,9 @@ class PlaceView:
self.country_arrow = glade.get_widget("country_arrow")
self.update_display= update
self.place_arrows = [ self.place_arrow, self.place_id_arrow, self.parish_arrow,
self.city_arrow, self.county_arrow, self.state_arrow,
self.country_arrow ]
self.sort_column = 0
self.sort_direct = GTK.SORT_ASCENDING
self.sort_arrow = [ self.place_arrow, self.place_id_arrow, self.parish_arrow,
self.city_arrow, self.county_arrow, self.state_arrow,
self.country_arrow ]
self.place_list.set_column_visibility(7,0)
self.place_list.set_column_visibility(8,0)
@@ -59,12 +56,17 @@ class PlaceView:
self.place_list.set_column_visibility(11,0)
self.place_list.set_column_visibility(12,0)
self.place_list.set_column_visibility(13,0)
self.place_list.set_sort_column(self.sort_column+7)
self.place_list.set_sort_type(self.sort_direct)
self.place_list.connect('button-press-event',self.on_button_press_event)
self.place_list.connect('select-row',self.select_row)
self.active = None
# Restore the previous sort column
self.sort_col,self.sort_dir = Config.get_sort_cols("place",0,GTK.SORT_ASCENDING)
self.place_list.set_sort_column(self.sort_col+7)
self.place_list.set_sort_type(self.sort_dir)
self.set_arrow(self.sort_col)
def load_places(self):
if len(self.place_list.selection) == 0:
current_row = 0
@@ -126,6 +128,17 @@ class PlaceView:
EditPlace.EditPlace(self.active,self.db,
self.update_display_after_edit)
def set_arrow(self,column):
for a in self.sort_arrow:
a.hide()
a = self.sort_arrow[column]
a.show()
if self.sort_dir == GTK.SORT_ASCENDING:
a.set(GTK.ARROW_DOWN,2)
else:
a.set(GTK.ARROW_UP,2)
def on_click_column(self,obj,column):
obj.freeze()
if len(obj.selection):
@@ -133,23 +146,22 @@ class PlaceView:
else:
sel = None
for a in self.place_arrows:
for a in self.sort_arrow:
a.hide()
arrow = self.place_arrows[column]
if self.sort_column == column:
arrow = self.sort_arrow[column]
if self.sort_col == column:
if self.sort_direct == GTK.SORT_DESCENDING:
self.sort_direct = GTK.SORT_ASCENDING
arrow.set(GTK.ARROW_DOWN,2)
else:
self.sort_direct = GTK.SORT_DESCENDING
arrow.set(GTK.ARROW_UP,2)
else:
self.sort_direct = GTK.SORT_ASCENDING
arrow.set(GTK.ARROW_DOWN,2)
self.sort_column = column
self.sort_col = column
self.set_arrow(column)
self.place_list.set_sort_type(self.sort_direct)
self.place_list.set_sort_column(self.sort_column + 7)
arrow.show()
self.place_list.set_sort_column(self.sort_col + 7)
Config.save_sort_cols("place",self.sort_col,self.sort_direct)
self.place_list.sort()
if sel:
self.place_list.moveto(self.place_list.find_row_from_data(sel))