From 63c41d5e2acb6b9bb2889ead27df8bd1068b0507 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Sat, 29 Jan 2022 18:18:21 -0600 Subject: [PATCH] deb update, improved dnd --- README.md | 1 - bin/solarfm-0-0-1-x64.deb | Bin 0 -> 130472 bytes src/debs/clear_pycache_dirs.sh | 0 src/debs/solarfm-0-0-1-x64/bin/solarfm | Bin .../opt/SolarFM/__builtins__.py | 11 ++++- .../solarfm-0-0-1-x64/opt/SolarFM/__init__.py | 27 ++++++----- .../solarfm-0-0-1-x64/opt/SolarFM/__main__.py | 2 +- .../shellfm/windows/WindowController.py | 4 +- .../opt/SolarFM/shellfm/windows/view/Path.py | 6 ++- .../opt/SolarFM/shellfm/windows/view/View.py | 2 +- .../shellfm/windows/view/icons/Icon.py | 7 ++- .../shellfm/windows/view/utils/Settings.py | 2 +- .../opt/SolarFM/signal_classes/Controller.py | 33 +++++++------ .../SolarFM/signal_classes/Controller_Data.py | 28 +++++++---- ...usControllerMixin.py => IPCServerMixin.py} | 8 ++-- .../opt/SolarFM/signal_classes/Plugins.py | 41 ++++++++++++++++ .../opt/SolarFM/signal_classes/__init__.py | 5 +- .../{ => mixins}/KeyboardSignalsMixin.py | 0 .../{ => mixins}/ShowHideMixin.py | 0 .../SolarFM/signal_classes/mixins/__init__.py | 7 +-- .../mixins/{ => ui}/PaneMixin.py | 0 .../mixins/{ => ui}/TabMixin.py | 0 .../mixins/{ => ui}/WidgetFileActionMixin.py | 0 .../mixins/{ => ui}/WidgetMixin.py | 7 ++- .../mixins/{ => ui}/WindowMixin.py | 45 +++++++++++++----- .../signal_classes/mixins/ui/__init__.py | 5 ++ .../opt/SolarFM/trasher/__init__.py | 0 .../opt/SolarFM/trasher/trash.py | 0 .../opt/SolarFM/trasher/xdgtrash.py | 0 .../opt/SolarFM/utils/Logger.py | 8 ++-- .../opt/SolarFM/utils/Settings.py | 36 ++++++++------ .../solarfm/signal_classes/Controller_Data.py | 7 +-- .../signal_classes/mixins/ui/WidgetMixin.py | 3 ++ .../signal_classes/mixins/ui/WindowMixin.py | 23 ++++++--- 34 files changed, 216 insertions(+), 102 deletions(-) create mode 100644 bin/solarfm-0-0-1-x64.deb mode change 100755 => 100644 src/debs/clear_pycache_dirs.sh mode change 100755 => 100644 src/debs/solarfm-0-0-1-x64/bin/solarfm rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/{DBusControllerMixin.py => IPCServerMixin.py} (85%) create mode 100644 src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Plugins.py rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/{ => mixins}/KeyboardSignalsMixin.py (100%) rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/{ => mixins}/ShowHideMixin.py (100%) rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/{ => ui}/PaneMixin.py (100%) rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/{ => ui}/TabMixin.py (100%) rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/{ => ui}/WidgetFileActionMixin.py (100%) rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/{ => ui}/WidgetMixin.py (95%) rename src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/{ => ui}/WindowMixin.py (86%) create mode 100644 src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/__init__.py mode change 100755 => 100644 src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/__init__.py mode change 100755 => 100644 src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/trash.py mode change 100755 => 100644 src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/xdgtrash.py diff --git a/README.md b/README.md index bb1b1ce..d95b54d 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,6 @@ sudo apt-get install python3.8 wget python3-setproctitle python3-gi ffmpegthumbn # TODO # Images diff --git a/bin/solarfm-0-0-1-x64.deb b/bin/solarfm-0-0-1-x64.deb new file mode 100644 index 0000000000000000000000000000000000000000..744a9c4e99507452717284b862c0db7053bd5651 GIT binary patch literal 130472 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

