From cab48e660b75bc2d8390d51dd4069bd9e5992912 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Fri, 24 Jun 2016 16:38:29 -0400 Subject: [PATCH] remove obsolete directory buttons --- simplesvnbrowser/main_window.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/simplesvnbrowser/main_window.py b/simplesvnbrowser/main_window.py index d8bc835..d9f7f91 100644 --- a/simplesvnbrowser/main_window.py +++ b/simplesvnbrowser/main_window.py @@ -96,18 +96,22 @@ class MainWindow(Gtk.Window): else: path_in_repo = url[len(self.repo_root):] path_parts = re.sub(r'/+', '/', path_in_repo).split('/') - build_path = self.repo_root + directory_url = self.repo_root for i, part in enumerate(path_parts): caption = part if i > 0 else "/" if part != "": - build_path += "/" + part + directory_url += "/" + part if (len(self.directory_buttons) > i and self.directory_buttons[i].caption != caption): - # TODO: remove obsolete directory buttons - pass + for btn in self.directory_buttons[i:]: + btn.destroy() + self.directory_buttons[i:] = [] if len(self.directory_buttons) <= i: btn = Gtk.Button(label = caption) btn.caption = caption + btn.directory_url = directory_url + handler = lambda widget: self.__go(widget.directory_url) + btn.connect("clicked", handler) self.directory_vbox.pack_start(btn, False, False, 0) self.directory_buttons.append(btn) self.directory_vbox.show_all()