Restructured settings logic and loading; translate fix

This commit is contained in:
2023-07-29 23:42:59 -05:00
parent 60bfa52af6
commit 826b58cfc4
41 changed files with 581 additions and 267 deletions

View File

@@ -78,13 +78,13 @@ class Controller(UIMixin, SignalsMixins, Controller_Data):
def _load_glade_file(self):
self.builder = Gtk.Builder()
self.builder.add_from_file(settings.get_glade_file())
self.builder.add_from_file(settings_manager.get_glade_file())
self.builder.expose_object("main_window", self.window)
self.core_widget = self.builder.get_object("core_widget")
settings.set_builder(self.builder)
settings.register_signals_to_builder([self,], self.builder)
settings_manager.set_builder(self.builder)
settings_manager.register_signals_to_builder([self,], self.builder)
def get_core_widget(self):
return self.core_widget

View File

@@ -40,7 +40,7 @@ class Controller_Data:
__slots__ = "settings", "builder", "logger", "keybindings", "trashman", "fm_controller", "window", "window1", "window2", "window3", "window4"
def _setup_controller_data(self) -> None:
self.window = settings.get_main_window()
self.window = settings_manager.get_main_window()
self.builder = None
self.core_widget = None

View File

@@ -25,7 +25,7 @@ class FileSystemActions(HandlerMixin, CRUDMixin):
self._to_copy_files = []
self._to_cut_files = []
self._builder = settings.get_builder()
self._builder = settings_manager.get_builder()
def _setup_styling(self):

View File

@@ -144,7 +144,7 @@ class HandlerMixin:
target = Gio.File.new_for_path(full_path)
start = "-copy"
if settings.is_debug():
if settings_manager.is_debug():
logger.debug(f"Path: {full_path}")
logger.debug(f"Base Path: {base_path}")
logger.debug(f'Name: {file_name}')

View File

@@ -20,7 +20,7 @@ class FileActionSignalsMixin:
if tab.get_dir_watcher():
watcher = tab.get_dir_watcher()
watcher.cancel()
if settings.is_debug():
if settings_manager.is_debug():
logger.debug(f"Watcher Is Cancelled: {watcher.is_cancelled()}")
cur_dir = tab.get_current_directory()
@@ -101,4 +101,4 @@ class FileActionSignalsMixin:
items = icon_grid.get_selected_items()
if len(items) > 0:
icon_grid.scroll_to_path(items[0], False, 0.5, 0.5)
icon_grid.scroll_to_path(items[0], False, 0.5, 0.5)

View File

@@ -72,9 +72,9 @@ class TabMixin(GridMixin):
icon_grid.destroy()
# icon_grid.run_dispose()
scroll.destroy()
scroll.run_dispose()
#scroll.run_dispose()
tab_box.destroy()
tab_box.run_dispose()
# tab_box.run_dispose()
del store
del icon_grid
@@ -83,7 +83,7 @@ class TabMixin(GridMixin):
del watcher
del tab
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
self.set_window_title()
@@ -106,7 +106,7 @@ class TabMixin(GridMixin):
tab = window.get_tab_by_id(tid)
self.set_file_watcher(tab)
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
def on_tab_switch_update(self, notebook, content=None, index=None):
@@ -142,7 +142,7 @@ class TabMixin(GridMixin):
tab_label.set_label(tab.get_end_of_path())
self.set_window_title()
self.set_file_watcher(tab)
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
def do_action_from_bar_controls(self, widget, eve=None):
@@ -155,7 +155,7 @@ class TabMixin(GridMixin):
if action == "create_tab":
dir = tab.get_current_directory()
self.create_tab(wid, None, dir)
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
return

View File

@@ -95,7 +95,7 @@ class WindowMixin(TabMixin):
except WindowException as e:
logger.info(repr(e))
self.display_message(settings.get_error_color(), f"{repr(e)}")
self.display_message(settings.theming.error_color, f"{repr(e)}")
def grid_icon_double_click(self, icons_grid, item, data=None):
try:
@@ -124,7 +124,7 @@ class WindowMixin(TabMixin):
event_system.emit("open_files")
except WindowException as e:
traceback.print_exc()
self.display_message(settings.get_error_color(), f"{repr(e)}")
self.display_message(settings.theming.error_color, f"{repr(e)}")

