handle activating a folder entry to browse the folder

This commit is contained in:
Josh Holtrop 2016-06-27 14:00:46 -04:00
parent 51fa5def99
commit d39a1b79f5

View File

@ -11,6 +11,7 @@ class MainWindow(Gtk.Window):
super().__init__(title = "Simple SVN Browser v%s" % VERSION) super().__init__(title = "Simple SVN Browser v%s" % VERSION)
self.repo_root = None self.repo_root = None
self.current_url = None
self.cache_file = CacheFile() self.cache_file = CacheFile()
self.directory_buttons = [] self.directory_buttons = []
@ -33,6 +34,7 @@ class MainWindow(Gtk.Window):
self.contents_model = Gtk.ListStore(str, str) self.contents_model = Gtk.ListStore(str, str)
self.contents_treeview = Gtk.TreeView.new_with_model(self.contents_model) self.contents_treeview = Gtk.TreeView.new_with_model(self.contents_model)
self.contents_treeview.set_headers_visible(False) self.contents_treeview.set_headers_visible(False)
self.contents_treeview.connect("row-activated", self.__on_contents_treeview_row_activated)
icon_renderer = Gtk.CellRendererPixbuf() icon_renderer = Gtk.CellRendererPixbuf()
column = Gtk.TreeViewColumn("Icon", icon_renderer, icon_name = 0) column = Gtk.TreeViewColumn("Icon", icon_renderer, icon_name = 0)
self.contents_treeview.append_column(column) self.contents_treeview.append_column(column)
@ -86,8 +88,10 @@ class MainWindow(Gtk.Window):
self.move(self.cache_file["x"], self.cache_file["y"]) self.move(self.cache_file["x"], self.cache_file["y"])
def __refresh(self, url): def __refresh(self, url):
url = re.sub(r'/+$', '', url)
self.__refresh_repo_root(url) self.__refresh_repo_root(url)
if self.repo_root is not None: if self.repo_root is not None:
self.current_url = url
self.__refresh_directory_buttons(url) self.__refresh_directory_buttons(url)
self.__refresh_directory_contents(url) self.__refresh_directory_contents(url)
else: else:
@ -152,8 +156,17 @@ class MainWindow(Gtk.Window):
entry_name = m.group(1) entry_name = m.group(1)
folder = True folder = True
self.contents_model.append(("folder" if folder else "text-x-generic", entry_name)) self.contents_model.append(("folder" if folder else "text-x-generic", entry_name))
# TODO: finish
def __go(self, url): def __go(self, url):
self.address_entry.set_text(url) self.address_entry.set_text(url)
self.on_go_button_clicked(self.go_button) self.on_go_button_clicked(self.go_button)
def __on_contents_treeview_row_activated(self, widget, path, column):
model_iterator = self.contents_model.get_iter(path)
entry_type = self.contents_model.get_value(model_iterator, 0)
entry_name = self.contents_model.get_value(model_iterator, 1)
if entry_type == "folder":
self.__go(self.current_url + "/" + entry_name)
else:
# TODO
pass