qFEiKeBN=9-czjPK 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

6&UbXW7K|pj2RhWjq!u0_pS^z4ed6P*3xxD_ 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

Q@}XeG*FY9Ma4r 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 n-dGI)A6`5Zk{IV=00E@+2Y`?vb>YT 1: + try: self.path.pop() if not self.go_past_home: @@ -29,6 +29,8 @@ class Path: self.set_to_home() self.load_directory() + except Exception as e: + pass def set_path(self, path): if path == self.get_path(): diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/View.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/View.py index 9a0485b..594dee1 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/View.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/View.py @@ -199,7 +199,7 @@ class View(Settings, FileHandler, Launcher, Icon, Path): def get_current_sub_path(self): path = self.get_path() - home = self.get_home() + "/" + home = f"{self.get_home()}/" return path.replace(home, "") def get_end_of_path(self): diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/icons/Icon.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/icons/Icon.py index f65d7bb..3c14d2f 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/icons/Icon.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/icons/Icon.py @@ -56,7 +56,12 @@ class Icon(DesktopIconMixin, VideoIconMixin): def create_scaled_image(self, path, wxh): try: - return GdkPixbuf.Pixbuf.new_from_file_at_scale(path, wxh[0], wxh[1], True) + if path.lower().endswith(".gif"): + return GdkPixbuf.PixbufAnimation.new_from_file(path) \ + .get_static_image() \ + .scale_simple(wxh[0], wxh[1], GdkPixbuf.InterpType.BILINEAR) + else: + return GdkPixbuf.Pixbuf.new_from_file_at_scale(path, wxh[0], wxh[1], True) except Exception as e: print("Image Scaling Issue:") print( repr(e) ) diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/utils/Settings.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/utils/Settings.py index d1229c2..e4d9323 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/utils/Settings.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/shellfm/windows/view/utils/Settings.py @@ -59,7 +59,7 @@ class Settings: subpath = settings["base_of_home"] HIDE_HIDDEN_FILES = True if settings["hide_hidden_files"] == "true" else False FFMPG_THUMBNLR = FFMPG_THUMBNLR if settings["thumbnailer_path"] == "" else settings["thumbnailer_path"] - go_past_home = True if settings["go_past_home"] == "true" else False + go_past_home = True if settings["go_past_home"] == "" else settings["go_past_home"] lock_folder = True if settings["lock_folder"] == "true" else False locked_folders = settings["locked_folders"].split("::::") mplayer_options = settings["mplayer_options"].split() diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller.py index 5354c5e..5673203 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller.py @@ -1,5 +1,5 @@ # Python imports -import sys, traceback, threading, signal, inspect, os, time +import sys, traceback, threading, inspect, os, time # Lib imports import gi @@ -7,8 +7,9 @@ gi.require_version('Gtk', '3.0') from gi.repository import Gtk, GLib # Application imports -from .mixins import * -from . import ShowHideMixin, KeyboardSignalsMixin, Controller_Data +from .mixins.ui import * +from .mixins import ShowHideMixin, KeyboardSignalsMixin +from . import Controller_Data def threaded(fn): @@ -23,25 +24,23 @@ class Controller(WidgetFileActionMixin, PaneMixin, WindowMixin, ShowHideMixin, \ KeyboardSignalsMixin, Controller_Data): def __init__(self, args, unknownargs, _settings): # sys.excepthook = self.custom_except_hook - self.settings = _settings - self.setup_controller_data() - + self.setup_controller_data(_settings) self.window.show() self.generate_windows(self.state) + self.plugins.launch_plugins() - self.window.connect("delete-event", self.tear_down) - GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self.tear_down) - self.gui_event_observer() + if not trace_debug: + self.gui_event_observer() - if unknownargs: - for arg in unknownargs: - if os.path.isdir(arg): - message = f"FILE|{arg}" - event_system.send_ipc_message(message) + if unknownargs: + for arg in unknownargs: + if os.path.isdir(arg): + message = f"FILE|{arg}" + event_system.send_ipc_message(message) - if args.new_tab and os.path.isdir(args.new_tab): - message = f"FILE|{args.new_tab}" - event_system.send_ipc_message(message) + if args.new_tab and os.path.isdir(args.new_tab): + message = f"FILE|{args.new_tab}" + event_system.send_ipc_message(message) def tear_down(self, widget=None, eve=None): diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller_Data.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller_Data.py index ccace6d..95d8008 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller_Data.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Controller_Data.py @@ -1,4 +1,5 @@ # Python imports +import signal # Lib imports from gi.repository import GLib @@ -6,6 +7,7 @@ from gi.repository import GLib # Application imports from shellfm import WindowController from trasher.xdgtrash import XDGTrash +from . import Plugins @@ -14,16 +16,18 @@ class Controller_Data: def has_method(self, o, name): return callable(getattr(o, name, None)) - def setup_controller_data(self): - self.window_controller = WindowController() + def setup_controller_data(self, _settings): self.trashman = XDGTrash() + self.window_controller = WindowController() + self.plugins = Plugins(_settings) + self.state = self.window_controller.load_state() self.trashman.regenerate() - self.state = self.window_controller.load_state() - self.builder = self.settings.builder - self.logger = self.settings.logger + self.settings = _settings + self.builder = self.settings.get_builder() + self.logger = self.settings.get_logger() - self.window = self.settings.getMainWindow() + self.window = self.settings.get_main_window() self.window1 = self.builder.get_object("window_1") self.window2 = self.builder.get_object("window_2") self.window3 = self.builder.get_object("window_3") @@ -85,10 +89,10 @@ class Controller_Data: self.is_pane3_hidden = False self.is_pane4_hidden = False - self.is_searching = False - self.search_iconview = None - self.search_view = None - + self.override_drop_dest = None + self.is_searching = False + self.search_iconview = None + self.search_view = None self.skip_edit = False self.cancel_edit = False @@ -99,3 +103,7 @@ class Controller_Data: self.success = "#88cc27" self.warning = "#ffa800" self.error = "#ff0000" + + + self.window.connect("delete-event", self.tear_down) + GLib.unix_signal_add(GLib.PRIORITY_DEFAULT, signal.SIGINT, self.tear_down) diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/DBusControllerMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/IPCServerMixin.py similarity index 85% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/DBusControllerMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/IPCServerMixin.py index c8f622f..be92ace 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/DBusControllerMixin.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/IPCServerMixin.py @@ -15,11 +15,11 @@ def threaded(fn): -class DBusControllerMixin: +class IPCServerMixin: @threaded def create_ipc_server(self): - listener = Listener(('127.0.0.1', 4848), authkey=b'solarfm-ipc') + listener = Listener((self.ipc_address, self.ipc_port), authkey=self.ipc_authkey) self.is_ipc_alive = True while True: conn = listener.accept() @@ -49,7 +49,7 @@ class DBusControllerMixin: # NOTE: Not perfect but insures we don't lockup the connection for too long. end_time = time.time() - if (end - start) > 15.0: + if (end - start) > self.ipc_timeout: conn.close() listener.close() @@ -57,7 +57,7 @@ class DBusControllerMixin: def send_ipc_message(self, message="Empty Data..."): try: - conn = Client(('127.0.0.1', 4848), authkey=b'solarfm-ipc') + conn = Client((self.ipc_address, self.ipc_port), authkey=self.ipc_authkey) conn.send(message) conn.send('close connection') except Exception as e: diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Plugins.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Plugins.py new file mode 100644 index 0000000..8715aac --- /dev/null +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/Plugins.py @@ -0,0 +1,41 @@ +# Python imports +import importlib + +# Lib imports +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk, Gio + +# Application imports + + + + +class Plugins: + """docstring for Plugins""" + def __init__(self, settings): + self._settings = settings + self._plugins_path = self._settings.get_plugins_path() + self._plugins_dir_watcher = None + self._socket = Gtk.Socket().new() + + def launch_plugins(self): + self._set_plugins_watcher() + self.load_plugins() + + def _set_plugins_watcher(self): + self._plugins_dir_watcher = Gio.File.new_for_path(self._plugins_path) \ + .monitor_directory(Gio.FileMonitorFlags.WATCH_MOVES, Gio.Cancellable()) + self._plugins_dir_watcher.connect("changed", self._on_plugins_changed, ()) + + def _on_plugins_changed(self, file_monitor, file, other_file=None, eve_type=None, data=None): + if eve_type in [Gio.FileMonitorEvent.CREATED, Gio.FileMonitorEvent.DELETED, + Gio.FileMonitorEvent.RENAMED, Gio.FileMonitorEvent.MOVED_IN, + Gio.FileMonitorEvent.MOVED_OUT]: + self.load_plugins(file) + + def load_plugins(self, file=None): + print(f"(Re)loading plugins...") + print(locals()) + + # importlib.reload(stl_utils) diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/__init__.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/__init__.py index f34b90c..314f976 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/__init__.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/__init__.py @@ -2,8 +2,7 @@ Gtk Bound Signal Module """ from .mixins import * -from .DBusControllerMixin import DBusControllerMixin -from .KeyboardSignalsMixin import KeyboardSignalsMixin -from .ShowHideMixin import ShowHideMixin +from .IPCServerMixin import IPCServerMixin +from .Plugins import Plugins from .Controller_Data import Controller_Data from .Controller import Controller diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/KeyboardSignalsMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/KeyboardSignalsMixin.py similarity index 100% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/KeyboardSignalsMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/KeyboardSignalsMixin.py diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/ShowHideMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ShowHideMixin.py similarity index 100% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/ShowHideMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ShowHideMixin.py diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/__init__.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/__init__.py index cd23f8d..e457cb5 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/__init__.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/__init__.py @@ -1,5 +1,2 @@ -from .PaneMixin import PaneMixin -from .WidgetMixin import WidgetMixin -from .TabMixin import TabMixin -from .WindowMixin import WindowMixin -from .WidgetFileActionMixin import WidgetFileActionMixin +from .KeyboardSignalsMixin import KeyboardSignalsMixin +from .ShowHideMixin import ShowHideMixin diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/PaneMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/PaneMixin.py similarity index 100% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/PaneMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/PaneMixin.py diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/TabMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/TabMixin.py similarity index 100% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/TabMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/TabMixin.py diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WidgetFileActionMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WidgetFileActionMixin.py similarity index 100% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WidgetFileActionMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WidgetFileActionMixin.py diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WidgetMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WidgetMixin.py similarity index 95% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WidgetMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WidgetMixin.py index 99e0741..349cba7 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WidgetMixin.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WidgetMixin.py @@ -115,7 +115,7 @@ class WidgetMixin: def create_grid_iconview_widget(self, view, wid): scroll = Gtk.ScrolledWindow() grid = Gtk.IconView() - store = Gtk.ListStore(GdkPixbuf.Pixbuf or None, str) + store = Gtk.ListStore(GdkPixbuf.Pixbuf or GdkPixbuf.PixbufAnimation or None, str) grid.set_model(store) grid.set_pixbuf_column(0) @@ -133,11 +133,14 @@ class WidgetMixin: grid.connect("button_release_event", self.grid_icon_single_click) grid.connect("item-activated", self.grid_icon_double_click) + # grid.connect("toggle-cursor-item", self.grid_cursor_toggled) + # grid.connect("notify", self.grid_cursor_toggled) grid.connect("selection-changed", self.grid_set_selected_items) grid.connect("drag-data-get", self.grid_on_drag_set) grid.connect("drag-data-received", self.grid_on_drag_data_received) grid.connect("drag-motion", self.grid_on_drag_motion) + URI_TARGET_TYPE = 80 uri_target = Gtk.TargetEntry.new('text/uri-list', Gtk.TargetFlags(0), URI_TARGET_TYPE) targets = [ uri_target ] @@ -156,7 +159,7 @@ class WidgetMixin: def create_grid_treeview_widget(self, view, wid): scroll = Gtk.ScrolledWindow() grid = Gtk.TreeView() - store = Gtk.ListStore(GdkPixbuf.Pixbuf or None, str) + store = Gtk.ListStore(GdkPixbuf.Pixbuf or GdkPixbuf.PixbufAnimation or None, str) # store = Gtk.TreeStore(GdkPixbuf.Pixbuf or None, str) column = Gtk.TreeViewColumn("Icons") icon = Gtk.CellRendererPixbuf() diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WindowMixin.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WindowMixin.py similarity index 86% rename from src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WindowMixin.py rename to src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WindowMixin.py index aa8687f..17e4be3 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/WindowMixin.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/WindowMixin.py @@ -82,7 +82,7 @@ class WindowMixin(TabMixin): _wid, _tid, _view, iconview, store = self.get_current_state() selected_files = iconview.get_selected_items() current_directory = view.get_current_directory() - path_file = Gio.File.new_for_path( current_directory) + path_file = Gio.File.new_for_path(current_directory) mount_file = path_file.query_filesystem_info(attributes="filesystem::*", cancellable=None) formatted_mount_free = self.sizeof_fmt( int(mount_file.get_attribute_as_string("filesystem::free")) ) formatted_mount_size = self.sizeof_fmt( int(mount_file.get_attribute_as_string("filesystem::size")) ) @@ -101,11 +101,16 @@ class WindowMixin(TabMixin): uris = self.format_to_uris(store, _wid, _tid, selected_files, True) combined_size = 0 for uri in uris: - file_info = Gio.File.new_for_path(uri).query_info(attributes="standard::size", - flags=Gio.FileQueryInfoFlags.NONE, - cancellable=None) - file_size = file_info.get_size() - combined_size += file_size + try: + file_info = Gio.File.new_for_path(uri).query_info(attributes="standard::size", + flags=Gio.FileQueryInfoFlags.NONE, + cancellable=None) + file_size = file_info.get_size() + combined_size += file_size + except Exception as e: + if debug: + print(repr(e)) + formatted_size = self.sizeof_fmt(combined_size) if view.hide_hidden: @@ -152,6 +157,9 @@ class WindowMixin(TabMixin): def grid_set_selected_items(self, iconview): self.selected_files = iconview.get_selected_items() + def grid_cursor_toggled(self, iconview): + print("wat...") + def grid_icon_single_click(self, iconview, eve): try: self.path_menu.popdown() @@ -213,8 +221,19 @@ class WindowMixin(TabMixin): data.set_text(uris_text, -1) def grid_on_drag_motion(self, iconview, drag_context, x, y, data): - wid, tid = iconview.get_name().split("|") - self.window_controller.set_active_data(wid, tid) + current = '|'.join(self.window_controller.get_active_data()) + target = iconview.get_name() + wid, tid = target.split("|") + store = iconview.get_model() + treePath = iconview.get_drag_dest_item().path + + if treePath: + uri = self.format_to_uris(store, wid, tid, treePath)[0].replace("file://", "") + self.override_drop_dest = uri if isdir(uri) else None + + if target not in current: + self.window_controller.set_active_data(wid, tid) + def grid_on_drag_data_received(self, widget, drag_context, x, y, data, info, time): if info == 80: @@ -224,12 +243,14 @@ class WindowMixin(TabMixin): view = self.get_fm_window(wid).get_view_by_id(tid) uris = data.get_uris() - dest = f"{view.get_current_directory()}" - if len(uris) > 0: - self.move_files(uris, dest) - else: + dest = f"{view.get_current_directory()}" if not self.override_drop_dest else self.override_drop_dest + if len(uris) == 0: uris = data.get_text().split("\n") + + from_uri = '/'.join(uris[0].replace("file://", "").split("/")[:-1]) + if from_uri != dest: self.move_files(uris, dest) + def create_new_view_notebook(self, widget=None, wid=None, path=None): self.create_tab(wid, path) diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/__init__.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/__init__.py new file mode 100644 index 0000000..cd23f8d --- /dev/null +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/signal_classes/mixins/ui/__init__.py @@ -0,0 +1,5 @@ +from .PaneMixin import PaneMixin +from .WidgetMixin import WidgetMixin +from .TabMixin import TabMixin +from .WindowMixin import WindowMixin +from .WidgetFileActionMixin import WidgetFileActionMixin diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/__init__.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/__init__.py old mode 100755 new mode 100644 diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/trash.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/trash.py old mode 100755 new mode 100644 diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/xdgtrash.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/trasher/xdgtrash.py old mode 100755 new mode 100644 diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Logger.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Logger.py index c7f294e..06eed47 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Logger.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Logger.py @@ -5,8 +5,8 @@ import os, logging class Logger: - def __init__(self): - pass + def __init__(self, config_path): + self._CONFIG_PATH = config_path def get_logger(self, loggerName = "NO_LOGGER_NAME_PASSED", createFile = True): """ @@ -42,8 +42,8 @@ class Logger: log.addHandler(ch) if createFile: - folder = "logs" - file = folder + "/application.log" + folder = self._CONFIG_PATH + file = f"{folder}/application.log" if not os.path.exists(folder): os.mkdir(folder) diff --git a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Settings.py b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Settings.py index 3dc368f..380210a 100644 --- a/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Settings.py +++ b/src/debs/solarfm-0-0-1-x64/opt/SolarFM/utils/Settings.py @@ -17,39 +17,45 @@ from . import Logger class Settings: def __init__(self): - self.logger = Logger().get_logger() self.builder = gtk.Builder() self.SCRIPT_PTH = os.path.dirname(os.path.realpath(__file__)) self.USER_HOME = path.expanduser('~') - self.CONFIG_PATH = f"{self.USER_HOME}/.config/solarfm" - self.USR_SOLARFM = "/usr/share/solarfm" + self.CONFIG_PATH = f"{self.USER_HOME}/.config/{app_name.lower()}" + self.PLUGINS_PATH = f"{self.CONFIG_PATH}/plugins" + self.USR_SOLARFM = f"/usr/share/{app_name.lower()}" self.cssFile = f"{self.CONFIG_PATH}/stylesheet.css" self.windows_glade = f"{self.CONFIG_PATH}/Main_Window.glade" self.DEFAULT_ICONS = f"{self.CONFIG_PATH}/icons" - self.window_icon = f"{self.DEFAULT_ICONS}/solarfm.png" + self.window_icon = f"{self.DEFAULT_ICONS}/{app_name.lower()}.png" self.main_window = None + if not os.path.exists(self.CONFIG_PATH): + os.mkdir(self.CONFIG_PATH) + if not os.path.exists(self.PLUGINS_PATH): + os.mkdir(self.PLUGINS_PATH) + if not os.path.exists(self.windows_glade): self.windows_glade = f"{self.USR_SOLARFM}/Main_Window.glade" if not os.path.exists(self.cssFile): self.cssFile = f"{self.USR_SOLARFM}/stylesheet.css" if not os.path.exists(self.window_icon): - self.window_icon = f"{self.USR_SOLARFM}/icons/solarfm.png" + self.window_icon = f"{self.USR_SOLARFM}/icons/{app_name.lower()}.png" if not os.path.exists(self.DEFAULT_ICONS): self.DEFAULT_ICONS = f"{self.USR_SOLARFM}/icons" + self.logger = Logger(self.CONFIG_PATH).get_logger() self.builder.add_from_file(self.windows_glade) - def createWindow(self): + def create_window(self): # Get window and connect signals self.main_window = self.builder.get_object("Main_Window") - self.setWindowData() + self._set_window_data() - def setWindowData(self): + def _set_window_data(self): self.main_window.set_icon_from_file(self.window_icon) screen = self.main_window.get_screen() visual = screen.get_rgba_visual() @@ -57,7 +63,7 @@ class Settings: if visual != None and screen.is_composited(): self.main_window.set_visual(visual) self.main_window.set_app_paintable(True) - self.main_window.connect("draw", self.area_draw) + self.main_window.connect("draw", self._area_draw) # bind css file cssProvider = gtk.CssProvider() @@ -66,16 +72,13 @@ class Settings: styleContext = gtk.StyleContext() styleContext.add_provider_for_screen(screen, cssProvider, gtk.STYLE_PROVIDER_PRIORITY_USER) - def area_draw(self, widget, cr): + def _area_draw(self, widget, cr): cr.set_source_rgba(0, 0, 0, 0.54) cr.set_operator(cairo.OPERATOR_SOURCE) cr.paint() cr.set_operator(cairo.OPERATOR_OVER) - def getMainWindow(self): return self.main_window - - - def getMonitorData(self): + def get_monitor_data(self): screen = self.builder.get_object("Main_Window").get_screen() monitors = [] for m in range(screen.get_n_monitors()): @@ -85,3 +88,8 @@ class Settings: print("{}x{}+{}+{}".format(monitor.width, monitor.height, monitor.x, monitor.y)) return monitors + + def get_builder(self): return self.builder + def get_logger(self): return self.logger + def get_main_window(self): return self.main_window + def get_plugins_path(self): return self.PLUGINS_PATH diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/Controller_Data.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/Controller_Data.py index 2fd4f62..95d8008 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/Controller_Data.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/Controller_Data.py @@ -89,9 +89,10 @@ class Controller_Data: self.is_pane3_hidden = False self.is_pane4_hidden = False - self.is_searching = False - self.search_iconview = None - self.search_view = None + self.override_drop_dest = None + self.is_searching = False + self.search_iconview = None + self.search_view = None self.skip_edit = False self.cancel_edit = False diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WidgetMixin.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WidgetMixin.py index ef11ab0..349cba7 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WidgetMixin.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WidgetMixin.py @@ -133,11 +133,14 @@ class WidgetMixin: grid.connect("button_release_event", self.grid_icon_single_click) grid.connect("item-activated", self.grid_icon_double_click) + # grid.connect("toggle-cursor-item", self.grid_cursor_toggled) + # grid.connect("notify", self.grid_cursor_toggled) grid.connect("selection-changed", self.grid_set_selected_items) grid.connect("drag-data-get", self.grid_on_drag_set) grid.connect("drag-data-received", self.grid_on_drag_data_received) grid.connect("drag-motion", self.grid_on_drag_motion) + URI_TARGET_TYPE = 80 uri_target = Gtk.TargetEntry.new('text/uri-list', Gtk.TargetFlags(0), URI_TARGET_TYPE) targets = [ uri_target ] diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WindowMixin.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WindowMixin.py index d5d940f..17e4be3 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WindowMixin.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/signal_classes/mixins/ui/WindowMixin.py @@ -157,6 +157,9 @@ class WindowMixin(TabMixin): def grid_set_selected_items(self, iconview): self.selected_files = iconview.get_selected_items() + def grid_cursor_toggled(self, iconview): + print("wat...") + def grid_icon_single_click(self, iconview, eve): try: self.path_menu.popdown() @@ -218,8 +221,19 @@ class WindowMixin(TabMixin): data.set_text(uris_text, -1) def grid_on_drag_motion(self, iconview, drag_context, x, y, data): - wid, tid = iconview.get_name().split("|") - self.window_controller.set_active_data(wid, tid) + current = '|'.join(self.window_controller.get_active_data()) + target = iconview.get_name() + wid, tid = target.split("|") + store = iconview.get_model() + treePath = iconview.get_drag_dest_item().path + + if treePath: + uri = self.format_to_uris(store, wid, tid, treePath)[0].replace("file://", "") + self.override_drop_dest = uri if isdir(uri) else None + + if target not in current: + self.window_controller.set_active_data(wid, tid) + def grid_on_drag_data_received(self, widget, drag_context, x, y, data, info, time): if info == 80: @@ -229,10 +243,7 @@ class WindowMixin(TabMixin): view = self.get_fm_window(wid).get_view_by_id(tid) uris = data.get_uris() - # TODO: add an onhover in and out event on the icons that sets an override destination. - # This will then be used to drag items into hovered over folders - # dest = f"{view.get_current_directory()}" if not self.override_dest else self.override_dest - dest = f"{view.get_current_directory()}" + dest = f"{view.get_current_directory()}" if not self.override_drop_dest else self.override_drop_dest if len(uris) == 0: uris = data.get_text().split("\n")