View File

@@ -0,0 +1,34 @@
/* Set fm to have transparent window */
* {
/* background: rgba(0, 0, 0, 0.14); */
color: rgba(255, 255, 255, 1);
border: 2px solid rgba(0, 0, 0, 0.0);
}
.base-container {
margin: 10px;
}
/* * selection {
background-color: rgba(116, 0, 0, 0.65);
color: rgba(255, 255, 255, 0.5);
} */
/* Rubberband coloring */
/* .rubberband,
rubberband,
flowbox rubberband,
treeview.view rubberband,
.content-view rubberband,
.content-view .rubberband,
XfdesktopIconView.view .rubberband {
border: 1px solid #6c6c6c;
background-color: rgba(21, 158, 167, 0.57);
}
XfdesktopIconView.view:active {
background-color: rgba(172, 102, 21, 1);
} */

View File

@@ -21,7 +21,7 @@ class BottomStatusInfoWidget:
def __init__(self):
super(BottomStatusInfoWidget, self).__init__()
_GLADE_FILE = f"{settings.get_ui_widgets_path()}/bottom_status_info_ui.glade"
_GLADE_FILE = f"{settings_manager.get_ui_widgets_path()}/bottom_status_info_ui.glade"
self._builder = Gtk.Builder()
self._builder.add_from_file(_GLADE_FILE)
@@ -41,7 +41,7 @@ class BottomStatusInfoWidget:
event_system.subscribe("set_bottom_labels", self.set_bottom_labels)
def _load_widgets(self):
builder = settings.get_builder()
builder = settings_manager.get_builder()
self.bottom_status_info = self._builder.get_object("bottom_status_info")
self.bottom_size_label = self._builder.get_object("bottom_size_label")
@@ -66,7 +66,7 @@ class BottomStatusInfoWidget:
formatted_mount_size = sizeof_fmt( int(mount_file.get_attribute_as_string("filesystem::size")) )
# NOTE: Hides empty trash and other desired buttons based on context.
if settings.get_trash_files_path() == current_directory:
if settings_manager.get_trash_files_path() == current_directory:
event_system.emit("show_trash_buttons")
else:
event_system.emit("hide_trash_buttons")

View File

@@ -16,10 +16,10 @@ class ContextMenuWidget(Gtk.Menu):
def __init__(self):
super(ContextMenuWidget, self).__init__()
self.builder = settings.get_builder()
self.builder = settings_manager.get_builder()
self._builder = Gtk.Builder()
self._context_menu_data = settings.get_context_menu_data()
self._window = settings.get_main_window()
self._context_menu_data = settings_manager.get_context_menu_data()
self._window = settings_manager.get_main_window()
self._setup_styling()
self._setup_signals()
@@ -32,7 +32,7 @@ class ContextMenuWidget(Gtk.Menu):
def _setup_signals(self):
event_system.subscribe("show_context_menu", self.show_context_menu)
event_system.subscribe("hide_context_menu", self.hide_context_menu)
settings.register_signals_to_builder([self,], self._builder)
settings_manager.register_signals_to_builder([self,], self._builder)
def _load_widgets(self):
self.build_context_menu()

View File

@@ -16,7 +16,7 @@ class AboutWidget:
def __init__(self):
super(AboutWidget, self).__init__()
_GLADE_FILE = f"{settings.get_ui_widgets_path()}/about_ui.glade"
_GLADE_FILE = f"{settings_manager.get_ui_widgets_path()}/about_ui.glade"
self._builder = Gtk.Builder()
self._builder.add_from_file(_GLADE_FILE)
@@ -31,10 +31,10 @@ class AboutWidget:
def _setup_signals(self):
event_system.subscribe("show_about_page", self.show_about_page)
event_system.subscribe("hide_about_page", self.hide_about_page)
settings.register_signals_to_builder([self,], self._builder)
settings_manager.register_signals_to_builder([self,], self._builder)
def _load_widgets(self):
builder = settings.get_builder()
builder = settings_manager.get_builder()
self.about_page = self._builder.get_object("about_page")
builder.expose_object(f"about_page", self.about_page)

