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 @@
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)