diff options
author | Wade Brainerd <wadetb@gmail.com> | 2009-09-14 21:35:43 (GMT) |
---|---|---|
committer | Wade Brainerd <wadetb@gmail.com> | 2009-09-14 21:35:43 (GMT) |
commit | 145397211135ca75ee39fa87071c059d3a654bcb (patch) | |
tree | 810f3f4166f55c8965ab764d4ef843af3d88e915 | |
parent | 2c9da6eaf151925502250f6390d625bec2a09529 (diff) |
Button behavior cleanup.
-rw-r--r-- | editlessonlistscreen.py | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/editlessonlistscreen.py b/editlessonlistscreen.py index 569b506..e7a6238 100644 --- a/editlessonlistscreen.py +++ b/editlessonlistscreen.py @@ -170,6 +170,7 @@ class EditLessonListScreen(gtk.VBox): del self.liststore[id] self.treeview.get_selection().select_path(id) self.treeview.grab_focus() + self.update_sensitivity() def move_lesson_up_clicked_cb(self, btn): path = self.treeview.get_cursor()[0] @@ -181,6 +182,7 @@ class EditLessonListScreen(gtk.VBox): self.liststore.swap(self.liststore.get_iter(id), self.liststore.get_iter(id - 1)) self.treeview.get_selection().select_path(id - 1) self.treeview.grab_focus() + self.update_sensitivity() def move_lesson_down_clicked_cb(self, btn): path = self.treeview.get_cursor()[0] @@ -192,14 +194,10 @@ class EditLessonListScreen(gtk.VBox): self.liststore.swap(self.liststore.get_iter(id), self.liststore.get_iter(id + 1)) self.treeview.get_selection().select_path(id + 1) self.treeview.grab_focus() + self.update_sensitivity() def lesson_selected_cb(self, treeview): - path = treeview.get_cursor()[0] - enable = path is not None - - self.delbtn.set_sensitive(True) - self.moveupbtn.set_sensitive(True) - self.movedownbtn.set_sensitive(True) + self.update_sensitivity() def lesson_activated_cb(self, treeview, path, column): id = path[0] @@ -207,7 +205,27 @@ class EditLessonListScreen(gtk.VBox): self.activity.push_screen(editlessonscreen.EditLessonScreen(self.activity, lesson)) def enter(self): - self.delbtn.set_sensitive(False) - self.moveupbtn.set_sensitive(False) - self.movedownbtn.set_sensitive(False) + self.update_sensitivity() + def update_sensitivity(self): + path = self.treeview.get_cursor()[0] + + if path: + self.delbtn.set_sensitive(True) + + if path[0] > 0: + self.moveupbtn.set_sensitive(True) + else: + self.moveupbtn.set_sensitive(False) + + if path[0] < len(self.lessons) - 1: + self.movedownbtn.set_sensitive(True) + else: + self.movedownbtn.set_sensitive(False) + + else: + self.delbtn.set_sensitive(False) + self.moveupbtn.set_sensitive(False) + self.movedownbtn.set_sensitive(False) + + |