Merge Stable Changesto Master #9
|
@ -1,5 +1,9 @@
|
|||
# Python imports
|
||||
import os, threading, subprocess, inspect, shlex
|
||||
import os
|
||||
import threading
|
||||
import subprocess
|
||||
import inspect
|
||||
import shlex
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Python imports
|
||||
import os, subprocess, time, inspect
|
||||
import os
|
||||
import subprocess
|
||||
import time
|
||||
import inspect
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# Python imports
|
||||
import os, inspect, json
|
||||
import os
|
||||
import inspect
|
||||
import json
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
# Python imports
|
||||
import os, threading, subprocess, time, pwd, grp
|
||||
import os
|
||||
import threading
|
||||
import subprocess
|
||||
import time
|
||||
import pwd
|
||||
import grp
|
||||
from datetime import datetime
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GLib, Gio
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
from gi.repository import Gio
|
||||
|
||||
# Application imports
|
||||
from plugins.plugin_base import PluginBase
|
||||
|
|
|
@ -1,11 +1,18 @@
|
|||
# Python imports
|
||||
import os, threading, subprocess, inspect, requests, shutil
|
||||
import os
|
||||
import threading
|
||||
import subprocess
|
||||
import inspect
|
||||
import requests
|
||||
import shutil
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('GdkPixbuf', '2.0')
|
||||
from gi.repository import Gtk, GLib, GdkPixbuf
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
# Application imports
|
||||
from plugins.plugin_base import PluginBase
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
# Python imports
|
||||
import threading, subprocess, signal, json, shlex
|
||||
import threading
|
||||
import subprocess
|
||||
import signal
|
||||
import json
|
||||
import shlex
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GLib
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
|
||||
# Application imports
|
||||
from ..widgets.file_preview_widget import FilePreviewWidget
|
||||
|
|
|
@ -1,11 +1,17 @@
|
|||
# Python imports
|
||||
import ctypes, threading, subprocess, signal, json, shlex
|
||||
import ctypes
|
||||
import threading
|
||||
import subprocess
|
||||
import signal
|
||||
import json
|
||||
import shlex
|
||||
libgcc_s = ctypes.CDLL('libgcc_s.so.1')
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GLib
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
|
||||
# Application imports
|
||||
from ..widgets.grep_preview_widget import GrepPreviewWidget
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
# Python imports
|
||||
import os, threading, inspect, time
|
||||
import os
|
||||
import threading
|
||||
import inspect
|
||||
import time
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GLib
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
|
||||
# Application imports
|
||||
from plugins.plugin_base import PluginBase
|
||||
|
|
|
@ -2,7 +2,14 @@
|
|||
|
||||
|
||||
# Python imports
|
||||
import os, traceback, argparse, threading, json, base64, time, pickle
|
||||
import os
|
||||
import traceback
|
||||
import argparse
|
||||
import threading
|
||||
import json
|
||||
import base64
|
||||
import time
|
||||
import pickle
|
||||
from setproctitle import setproctitle
|
||||
from multiprocessing.connection import Client
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Python imports
|
||||
import base64, re
|
||||
import base64
|
||||
import re
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
# Python imports
|
||||
import os, threading, subprocess, time
|
||||
import os
|
||||
import threading
|
||||
import subprocess
|
||||
import ime
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
|
|
|
@ -1,10 +1,15 @@
|
|||
# Python imports
|
||||
import os, threading, subprocess, inspect
|
||||
import os
|
||||
import threading
|
||||
import subprocess
|
||||
import inspect
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GLib, Gio
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
from gi.repository import Gio
|
||||
|
||||
# Application imports
|
||||
from plugins.plugin_base import PluginBase
|
||||
|
|
|
@ -1,12 +1,20 @@
|
|||
# Python imports
|
||||
import os, threading, subprocess, time, inspect, hashlib
|
||||
import os
|
||||
import threading
|
||||
import subprocess
|
||||
import time
|
||||
import inspect
|
||||
import hashlib
|
||||
from datetime import datetime
|
||||
|
||||
# Gtk imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('GdkPixbuf', '2.0')
|
||||
from gi.repository import Gtk, GLib, Gio, GdkPixbuf
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
from gi.repository import Gio
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
# Application imports
|
||||
from plugins.plugin_base import PluginBase
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
# Python imports
|
||||
import argparse, faulthandler, traceback
|
||||
import argparse
|
||||
import faulthandler
|
||||
import traceback
|
||||
from setproctitle import setproctitle
|
||||
|
||||
import tracemalloc
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Python imports
|
||||
import os, inspect
|
||||
import os
|
||||
import inspect
|
||||
|
||||
# Lib imports
|
||||
|
||||
|
|
|
@ -7,24 +7,22 @@ gi.require_version('Gtk', '3.0')
|
|||
from gi.repository import Gtk, GLib
|
||||
|
||||
# Application imports
|
||||
from widgets.context_menu_widget import ContextMenuWidget
|
||||
from .mixins.exception_hook_mixin import ExceptionHookMixin
|
||||
from .mixins.ui_mixin import UIMixin
|
||||
from .signals.ipc_signals_mixin import IPCSignalsMixin
|
||||
from .signals.keyboard_signals_mixin import KeyboardSignalsMixin
|
||||
from .controller_data import Controller_Data
|
||||
from .mixins.signals_mixins import SignalsMixins
|
||||
from .ui import UI
|
||||
from widgets.context_menu_widget import ContextMenuWidget
|
||||
|
||||
|
||||
|
||||
class Controller(UIMixin, KeyboardSignalsMixin, IPCSignalsMixin, ExceptionHookMixin, Controller_Data):
|
||||
|
||||
class Controller(UI, SignalsMixins, Controller_Data):
|
||||
""" Controller coordinates the mixins and is somewhat the root hub of it all. """
|
||||
def __init__(self, args, unknownargs):
|
||||
self._subscribe_to_events()
|
||||
self.setup_controller_data()
|
||||
self.generate_windows(self.fm_controller_data)
|
||||
|
||||
cm = ContextMenuWidget()
|
||||
cm.build_context_menu()
|
||||
ContextMenuWidget().build_context_menu()
|
||||
|
||||
if args.no_plugins == "false":
|
||||
self.plugins.launch_plugins()
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
"""
|
||||
Mixins module
|
||||
Mixins module
|
||||
"""
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
# Python imports
|
||||
import traceback, time
|
||||
import traceback
|
||||
import time
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GLib
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib
|
||||
|
||||
# Application imports
|
||||
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('Gdk', '3.0')
|
||||
from gi.repository import Gtk, Gdk
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gdk
|
||||
|
||||
# Application imports
|
||||
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
"""
|
||||
Signals module
|
||||
"""
|
|
@ -1,19 +1,24 @@
|
|||
# Python imports
|
||||
import os, time, shlex
|
||||
import os
|
||||
import time
|
||||
import shlex
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, GObject, GLib, Gio
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GObject
|
||||
from gi.repository import GLib
|
||||
from gi.repository import Gio
|
||||
|
||||
|
||||
# Application imports
|
||||
from widgets.io_widget import IOWidget
|
||||
|
||||
|
||||
|
||||
|
||||
class WidgetFileActionMixin:
|
||||
"""docstring for WidgetFileActionMixin"""
|
||||
class FileActionSignalsMixin:
|
||||
"""docstring for FileActionSignalsMixin"""
|
||||
|
||||
def sizeof_fmt(self, num, suffix="B"):
|
||||
for unit in ["", "K", "M", "G", "T", "Pi", "Ei", "Zi"]:
|
|
@ -5,11 +5,12 @@
|
|||
# Application imports
|
||||
|
||||
|
||||
|
||||
|
||||
class IPCSignalsMixin:
|
||||
""" IPCSignalsMixin handle messages from another starting solarfm process. """
|
||||
|
||||
def print_to_console(self, message=None):
|
||||
print(self)
|
||||
print(message)
|
||||
|
||||
def handle_file_from_ipc(self, path):
|
|
@ -5,7 +5,8 @@ import re
|
|||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('Gdk', '3.0')
|
||||
from gi.repository import Gtk, Gdk
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gdk
|
||||
|
||||
# Application imports
|
||||
|
||||
|
@ -13,6 +14,8 @@ from gi.repository import Gtk, Gdk
|
|||
valid_keyvalue_pat = re.compile(r"[a-z0-9A-Z-_\[\]\(\)\| ]")
|
||||
|
||||
|
||||
|
||||
|
||||
class KeyboardSignalsMixin:
|
||||
""" KeyboardSignalsMixin keyboard hooks controller. """
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# Python imports
|
||||
|
||||
# Lib imports
|
||||
from .exception_hook_mixin import ExceptionHookMixin
|
||||
from .signals.file_action_signals_mixin import FileActionSignalsMixin
|
||||
from .signals.ipc_signals_mixin import IPCSignalsMixin
|
||||
from .signals.keyboard_signals_mixin import KeyboardSignalsMixin
|
||||
|
||||
# Application imports
|
||||
|
||||
|
||||
|
||||
|
||||
class SignalsMixins(FileActionSignalsMixin, KeyboardSignalsMixin, IPCSignalsMixin, ExceptionHookMixin):
|
||||
...
|
|
@ -1,3 +1,3 @@
|
|||
"""
|
||||
UI module
|
||||
UI module
|
||||
"""
|
||||
|
|
|
@ -6,45 +6,18 @@ import gi
|
|||
|
||||
gi.require_version("Gtk", "3.0")
|
||||
gi.require_version('Gdk', '3.0')
|
||||
from gi.repository import Gtk, Gdk, GLib, Gio, GdkPixbuf
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gdk
|
||||
from gi.repository import GLib
|
||||
from gi.repository import Gio
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
# Application imports
|
||||
from widgets.tab_header import TabHeader
|
||||
from widgets.tab_header_widget import TabHeaderWidget
|
||||
from widgets.icon_grid_widget import IconGridWidget
|
||||
from widgets.icon_tree_widget import IconTreeWidget
|
||||
|
||||
|
||||
# NOTE: Consider trying to use Gtk.TreeView with css that turns it into a grid...
|
||||
# Can possibly use this to dynamicly load icons instead...
|
||||
class Icon(Gtk.HBox):
|
||||
def __init__(self, tab, dir, file):
|
||||
super(Icon, self).__init__()
|
||||
|
||||
self.load_icon(tab, dir, file)
|
||||
|
||||
@threaded
|
||||
def load_icon(self, tab, dir, file):
|
||||
icon = tab.create_icon(dir, file)
|
||||
|
||||
if not icon:
|
||||
path = f"{dir}/{file}"
|
||||
icon = self.get_system_thumbnail(path, tab.sys_icon_wh[0])
|
||||
|
||||
if not icon:
|
||||
icon = GdkPixbuf.Pixbuf.new_from_file(tab.DEFAULT_ICON)
|
||||
|
||||
self.add(Gtk.Image.new_from_pixbuf(icon))
|
||||
self.show_all()
|
||||
|
||||
def get_system_thumbnail(self, file, size):
|
||||
try:
|
||||
gio_file = Gio.File.new_for_path(file)
|
||||
info = gio_file.query_info('standard::icon' , 0, None)
|
||||
icon = info.get_icon().get_names()[0]
|
||||
icon_path = self.icon_theme.lookup_icon(icon , size , 0).get_filename()
|
||||
return GdkPixbuf.Pixbuf.new_from_file(icon_path)
|
||||
except Exception as e:
|
||||
return None
|
||||
|
||||
|
||||
class GridMixin:
|
||||
|
@ -96,7 +69,7 @@ class GridMixin:
|
|||
|
||||
|
||||
def create_tab_widget(self, tab):
|
||||
return TabHeader(tab, self.close_tab)
|
||||
return TabHeaderWidget(tab, self.close_tab)
|
||||
|
||||
def create_scroll_and_store(self, tab, wid, use_tree_view=False):
|
||||
scroll = Gtk.ScrolledWindow()
|
||||
|
|
|
@ -6,7 +6,8 @@ from os.path import isdir
|
|||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gdk', '3.0')
|
||||
from gi.repository import Gdk, Gio
|
||||
from gi.repository import Gdk
|
||||
from gi.repository import Gio
|
||||
|
||||
# Application imports
|
||||
from .tab_mixin import TabMixin
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
# Python imports
|
||||
|
||||
# Gtk imports
|
||||
|
||||
# Application imports
|
||||
from .show_hide_mixin import ShowHideMixin
|
||||
from .ui.widget_file_action_mixin import WidgetFileActionMixin
|
||||
from .ui.pane_mixin import PaneMixin
|
||||
from .ui.window_mixin import WindowMixin
|
||||
from .show_hide_mixin import ShowHideMixin
|
||||
|
||||
|
||||
class UIMixin(WidgetFileActionMixin, PaneMixin, WindowMixin, ShowHideMixin):
|
||||
...
|
|
@ -1,3 +0,0 @@
|
|||
"""
|
||||
Signals module
|
||||
"""
|
|
@ -0,0 +1,12 @@
|
|||
# Python imports
|
||||
|
||||
# Gtk imports
|
||||
|
||||
# Application imports
|
||||
from .mixins.show_hide_mixin import ShowHideMixin
|
||||
from .mixins.ui.pane_mixin import PaneMixin
|
||||
from .mixins.ui.window_mixin import WindowMixin
|
||||
|
||||
|
||||
class UI(PaneMixin, WindowMixin, ShowHideMixin):
|
||||
...
|
|
@ -1,5 +1,6 @@
|
|||
# Python imports
|
||||
import os, json
|
||||
import os
|
||||
import json
|
||||
from os.path import join
|
||||
|
||||
# Lib imports
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Python imports
|
||||
import os, time
|
||||
import os
|
||||
import time
|
||||
|
||||
# Lib imports
|
||||
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
# Python imports
|
||||
import os, sys, importlib, traceback
|
||||
from os.path import join, isdir
|
||||
import os
|
||||
import sys
|
||||
import importlib
|
||||
import traceback
|
||||
from os.path import join
|
||||
from os.path import isdir
|
||||
|
||||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, Gio
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gio
|
||||
|
||||
# Application imports
|
||||
from .manifest import PluginInfo, ManifestProcessor
|
||||
from .manifest import PluginInfo
|
||||
from .manifest import ManifestProcessor
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
# Python imports
|
||||
import os, threading, time
|
||||
from multiprocessing.connection import Listener, Client
|
||||
from multiprocessing.connection import Client
|
||||
from multiprocessing.connection import Listener
|
||||
|
||||
# Lib imports
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Python imports
|
||||
import os, logging
|
||||
import os
|
||||
import logging
|
||||
|
||||
# Application imports
|
||||
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
# Python imports
|
||||
import os, json
|
||||
import os
|
||||
import json
|
||||
from os import path
|
||||
|
||||
# Gtk imports
|
||||
import gi, cairo
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('Gdk', '3.0')
|
||||
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gdk
|
||||
|
||||
|
||||
# Application imports
|
||||
from .logger import Logger
|
||||
from .keybindings import Keybindings
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('Gdk', '3.0')
|
||||
from gi.repository import Gtk, Gdk, GdkPixbuf
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gdk
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
|
||||
# Application imports
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
gi.require_version('Gdk', '3.0')
|
||||
from gi.repository import Gtk, Gdk, GdkPixbuf
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gdk
|
||||
from gi.repository import GdkPixbuf
|
||||
|
||||
# Application imports
|
||||
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, Gio
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gio
|
||||
|
||||
# Application imports
|
||||
|
||||
|
@ -64,7 +65,7 @@ class IOWidget(Gtk.Box):
|
|||
self.progress.set_fraction(current/total)
|
||||
|
||||
def finish_callback(self, file, task=None, eve=None):
|
||||
if self._action == "move" and self._action == "rename":
|
||||
if self._action == "move" or self._action == "rename":
|
||||
status = self._file.move_finish(task)
|
||||
if self._action == "copy":
|
||||
status = self._file.copy_finish(task)
|
||||
|
|
|
@ -3,16 +3,17 @@
|
|||
# Lib imports
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk, Gio
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import Gio
|
||||
|
||||
# Application imports
|
||||
|
||||
|
||||
class TabHeader(Gtk.ButtonBox):
|
||||
"""docstring for TabHeader"""
|
||||
class TabHeaderWidget(Gtk.ButtonBox):
|
||||
"""docstring for TabHeaderWidget"""
|
||||
|
||||
def __init__(self, tab, close_tab):
|
||||
super(TabHeader, self).__init__()
|
||||
super(TabHeaderWidget, self).__init__()
|
||||
self._tab = tab
|
||||
self._close_tab = close_tab # NOTE: Close method in tab_mixin
|
||||
|
Loading…
Reference in New Issue