diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/resources/Main_Window.glade b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/resources/Main_Window.glade index dfbac8d..9106881 100644 --- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/resources/Main_Window.glade +++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/resources/Main_Window.glade @@ -206,7 +206,6 @@ True False - 45 5 start @@ -280,6 +279,22 @@ 1 + + + + True + False + False + False + False + False + + + True + True + 2 + + False @@ -344,10 +359,12 @@ + path_entry True True True - Path... + Path... + True @@ -404,6 +421,7 @@ 5 5 5 + False True @@ -439,6 +457,7 @@ 5 5 5 + False True @@ -488,6 +507,7 @@ 5 5 5 + False True @@ -522,6 +542,7 @@ 5 5 5 + False True diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/shellfm/windows/view/Path.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/shellfm/windows/view/Path.py index 986dda8..1b557b1 100644 --- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/shellfm/windows/view/Path.py +++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/shellfm/windows/view/Path.py @@ -31,13 +31,25 @@ class Path: def set_path(self, path): - self.path = list( filter(None, path.replace("\\", "/").split('/')) ) - self.load_directory() + if path == self.get_path(): + return + + if os.path.isdir(path): + self.path = list( filter(None, path.replace("\\", "/").split('/')) ) + self.load_directory() + return True + return False def set_path_with_sub_path(self, sub_path): - path = os.path.join(self.get_home(), sub_path) - self.path = list( filter(None, path.replace("\\", "/").split('/')) ) - self.load_directory() + path = os.path.join(self.get_home(), sub_path) + if path == self.get_path(): + return + + if os.path.isdir(path): + self.path = list( filter(None, path.replace("\\", "/").split('/')) ) + self.load_directory() + return True + return False def set_to_home(self): home = os.path.expanduser("~") + self.subpath diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py index 67cf8df..b16e01a 100644 --- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py +++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/TabMixin.py @@ -36,7 +36,7 @@ class TabMixin(WidgetMixin): notebook.set_current_page(index) # FIXME: set_tab_reorderable doesn't seem to work... - # notebook.set_tab_reorderable(tab, True) + notebook.set_tab_reorderable(scroll, True) self.load_store(view, store, save_state) def close_tab(self, widget, eve): @@ -123,6 +123,10 @@ class TabMixin(WidgetMixin): except Exception as e: print(repr(e)) + def update_path(self, widget, eve=None): + print(widget) + + def do_action_from_bar_controls(self, widget, eve=None): action = widget.get_name() wid, tid = self.window_controller.get_active_data() @@ -142,6 +146,11 @@ class TabMixin(WidgetMixin): dir = view.get_current_directory() self.create_tab(wid, dir) return + if action == "path_entry": + path = widget.get_text() + traversed = view.set_path(path) + if not traversed: + return self.load_store(view, store, True) self.set_path_text(wid, tid)