diff --git a/gramps/src/Config.py b/gramps/src/Config.py index 11f46a694..318fefbb7 100644 --- a/gramps/src/Config.py +++ b/gramps/src/Config.py @@ -114,6 +114,7 @@ web_dir = "./" db_dir = "./" id_visible = 0 id_edit = 0 +index_visible = 0 #------------------------------------------------------------------------- # @@ -167,6 +168,7 @@ def loadConfig(call): global uncompress global id_visible global id_edit + global index_visible global show_detail global hide_altnames global lastfile @@ -191,6 +193,7 @@ def loadConfig(call): uncompress = gnome.config.get_bool("/gramps/config/DontCompressXML") id_visible = gnome.config.get_bool("/gramps/config/IdVisible") id_edit = gnome.config.get_bool("/gramps/config/IdEdit") + index_visible = gnome.config.get_bool("/gramps/config/IndexVisible") show_detail = gnome.config.get_bool("/gramps/config/ShowDetail") status_bar = gnome.config.get_int("/gramps/config/StatusBar") display_attr = gnome.config.get_bool("/gramps/config/DisplayAttr") @@ -286,6 +289,8 @@ def loadConfig(call): id_visible = 0 if id_edit == None: id_edit = 0 + if index_visible == None: + index_visible = 0 if show_detail == None: show_detail = 0 if status_bar == None: @@ -395,6 +400,7 @@ def on_propertybox_apply(obj,page): global uncompress global id_visible global id_edit + global index_visible global status_bar global display_attr global attr_name @@ -419,6 +425,7 @@ def on_propertybox_apply(obj,page): uncompress = prefsTop.get_widget("uncompress").get_active() id_visible = prefsTop.get_widget("gid_visible").get_active() id_edit = prefsTop.get_widget("gid_edit").get_active() + index_visible = prefsTop.get_widget("show_child_id").get_active() hide_altnames = prefsTop.get_widget("display_altnames").get_active() paper_obj = prefsTop.get_widget("paper_size").get_menu().get_active() output_obj = prefsTop.get_widget("output_format").get_menu().get_active() @@ -467,6 +474,7 @@ def on_propertybox_apply(obj,page): gnome.config.set_bool("/gramps/config/DontCompressXML",uncompress) gnome.config.set_bool("/gramps/config/IdVisible",id_visible) gnome.config.set_bool("/gramps/config/IdEdit",id_edit) + gnome.config.set_bool("/gramps/config/IndexVisible",index_visible) gnome.config.set_bool("/gramps/config/ShowDetail",show_detail) gnome.config.set_int("/gramps/config/StatusBar",status_bar) gnome.config.set_bool("/gramps/config/DisplayAttr",display_attr) @@ -618,6 +626,7 @@ def display_preferences_box(db): auto = prefsTop.get_widget("autoload") vis = prefsTop.get_widget("gid_visible") idedit = prefsTop.get_widget("gid_edit") + index_vis = prefsTop.get_widget("show_child_id") tabs = prefsTop.get_widget("usetabs") vc = prefsTop.get_widget("use_vc") vcom = prefsTop.get_widget("vc_comment") @@ -633,6 +642,7 @@ def display_preferences_box(db): compress.set_active(uncompress) vis.set_active(id_visible) idedit.set_active(id_edit) + index_vis.set_active(index_visible) prefsTop.get_widget("iprefix").set_text(iprefix) prefsTop.get_widget("oprefix").set_text(oprefix) diff --git a/gramps/src/config.glade b/gramps/src/config.glade index 36c301f3a..79e723acd 100644 --- a/gramps/src/config.glade +++ b/gramps/src/config.glade @@ -1351,6 +1351,26 @@ False + + + GtkCheckButton + show_child_id + True + + toggled + on_object_toggled + propertybox + Mon, 29 Oct 2001 22:58:03 GMT + + + False + True + + 0 + False + False + + diff --git a/gramps/src/gramps.glade b/gramps/src/gramps.glade index 8a9e83bfe..37ef5f70b 100644 --- a/gramps/src/gramps.glade +++ b/gramps/src/gramps.glade @@ -1933,11 +1933,25 @@ Mon, 08 Oct 2001 20:31:41 GMT 7 - 210,60,85,150,75,50,25 + 15,210,60,85,150,75,50 GTK_SELECTION_SINGLE True GTK_SHADOW_IN + + GtkLabel + CList:title + label15 + False + + GTK_JUSTIFY_RIGHT + False + 0.5 + 0.5 + 0 + 0 + + GtkHBox CList:title @@ -2102,19 +2116,6 @@ 0 0 - - - GtkLabel - CList:title - label15 - - GTK_JUSTIFY_CENTER - False - 0.5 - 0.5 - 0 - 0 - diff --git a/gramps/src/gramps_main.py b/gramps/src/gramps_main.py index 59ae26ad9..ac45cdf53 100755 --- a/gramps/src/gramps_main.py +++ b/gramps/src/gramps_main.py @@ -116,7 +116,11 @@ merge_button = None sort_column = 5 sort_direct = SORT_ASCENDING DataFilter = Filter.Filter("") -c_birth_order = 6 +c_birth_order = 0 +c_name = 1 +c_id = 2 +c_birth_date = 4 +c_details = 6 c_sort_column = c_birth_order c_sort_direct = SORT_ASCENDING @@ -433,8 +437,9 @@ def full_update(): person_list.clear() notebook.set_show_tabs(Config.usetabs) clist = gtop.get_widget("child_list") - clist.set_column_visibility(4,Config.show_detail) - clist.set_column_visibility(1,Config.id_visible) + clist.set_column_visibility(c_details,Config.show_detail) + clist.set_column_visibility(c_id,Config.id_visible) + clist.set_column_visibility(c_birth_order,Config.index_visible) apply_filter() load_family() load_sources() @@ -1090,10 +1095,10 @@ def on_child_list_select_row(obj,row,b,c): # #------------------------------------------------------------------------- def on_child_list_click_column(clist,column): - if column == 0: - child_change_sort(clist,0,gtop.get_widget("cNameSort")) - elif (column == 3) or (column == 6): - child_change_sort(clist,6,gtop.get_widget("cDateSort")) + if column == c_name: + child_change_sort(clist,c_name,gtop.get_widget("cNameSort")) + elif (column == c_birth_order) or (column == c_birth_date): + child_change_sort(clist,c_birth_order,gtop.get_widget("cDateSort")) else: return @@ -1133,6 +1138,21 @@ def child_change_sort(clist,column,arrow): def sort_child_list(clist): clist.freeze() clist.sort() + if ListColors.get_enable(): + try: + oddbg = GdkColor(ListColors.oddbg[0],ListColors.oddbg[1],ListColors.oddbg[2]) + oddfg = GdkColor(ListColors.oddfg[0],ListColors.oddfg[1],ListColors.oddfg[2]) + evenbg = GdkColor(ListColors.evenbg[0],ListColors.evenbg[1],ListColors.evenbg[2]) + evenfg = GdkColor(ListColors.evenfg[0],ListColors.evenfg[1],ListColors.evenfg[2]) + rows = clist.rows + for i in range(0,rows,2): + clist.set_background(i,oddbg) + clist.set_foreground(i,oddfg) + if i != rows: + clist.set_background(i+1,evenbg) + clist.set_foreground(i+1,evenfg) + except OverflowError: + pass clist.thaw() #------------------------------------------------------------------------- @@ -1197,7 +1217,7 @@ def on_child_list_row_move(clist,fm,to): # Update the clist indices so any change of sorting works i = 0 for tmp in clist_order: - clist.set_text(i, c_birth_order, "%2d"%new_order[tmp]) + clist.set_text(i, c_birth_order, "%2d"%(new_order[tmp]+1)) i = i + 1 # Need to save the changed order @@ -1818,8 +1838,8 @@ def display_marriage(family): if len(child.getPhotoList()) > 0: attr = attr + "P" - clist.append([Config.nameof(child),child.getId(),\ - gender,utils.birthday(child),status,attr,"%2d"%i]) + clist.append(["%2d"%(i+1),Config.nameof(child),child.getId(),\ + gender,utils.birthday(child),status,attr]) clist.set_row_data(i,child) i=i+1 if i != 0: @@ -1828,7 +1848,7 @@ def display_marriage(family): else: fv_prev.set_sensitive(0) clist.set_data("f",family) - clist.sort() + sort_child_list(clist) else: fv_prev.set_sensitive(0) @@ -2731,9 +2751,8 @@ def main(arg): database.set_sprefix(Config.sprefix) database.set_pprefix(Config.pprefix) child_list = gtop.get_widget("child_list") - child_list.set_column_visibility(4,Config.show_detail) - child_list.set_column_visibility(6,0) - child_list.set_column_visibility(7,0) + child_list.set_column_visibility(c_details,Config.show_detail) + child_list.set_column_justification(c_birth_order,JUSTIFY_RIGHT) if arg != None: read_file(arg)