View File

@@ -16,7 +16,7 @@ class AppchooserWidget:
def __init__(self):
super(AppchooserWidget, self).__init__()
_GLADE_FILE = f"{settings.get_ui_widgets_path()}/appchooser_ui.glade"
_GLADE_FILE = f"{settings_manager.get_ui_widgets_path()}/appchooser_ui.glade"
self._builder = Gtk.Builder()
self._builder.add_from_file(_GLADE_FILE)
@@ -32,10 +32,10 @@ class AppchooserWidget:
event_system.subscribe("show_appchooser_menu", self.show_appchooser_menu)
event_system.subscribe("hide_appchooser_menu", self.hide_appchooser_menu)
event_system.subscribe("run_appchooser_launch", self.run_appchooser_launch)
settings.register_signals_to_builder([self,], self._builder)
settings_manager.register_signals_to_builder([self,], self._builder)
def _load_widgets(self):
builder = settings.get_builder()
builder = settings_manager.get_builder()
self._appchooser_menu = self._builder.get_object("appchooser_menu")
self._appchooser_widget = self._builder.get_object("appchooser_widget")

View File

@@ -17,7 +17,7 @@ class FileExistsWidget:
def __init__(self):
super(FileExistsWidget, self).__init__()
_GLADE_FILE = f"{settings.get_ui_widgets_path()}/file_exists_ui.glade"
_GLADE_FILE = f"{settings_manager.get_ui_widgets_path()}/file_exists_ui.glade"
self._builder = Gtk.Builder()
self._builder.add_from_file(_GLADE_FILE)
@@ -32,10 +32,10 @@ class FileExistsWidget:
def _setup_signals(self):
event_system.subscribe("setup_exists_data", self.setup_exists_data)
event_system.subscribe("show_exists_page", self.show_exists_page)
settings.register_signals_to_builder([self,], self._builder)
settings_manager.register_signals_to_builder([self,], self._builder)
def _load_widgets(self):
builder = settings.get_builder()
builder = settings_manager.get_builder()
self.file_exists_dialog = self._builder.get_object("file_exists_dialog")
self._exists_file_label = self._builder.get_object("exists_file_label")

View File

@@ -18,7 +18,7 @@ class NewFileWidget:
def __init__(self):
super(NewFileWidget, self).__init__()
_GLADE_FILE = f"{settings.get_ui_widgets_path()}/new_file_ui.glade"
_GLADE_FILE = f"{settings_manager.get_ui_widgets_path()}/new_file_ui.glade"
self._builder = Gtk.Builder()
self._builder.add_from_file(_GLADE_FILE)
@@ -33,10 +33,10 @@ class NewFileWidget:
def _setup_signals(self):
event_system.subscribe("show_new_file_menu", self.show_new_file_menu)
event_system.subscribe("hide_new_file_menu", self.hide_new_file_menu)
settings.register_signals_to_builder([self,], self._builder)
settings_manager.register_signals_to_builder([self,], self._builder)
def _load_widgets(self):
builder = settings.get_builder()
builder = settings_manager.get_builder()
self._new_file_menu = self._builder.get_object("new_file_menu")
self._new_fname_field = self._builder.get_object("new_fname_field")

View File

@@ -18,7 +18,7 @@ class RenameWidget:
def __init__(self):
super(RenameWidget, self).__init__()
_GLADE_FILE = f"{settings.get_ui_widgets_path()}/rename_ui.glade"
_GLADE_FILE = f"{settings_manager.get_ui_widgets_path()}/rename_ui.glade"
self._builder = Gtk.Builder()
self._builder.add_from_file(_GLADE_FILE)
@@ -33,10 +33,10 @@ class RenameWidget:
def _setup_signals(self):
event_system.subscribe("show_rename_file_menu", self.show_rename_file_menu)
event_system.subscribe("hide_rename_file_menu", self.hide_rename_file_menu)
settings.register_signals_to_builder([self,], self._builder)
settings_manager.register_signals_to_builder([self,], self._builder)
def _load_widgets(self):
builder = settings.get_builder()
builder = settings_manager.get_builder()
self._rename_file_menu = self._builder.get_object("rename_file_menu")
self._rename_fname = self._builder.get_object("rename_fname")

