From 60bf4fb8d447a253a7b1b0810b9b1182595a512d Mon Sep 17 00:00:00 2001 From: Zsolt Foldvari Date: Fri, 11 Apr 2008 21:00:36 +0000 Subject: [PATCH] Make GUI static (buttons not jumping). svn: r10555 --- src/DbManager.py | 63 ++++++++++++++++++++++-------------------- src/glade/gramps.glade | 5 ++-- 2 files changed, 36 insertions(+), 32 deletions(-) diff --git a/src/DbManager.py b/src/DbManager.py index d563d102b..623a84b4b 100644 --- a/src/DbManager.py +++ b/src/DbManager.py @@ -362,44 +362,45 @@ class DbManager(CLIDbManager): buttons are disabled, and the Open button is disabled if the row represents a open database. """ + if not RCS_FOUND: + self.rcs.hide() + # Get the current selection store, node = selection.get_selected() + + # if nothing is selected if not node: self.connect.set_sensitive(False) self.rename.set_sensitive(False) - self.rcs.hide() - self.repair.hide() + self.rcs.set_sensitive(False) + self.repair.set_sensitive(False) self.remove.set_sensitive(False) + return + + path = self.model.get_path(node) + if path is None: + return + + is_rev = len(path) > 1 + + self.rcs.set_label(RCS_BUTTON[is_rev]) + self.rename.set_sensitive(True) + + if store.get_value(node, STOCK_COL) == gtk.STOCK_OPEN: + self.connect.set_sensitive(False) + self.rcs.set_sensitive(True) else: - path = self.model.get_path(node) - if path == None: - return - is_rev = len(path) > 1 + self.connect.set_sensitive(not is_rev) + self.rcs.set_sensitive(is_rev) - self.rcs.set_label(RCS_BUTTON[is_rev]) - self.rename.set_sensitive(True) - - if store.get_value(node, STOCK_COL) == gtk.STOCK_OPEN: - self.connect.set_sensitive(False) - if RCS_FOUND: - self.rcs.show() - else: - self.connect.set_sensitive(not is_rev) - if RCS_FOUND and is_rev: - self.rcs.show() - else: - self.rcs.hide() - - if store.get_value(node, STOCK_COL) == gtk.STOCK_DIALOG_ERROR: - path = store.get_value(node, PATH_COL) - if os.path.isfile(os.path.join(path,"person.gbkp")): - self.repair.show() - else: - self.repair.hide() - else: - self.repair.hide() - - self.remove.set_sensitive(True) + if store.get_value(node, STOCK_COL) == gtk.STOCK_DIALOG_ERROR: + path = store.get_value(node, PATH_COL) + backup = os.path.join(path, "person.gbkp") + self.repair.set_sensitive(os.path.isfile(backup)) + else: + self.repair.set_sensitive(False) + + self.remove.set_sensitive(True) def __build_interface(self): """ @@ -556,6 +557,7 @@ class DbManager(CLIDbManager): sends a 'editing-canceled' signal loosing the new name """ self.connect.set_sensitive(False) + self.rename.set_sensitive(False) def __change_name(self, renderer_sel, path, new_text): """ @@ -844,6 +846,7 @@ class DbManager(CLIDbManager): last, tval, False, '']) self.selection.select_iter(node) path = self.model.get_path(node) + self.name_renderer.set_property('editable', True) self.dblist.set_cursor(path, focus_column=self.column, start_editing=True) return new_path, title diff --git a/src/glade/gramps.glade b/src/glade/gramps.glade index 99dc972bc..a554d51be 100644 --- a/src/glade/gramps.glade +++ b/src/glade/gramps.glade @@ -15986,8 +15986,8 @@ Very High True - GTK_BUTTONBOX_SPREAD - 0 + GTK_BUTTONBOX_START + 6 @@ -16039,6 +16039,7 @@ Very High + True True True _Archive