From f5eac69c20c84b1c2a026d933e7336d77b398e14 Mon Sep 17 00:00:00 2001
From: itdominator <1itdominator@gmail.com>
Date: Sun, 4 Dec 2022 00:52:02 -0600
Subject: [PATCH] Moved popups to theor on class sans glade file
---
.../SolarFM/solarfm/core/controller.py | 11 +++++
.../solarfm/core/mixins/show_hide_mixin.py | 9 ----
.../SolarFM/solarfm/utils/settings.py | 24 +++++-----
.../SolarFM/solarfm/widgets/about_widget.py | 2 -
.../solarfm/widgets/appchooser_widget.py | 2 -
.../solarfm/widgets/popups/__init__.py | 3 ++
.../solarfm/widgets/popups/io_popup_widget.py | 42 +++++++++++++++++
.../widgets/popups/plugins_popup_widget.py | 47 +++++++++++++++++++
.../solarfm/widgets/tab_header_widget.py | 1 -
.../usr/share/solarfm/Main_Window.glade | 39 ++-------------
10 files changed, 119 insertions(+), 61 deletions(-)
create mode 100644 src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/__init__.py
create mode 100644 src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/io_popup_widget.py
create mode 100644 src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/plugins_popup_widget.py
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller.py
index c73aa5a..3e4f3fd 100644
--- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller.py
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller.py
@@ -13,6 +13,9 @@ from gi.repository import GLib
from .controller_data import Controller_Data
from .mixins.signals_mixins import SignalsMixins
+from widgets.popups.plugins_popup_widget import PluginsPopupWidget
+from widgets.popups.io_popup_widget import IOPopupWidget
+
from widgets.context_menu_widget import ContextMenuWidget
from widgets.new_file_widget import NewFileWidget
from widgets.rename_widget import RenameWidget
@@ -53,6 +56,8 @@ class Controller(UI, SignalsMixins, Controller_Data):
# NOTE: Really we will move these to the UI/(New) Window 'base' controller
# after we're done cleaning and refactoring to use fewer mixins.
def _load_widgets(self):
+ PluginsPopupWidget()
+ IOPopupWidget()
ContextMenuWidget()
NewFileWidget()
RenameWidget()
@@ -159,8 +164,14 @@ class Controller(UI, SignalsMixins, Controller_Data):
self.create_files()
if action in ["save_session", "save_session_as", "load_session"]:
self.save_load_session(action)
+
if action == "about_page":
event_system.emit("show_about_page")
+ if action == "io_popup":
+ event_system.emit("show_io_popup")
+ if action == "plugins_popup":
+ event_system.emit("show_plugins_popup")
+
@endpoint_registry.register(rule="go_home")
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/show_hide_mixin.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/show_hide_mixin.py
index e0585e3..ff34987 100644
--- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/show_hide_mixin.py
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/show_hide_mixin.py
@@ -11,12 +11,3 @@ from gi.repository import Gtk
class ShowHideMixin:
def show_messages_popup(self, type, text, seconds=None):
self.message_popup_widget.popup()
-
- def show_plugins_popup(self, widget=None, eve=None):
- self.builder.get_object("plugin_controls").popup()
-
- def hide_plugins_popup(self, widget=None, eve=None):
- self.builder.get_object("plugin_controls").hide()
-
- def show_io_popup(self, widget=None, eve=None):
- self.builder.get_object("io_popup").popup()
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/utils/settings.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/utils/settings.py
index f73c5b0..1eecc23 100644
--- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/utils/settings.py
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/utils/settings.py
@@ -149,21 +149,21 @@ class Settings:
return monitors
- def get_context_menu_data(self) -> Gtk.Builder: return self._context_menu_data
+ def get_context_menu_data(self) -> Gtk.Builder: return self._context_menu_data
def get_main_window(self) -> Gtk.ApplicationWindow: return self._main_window
- def get_builder(self) -> Gtk.Builder: return self._builder
- def get_ui_widgets_path(self) -> Gtk.Builder: return self._UI_WIDEGTS_PATH
- def get_logger(self) -> Logger: return self._logger
- def get_keybindings(self) -> Keybindings: return self._keybindings
- def get_plugins_path(self) -> str: return self._PLUGINS_PATH
- def get_icon_theme(self) -> str: return self._ICON_THEME
+ def get_builder(self) -> Gtk.Builder: return self._builder
+ def get_ui_widgets_path(self) -> Gtk.Builder: return self._UI_WIDEGTS_PATH
+ def get_logger(self) -> Logger: return self._logger
+ def get_keybindings(self) -> Keybindings: return self._keybindings
+ def get_plugins_path(self) -> str: return self._PLUGINS_PATH
+ def get_icon_theme(self) -> str: return self._ICON_THEME
- def get_success_color(self) -> str: return self._success_color
- def get_warning_color(self) -> str: return self._warning_color
- def get_error_color(self) -> str: return self._error_color
+ def get_success_color(self) -> str: return self._success_color
+ def get_warning_color(self) -> str: return self._warning_color
+ def get_error_color(self) -> str: return self._error_color
- def is_trace_debug(self) -> str: return self._trace_debug
- def is_debug(self) -> str: return self._debug
+ def is_trace_debug(self) -> str: return self._trace_debug
+ def is_debug(self) -> str: return self._debug
def is_dirty_start(self) -> bool: return self._dirty_start
def clear_pid(self): self._clean_pid()
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/about_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/about_widget.py
index a27558e..1f80160 100644
--- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/about_widget.py
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/about_widget.py
@@ -4,9 +4,7 @@
import inspect
import gi
gi.require_version('Gtk', '3.0')
-gi.require_version('Gdk', '3.0')
from gi.repository import Gtk
-from gi.repository import Gdk
# Application imports
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/appchooser_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/appchooser_widget.py
index 5d6c971..9bf123d 100644
--- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/appchooser_widget.py
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/appchooser_widget.py
@@ -4,9 +4,7 @@
import inspect
import gi
gi.require_version('Gtk', '3.0')
-gi.require_version('Gdk', '3.0')
from gi.repository import Gtk
-from gi.repository import Gdk
# Application imports
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/__init__.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/__init__.py
new file mode 100644
index 0000000..46a8a2c
--- /dev/null
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/__init__.py
@@ -0,0 +1,3 @@
+"""
+ Popups module
+"""
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/io_popup_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/io_popup_widget.py
new file mode 100644
index 0000000..0d1d7b2
--- /dev/null
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/io_popup_widget.py
@@ -0,0 +1,42 @@
+# Python imports
+
+# Lib imports
+import inspect
+import gi
+gi.require_version('Gtk', '3.0')
+from gi.repository import Gtk
+
+# Application imports
+
+
+class IOPopupWidget(Gtk.Popover):
+ """docstring for IOPopupWidget."""
+
+ def __init__(self):
+ super(IOPopupWidget, self).__init__()
+ self.builder = settings.get_builder()
+
+ self.builder.expose_object(f"io_popup", self)
+
+ self._setup_styling()
+ self._setup_signals()
+ self._load_widgets()
+ self.show_all()
+
+
+ def _setup_styling(self):
+ io_button = self.builder.get_object(f"io_button")
+ self.set_relative_to(io_button)
+ self.set_modal(True)
+ self.set_position(Gtk.PositionType.BOTTOM)
+
+ def _setup_signals(self):
+ event_system.subscribe("show_io_popup", self.show_io_popup)
+
+ def _load_widgets(self):
+ vbox = Gtk.Box()
+ self.builder.expose_object(f"io_list", vbox)
+ self.add(vbox)
+
+ def show_io_popup(self, widget=None, eve=None):
+ self.popup()
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/plugins_popup_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/plugins_popup_widget.py
new file mode 100644
index 0000000..c67e82c
--- /dev/null
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/plugins_popup_widget.py
@@ -0,0 +1,47 @@
+# Python imports
+
+# Lib imports
+import inspect
+import gi
+gi.require_version('Gtk', '3.0')
+from gi.repository import Gtk
+
+# Application imports
+
+
+class PluginsPopupWidget(Gtk.Popover):
+ """docstring for PluginsPopupWidget."""
+
+ def __init__(self):
+ super(PluginsPopupWidget, self).__init__()
+ self.builder = settings.get_builder()
+
+ self.builder.expose_object(f"plugin_controls", self)
+
+ self._setup_styling()
+ self._setup_signals()
+ self._load_widgets()
+ self.show_all()
+
+
+ def _setup_styling(self):
+ plugins_button = self.builder.get_object(f"plugins_button")
+ self.set_relative_to(plugins_button)
+ self.set_modal(True)
+ self.set_position(Gtk.PositionType.BOTTOM)
+
+ def _setup_signals(self):
+ event_system.subscribe("show_plugins_popup", self.show_plugins_popup)
+ self.connect("button-release-event", self.hide_plugins_popup)
+ self.connect("key-release-event", self.hide_plugins_popup)
+
+ def _load_widgets(self):
+ vbox = Gtk.Box()
+ self.builder.expose_object(f"plugin_control_list", vbox)
+ self.add(vbox)
+
+ def show_plugins_popup(self, widget=None, eve=None):
+ self.popup()
+
+ def hide_plugins_popup(self, widget=None, eve=None):
+ self.hide()
diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/tab_header_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/tab_header_widget.py
index 42be39f..e125634 100644
--- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/tab_header_widget.py
+++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/tab_header_widget.py
@@ -4,7 +4,6 @@
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
-from gi.repository import Gio
# Application imports
diff --git a/user_config/usr/share/solarfm/Main_Window.glade b/user_config/usr/share/solarfm/Main_Window.glade
index 1dde1b1..81ee97a 100644
--- a/user_config/usr/share/solarfm/Main_Window.glade
+++ b/user_config/usr/share/solarfm/Main_Window.glade
@@ -367,10 +367,11 @@
True
@@ -445,12 +446,13 @@
True
@@ -899,23 +901,6 @@
-
-
False
False