View File

@@ -20,7 +20,7 @@ class SaveLoadWidget:
def __init__(self):
super(SaveLoadWidget, self).__init__()
_GLADE_FILE = f"{settings.get_ui_widgets_path()}/save_load_ui.glade"
_GLADE_FILE = f"{settings_manager.get_ui_widgets_path()}/save_load_ui.glade"
self._builder = Gtk.Builder()
self._builder.add_from_file(_GLADE_FILE)
@@ -36,7 +36,7 @@ class SaveLoadWidget:
event_system.subscribe("save_load_session", self.save_load_session)
def _load_widgets(self):
builder = settings.get_builder()
builder = settings_manager.get_builder()
self.save_load_dialog = self._builder.get_object("save_load_dialog")
builder.expose_object(f"save_load_dialog", self.save_load_dialog)
@@ -46,7 +46,7 @@ class SaveLoadWidget:
state = event_system.emit_and_await("get_current_state")
if action == "save_session":
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
state.fm_controller.save_state()
return
@@ -74,7 +74,7 @@ class SaveLoadWidget:
self.save_load_dialog.hide()
def load_session(self, session_json):
if settings.is_debug():
if settings_manager.is_debug():
logger.debug(f"Session Data: {session_json}")
state = event_system.emit_and_await("get_current_state")

View File

@@ -41,14 +41,14 @@ class FilesWidget(FileActionSignalsMixin, WindowMixin):
...
def _setup_signals(self):
settings.register_signals_to_builder([self,], self.builder)
settings_manager.register_signals_to_builder([self,], self.builder)
def _subscribe_to_events(self):
event_system.subscribe("load_files_view_state", self._load_files_view_state)
event_system.subscribe("get_files_view_icon_grid", self._get_files_view_icon_grid)
def _load_widgets(self):
_builder = settings.get_builder()
_builder = settings_manager.get_builder()
self.files_view = _builder.get_object(f"{self.NAME}")
self.files_view.set_group_name("files_widget")

View File

@@ -70,13 +70,13 @@ class TabMixin(GridMixin):
self.get_fm_window(wid).delete_tab_by_id(tid)
store.clear()
store.run_dispose()
# store.run_dispose()
icon_grid.destroy()
icon_grid.run_dispose()
# icon_grid.run_dispose()
scroll.destroy()
scroll.run_dispose()
#scroll.run_dispose()
tab_box.destroy()
tab_box.run_dispose()
#tab_box.run_dispose()
del store
del icon_grid
@@ -85,7 +85,7 @@ class TabMixin(GridMixin):
del watcher
del tab
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
self.set_window_title()
@@ -108,7 +108,7 @@ class TabMixin(GridMixin):
tab = window.get_tab_by_id(tid)
self.set_file_watcher(tab)
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
def on_tab_switch_update(self, notebook, content=None, index=None):
@@ -144,7 +144,7 @@ class TabMixin(GridMixin):
tab_label.set_label(tab.get_end_of_path())
self.set_window_title()
self.set_file_watcher(tab)
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
def do_action_from_bar_controls(self, widget, eve=None):
@@ -157,7 +157,7 @@ class TabMixin(GridMixin):
if action == "create_tab":
dir = tab.get_current_directory()
self.create_tab(wid, None, dir)
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self.fm_controller.save_state()
return

View File

@@ -90,7 +90,7 @@ class WindowMixin(TabMixin):
except WindowException as e:
logger.info(repr(e))
self.display_message(settings.get_error_color(), f"{repr(e)}")
self.display_message(settings.theming.error_color, f"{repr(e)}")
def grid_icon_double_click(self, icons_grid, item, data=None):
try:
@@ -119,7 +119,7 @@ class WindowMixin(TabMixin):
event_system.emit("open_files")
except WindowException as e:
traceback.print_exc()
self.display_message(settings.get_error_color(), f"{repr(e)}")
self.display_message(settings.theming.error_color, f"{repr(e)}")

View File

