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 b8e61b0..ae0636f 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
@@ -1048,7 +1048,7 @@ PyFM is developed on Atom, git, and using Python 3+ with Gtk GObject introspecti
-
+
+ 320
+ False
+ controll_box
+ bottom
+
+
+ True
+ False
+ center
+
+
+
+
+
+
True
False
diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Controller.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Controller.py
index 4a5dca8..8a2abb3 100644
--- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Controller.py
+++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Controller.py
@@ -9,8 +9,7 @@ from gi.repository import GLib
# Application imports
from .mixins import *
-from shellfm import WindowController
-from . import ShowHideMixin, KeyboardSignalsMixin
+from . import ShowHideMixin, KeyboardSignalsMixin, Controller_Data
def threaded(fn):
@@ -19,37 +18,11 @@ def threaded(fn):
return wrapper
-class Controller(ShowHideMixin, KeyboardSignalsMixin, WidgetFileActionMixin, PaneMixin, WindowMixin):
- def __init__(self, args, unknownargs, settings):
- self.settings = settings
- self.builder = self.settings.builder
- self.logger = self.settings.logger
-
- self.window_controller = WindowController()
- self.state = self.window_controller.load_state()
-
- self.window = self.settings.getMainWindow()
- self.window1 = self.builder.get_object("window_1")
- self.window2 = self.builder.get_object("window_2")
- self.window3 = self.builder.get_object("window_3")
- self.window4 = self.builder.get_object("window_4")
- self.notebooks = [self.window1, self.window2, self.window3, self.window4]
- self.selected_files = []
- self.to_rename_files = []
- self.to_copy_files = []
- self.to_cut_files = []
-
- self.single_click_open = False
- self.is_pane1_hidden = False
- self.is_pane2_hidden = False
- self.is_pane3_hidden = False
- self.is_pane4_hidden = False
-
- self.skip_edit = False
- self.cancel_edit = False
- self.ctrlDown = False
- self.shiftDown = False
- self.altDown = False
+class Controller(Controller_Data, ShowHideMixin, KeyboardSignalsMixin, WidgetFileActionMixin, \
+ PaneMixin, WindowMixin):
+ def __init__(self, args, unknownargs, _settings):
+ self.settings = _settings
+ self.setup_controller_data()
self.window.show()
self.generate_windows(self.state)
@@ -89,11 +62,21 @@ class Controller(ShowHideMixin, KeyboardSignalsMixin, WidgetFileActionMixin, Pan
except Exception as e:
print(repr(e))
- def has_method(self, o, name):
- return callable(getattr(o, name, None))
+ def display_message(self, type, text, seconds=3):
+ markup = "" + text + ""
+ self.message_label.set_markup(markup)
+ self.message_widget.popup()
+ self.hide_message_timeout(seconds)
+
+ @threaded
+ def hide_message_timeout(self, seconds=3):
+ time.sleep(seconds)
+ GLib.idle_add(self.message_widget.popdown)
+
+
def do_edit_files(self, widget=None, eve=None):
self.to_rename_files = self.selected_files
diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Controller_Data.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Controller_Data.py
new file mode 100644
index 0000000..9a1c644
--- /dev/null
+++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/Controller_Data.py
@@ -0,0 +1,48 @@
+# Python imports
+
+# Gtk imports
+
+# Application imports
+from shellfm import WindowController
+
+
+class Controller_Data:
+ def has_method(self, o, name):
+ return callable(getattr(o, name, None))
+
+ def setup_controller_data(self):
+ self.window_controller = WindowController()
+ self.state = self.window_controller.load_state()
+
+ self.builder = self.settings.builder
+ self.logger = self.settings.logger
+
+ self.window = self.settings.getMainWindow()
+ self.window1 = self.builder.get_object("window_1")
+ self.window2 = self.builder.get_object("window_2")
+ self.window3 = self.builder.get_object("window_3")
+ self.window4 = self.builder.get_object("window_4")
+ self.message_widget = self.builder.get_object("message_widget")
+ self.message_label = self.builder.get_object("message_label")
+
+ self.notebooks = [self.window1, self.window2, self.window3, self.window4]
+ self.selected_files = []
+ self.to_rename_files = []
+ self.to_copy_files = []
+ self.to_cut_files = []
+
+ self.single_click_open = False
+ self.is_pane1_hidden = False
+ self.is_pane2_hidden = False
+ self.is_pane3_hidden = False
+ self.is_pane4_hidden = False
+
+ self.skip_edit = False
+ self.cancel_edit = False
+ self.ctrlDown = False
+ self.shiftDown = False
+ self.altDown = False
+
+ self.success = "#88cc27"
+ self.warning = "#ffa800"
+ self.error = "#ff0000"
diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/KeyboardSignalsMixin.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/KeyboardSignalsMixin.py
index d4a468e..181f636 100644
--- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/KeyboardSignalsMixin.py
+++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/KeyboardSignalsMixin.py
@@ -19,7 +19,7 @@ class KeyboardSignalsMixin:
if "shift" in keyname:
self.shiftDown = True
if "alt" in keyname:
- self.altDown = True
+ self.altDown = True
# NOTE: Yes, this should actually be mapped to some key controller setting
# file or something. Sue me.
diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/__init__.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/__init__.py
index 6fc7fbd..f34b90c 100644
--- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/__init__.py
+++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/__init__.py
@@ -5,4 +5,5 @@ from .mixins import *
from .DBusControllerMixin import DBusControllerMixin
from .KeyboardSignalsMixin import KeyboardSignalsMixin
from .ShowHideMixin import ShowHideMixin
+from .Controller_Data import Controller_Data
from .Controller import Controller
diff --git a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetFileActionMixin.py b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetFileActionMixin.py
index 9cb70c8..f8545d2 100644
--- a/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetFileActionMixin.py
+++ b/src/versions/pyfm-0.0.1/PyFM/new/pyfm/signal_classes/mixins/WidgetFileActionMixin.py
@@ -245,9 +245,11 @@ class WidgetFileActionMixin:
state = view.move_file(fPath, tPath)
if not state:
- raise Exception("Failed to perform requested dir/file action!")
+ raise GObject.GError("Failed to perform requested dir/file action!")
except GObject.GError as e:
- raise OSError(e.message)
+ if debug:
+ print(repr(e))
+ self.display_message(self.error, f"{e.message}")
def preprocess_paths(self, paths):
if not isinstance(paths, list):