@@ -16,7 +16,7 @@ class IOPopupWidget(Gtk.Popover):
def __init__(self):
super(IOPopupWidget, self).__init__()
self._builder = settings.get_builder()
self._builder = settings_manager.get_builder()
self._builder.expose_object(f"io_popup", self)
self._setup_styling()

View File

@@ -23,7 +23,7 @@ class MessagePopupWidget(Gtk.Popover):
def __init__(self):
super(MessagePopupWidget, self).__init__()
self.builder = settings.get_builder()
self.builder = settings_manager.get_builder()
self.builder.expose_object(f"message_popup_widget", self)
self._message_buffer = None
@@ -90,7 +90,7 @@ class MessagePopupWidget(Gtk.Popover):
current_time = datetime.datetime.now()
data = f"{current_time}\nExec Type: {exc_type} <--> Value: {exc_value}\n\n{trace}\n\n"
self.display_message(settings.get_error_color(), data)
self.display_message(settings.theming.error_color, data)
def display_message(self, type, text, seconds=None):
# start_itr = self._message_buffer.get_start_iter()
@@ -110,7 +110,7 @@ class MessagePopupWidget(Gtk.Popover):
def save_debug_alerts(self, widget=None, eve=None):
start_itr, end_itr = self._message_buffer.get_bounds()
save_location_prompt = Gtk.FileChooserDialog("Choose Save Folder", settings.get_main_window(), \
save_location_prompt = Gtk.FileChooserDialog("Choose Save Folder", settings_manager.get_main_window(), \
action = Gtk.FileChooserAction.SAVE, \
buttons = (Gtk.STOCK_CANCEL, \
Gtk.ResponseType.CANCEL, \

View File

@@ -16,7 +16,7 @@ class PathMenuPopupWidget(Gtk.Popover):
def __init__(self):
super(PathMenuPopupWidget, self).__init__()
self.builder = settings.get_builder()
self.builder = settings_manager.get_builder()
self.builder.expose_object(f"path_menu", self)
self._setup_styling()

View File

@@ -16,7 +16,7 @@ class PluginsPopupWidget(Gtk.Popover):
def __init__(self):
super(PluginsPopupWidget, self).__init__()
self.builder = settings.get_builder()
self.builder = settings_manager.get_builder()
self.builder.expose_object(f"plugin_controls", self)
self._setup_styling()

View File

@@ -24,7 +24,7 @@ class Window(Gtk.ApplicationWindow):
super(Window, self).__init__()
self._controller = None
settings.set_main_window(self)
settings_manager.set_main_window(self)
self._set_window_data()
self._setup_styling()
@@ -37,10 +37,10 @@ class Window(Gtk.ApplicationWindow):
def _setup_styling(self):
self.set_default_size(settings.get_main_window_width(),
settings.get_main_window_height())
self.set_default_size(settings_manager.get_main_window_width(),
settings_manager.get_main_window_height())
self.set_title(f"{app_name}")
self.set_icon_from_file( settings.get_window_icon() )
self.set_icon_from_file( settings_manager.get_window_icon() )
self.set_gravity(5) # 5 = CENTER
self.set_position(1) # 1 = CENTER, 4 = CENTER_ALWAYS
@@ -52,7 +52,7 @@ class Window(Gtk.ApplicationWindow):
event_system.subscribe("tear_down", self._tear_down)
def _load_widgets(self, args, unknownargs):
if settings.is_debug():
if settings_manager.is_debug():
self.set_interactive_debugging(True)
self._controller = Controller(args, unknownargs)
@@ -73,7 +73,7 @@ class Window(Gtk.ApplicationWindow):
# bind css file
cssProvider = Gtk.CssProvider()
cssProvider.load_from_path( settings.get_css_file() )
cssProvider.load_from_path( settings_manager.get_css_file() )
screen = Gdk.Screen.get_default()
styleContext = Gtk.StyleContext()
styleContext.add_provider_for_screen(screen, cssProvider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
@@ -86,9 +86,9 @@ class Window(Gtk.ApplicationWindow):
def _tear_down(self, widget=None, eve=None):
if not settings.is_trace_debug():
if not settings_manager.is_trace_debug():
self._controller.fm_controller.save_state()
settings.clear_pid()
settings_manager.clear_pid()
time.sleep(event_sleep_time)
Gtk.main_quit()