From a237757e5e132e3a5375afdc0d87d04316ee4c75 Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Sun, 4 Dec 2022 02:45:26 -0600 Subject: [PATCH] Moved remaining popups to classes and some cleanup --- .../SolarFM/solarfm/core/controller.py | 8 +- .../SolarFM/solarfm/core/controller_data.py | 1 - .../core/mixins/exception_hook_mixin.py | 55 --------- .../solarfm/core/mixins/show_hide_mixin.py | 13 -- .../solarfm/core/mixins/signals_mixins.py | 3 +- .../solarfm/core/mixins/ui/tab_mixin.py | 6 +- .../solarfm/core/mixins/ui/window_mixin.py | 2 +- .../solarfm-0.0.1/SolarFM/solarfm/core/ui.py | 5 +- .../SolarFM/solarfm/widgets/about_widget.py | 2 + .../solarfm/widgets/appchooser_widget.py | 2 + .../solarfm/widgets/context_menu_widget.py | 2 + .../solarfm/widgets/file_exists_widget.py | 2 + .../solarfm/widgets/icon_grid_widget.py | 2 + .../solarfm/widgets/icon_tree_widget.py | 2 + .../SolarFM/solarfm/widgets/io_widget.py | 2 + .../solarfm/widgets/new_file_widget.py | 2 + .../solarfm/widgets/popups/io_popup_widget.py | 5 + .../widgets/popups/message_popup_widget.py | 114 ++++++++++++++++++ .../widgets/popups/path_menu_popup_widget.py | 57 +++++++++ .../widgets/popups/plugins_popup_widget.py | 4 + .../SolarFM/solarfm/widgets/rename_widget.py | 2 + .../solarfm/widgets/tab_header_widget.py | 2 + .../usr/share/solarfm/Main_Window.glade | 92 +------------- 23 files changed, 216 insertions(+), 169 deletions(-) delete mode 100644 src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/exception_hook_mixin.py delete mode 100644 src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/show_hide_mixin.py create mode 100644 src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/message_popup_widget.py create mode 100644 src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/path_menu_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 3e4f3fd..1ca8337 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,8 @@ from gi.repository import GLib from .controller_data import Controller_Data from .mixins.signals_mixins import SignalsMixins +from widgets.popups.message_popup_widget import MessagePopupWidget +from widgets.popups.path_menu_popup_widget import PathMenuPopupWidget from widgets.popups.plugins_popup_widget import PluginsPopupWidget from widgets.popups.io_popup_widget import IOPopupWidget @@ -56,6 +58,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): + MessagePopupWidget() + PathMenuPopupWidget() PluginsPopupWidget() IOPopupWidget() ContextMenuWidget() @@ -68,7 +72,6 @@ class Controller(UI, SignalsMixins, Controller_Data): def _subscribe_to_events(self): event_system.subscribe("handle_file_from_ipc", self.handle_file_from_ipc) event_system.subscribe("get_current_state", self.get_current_state) - event_system.subscribe("display_message", self.display_message) event_system.subscribe("go_to_path", self.go_to_path) event_system.subscribe("do_action_from_menu_controls", self.do_action_from_menu_controls) # NOTE: Needs to be moved (probably just to file actions class) after reducing mixins usage @@ -171,7 +174,8 @@ class Controller(UI, SignalsMixins, Controller_Data): event_system.emit("show_io_popup") if action == "plugins_popup": event_system.emit("show_plugins_popup") - + if action == "messages_popup": + event_system.emit("show_messages_popup") @endpoint_registry.register(rule="go_home") diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller_data.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller_data.py index 5740ca7..211ce95 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller_data.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/controller_data.py @@ -55,7 +55,6 @@ class Controller_Data: self.exists_file_rename_bttn = self.builder.get_object("exists_file_rename_bttn") self.warning_alert = self.builder.get_object("warning_alert") - self.path_menu = self.builder.get_object("path_menu") self.path_entry = self.builder.get_object("path_entry") self.bottom_size_label = self.builder.get_object("bottom_size_label") diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/exception_hook_mixin.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/exception_hook_mixin.py deleted file mode 100644 index b05dc50..0000000 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/exception_hook_mixin.py +++ /dev/null @@ -1,55 +0,0 @@ -# Python imports -import traceback -import time - -# Lib imports -import gi -gi.require_version('Gtk', '3.0') -from gi.repository import Gtk -from gi.repository import GLib - -# Application imports - - - - -class ExceptionHookMixin: - """ ExceptionHookMixin custom exception hook to reroute to a Gtk text area. """ - - def custom_except_hook(self, exec_type, value, _traceback): - trace = ''.join(traceback.format_tb(_traceback)) - data = f"Exec Type: {exec_type} <--> Value: {value}\n\n{trace}\n\n\n\n" - start_itr = self.message_buffer.get_start_iter() - self.message_buffer.place_cursor(start_itr) - self.display_message(self.error_color, data) - - def display_message(self, type, text, seconds=None): - self.message_buffer.insert_at_cursor(text) - self.message_popup_widget.popup() - if seconds: - self.hide_message_timeout(seconds) - - @threaded - def hide_message_timeout(self, seconds=3): - time.sleep(seconds) - GLib.idle_add(self.message_popup_widget.popdown) - - 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", self.window, \ - action = Gtk.FileChooserAction.SAVE, \ - buttons = (Gtk.STOCK_CANCEL, \ - Gtk.ResponseType.CANCEL, \ - Gtk.STOCK_SAVE, \ - Gtk.ResponseType.OK)) - - text = self.message_buffer.get_text(start_itr, end_itr, False) - resp = save_location_prompt.run() - if (resp == Gtk.ResponseType.CANCEL) or (resp == Gtk.ResponseType.DELETE_EVENT): - pass - elif resp == Gtk.ResponseType.OK: - target = save_location_prompt.get_filename(); - with open(target, "w") as f: - f.write(text) - - save_location_prompt.destroy() 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 deleted file mode 100644 index ff34987..0000000 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/show_hide_mixin.py +++ /dev/null @@ -1,13 +0,0 @@ -# Python imports - -# Gtk imports -import gi -gi.require_version('Gtk', '3.0') -from gi.repository import Gtk - -# Application imports - - -class ShowHideMixin: - def show_messages_popup(self, type, text, seconds=None): - self.message_popup_widget.popup() diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/signals_mixins.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/signals_mixins.py index d2de706..eb79f46 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/signals_mixins.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/signals_mixins.py @@ -1,7 +1,6 @@ # 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 @@ -11,5 +10,5 @@ from .signals.keyboard_signals_mixin import KeyboardSignalsMixin -class SignalsMixins(FileActionSignalsMixin, KeyboardSignalsMixin, IPCSignalsMixin, ExceptionHookMixin): +class SignalsMixins(FileActionSignalsMixin, KeyboardSignalsMixin, IPCSignalsMixin): ... diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/tab_mixin.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/tab_mixin.py index 2460417..fcead0e 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/tab_mixin.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/tab_mixin.py @@ -167,9 +167,9 @@ class TabMixin(GridMixin): show_path_menu = True if not show_path_menu: - self.path_menu.popdown() + event_system.emit("hide_path_menu") else: - self.path_menu.popup() + event_system.emit("show_path_menu") widget.grab_focus_without_selecting() widget.set_position(-1) @@ -194,7 +194,7 @@ class TabMixin(GridMixin): path_entry.set_text(path) path_entry.grab_focus_without_selecting() path_entry.set_position(-1) - self.path_menu.popdown() + event_system.emit("hide_path_menu") def show_hide_hidden_files(self): wid, tid = self.fm_controller.get_active_wid_and_tid() diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/window_mixin.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/window_mixin.py index 2dcf94b..23b15b5 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/window_mixin.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/mixins/ui/window_mixin.py @@ -188,7 +188,7 @@ class WindowMixin(TabMixin): def grid_icon_single_click(self, icons_grid, eve): try: - self.path_menu.popdown() + event_system.emit("hide_path_menu") wid, tid = icons_grid.get_name().split("|") self.fm_controller.set_wid_and_tid(wid, tid) self.set_path_text(wid, tid) diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/ui.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/ui.py index fe3b33b..7edc0a0 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/ui.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/core/ui.py @@ -3,10 +3,11 @@ # 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): + + +class UI(PaneMixin, WindowMixin): ... 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 1f80160..c094e85 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 @@ -9,6 +9,8 @@ from gi.repository import Gtk # Application imports + + class AboutWidget: """docstring for AboutWidget.""" 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 9bf123d..61ce8a9 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 @@ -9,6 +9,8 @@ from gi.repository import Gtk # Application imports + + class AppchooserWidget: """docstring for AppchooserWidget.""" diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/context_menu_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/context_menu_widget.py index e0f4a8f..358961c 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/context_menu_widget.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/context_menu_widget.py @@ -9,6 +9,8 @@ from gi.repository import Gtk # Application imports + + class ContextMenuWidget(Gtk.Menu): """docstring for ContextMenuWidget""" diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/file_exists_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/file_exists_widget.py index eaacd56..14c596c 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/file_exists_widget.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/file_exists_widget.py @@ -10,6 +10,8 @@ from gi.repository import GLib # Application imports + + class FileExistsWidget: """docstring for FileExistsWidget.""" diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_grid_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_grid_widget.py index 9000a02..9f43d99 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_grid_widget.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_grid_widget.py @@ -12,6 +12,8 @@ from gi.repository import GdkPixbuf # Application imports + + class IconGridWidget(Gtk.IconView): """docstring for IconGridWidget""" diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_tree_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_tree_widget.py index 416796e..6f935e6 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_tree_widget.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/icon_tree_widget.py @@ -11,6 +11,8 @@ from gi.repository import GdkPixbuf # Application imports + + class IconTreeWidget(Gtk.TreeView): """docstring for IconTreeWidget""" diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/io_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/io_widget.py index 0b54e35..f83ede2 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/io_widget.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/io_widget.py @@ -9,6 +9,8 @@ from gi.repository import Gio # Application imports + + class IOWidget(Gtk.Box): """docstring for IOWidget""" diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/new_file_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/new_file_widget.py index b261e69..6593e70 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/new_file_widget.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/new_file_widget.py @@ -11,6 +11,8 @@ from gi.repository import Gdk # Application imports + + class NewFileWidget: """docstring for NewFileWidget.""" 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 index 0d1d7b2..2dcb199 100644 --- 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 @@ -9,6 +9,8 @@ from gi.repository import Gtk # Application imports + + class IOPopupWidget(Gtk.Popover): """docstring for IOPopupWidget.""" @@ -29,12 +31,15 @@ class IOPopupWidget(Gtk.Popover): self.set_relative_to(io_button) self.set_modal(True) self.set_position(Gtk.PositionType.BOTTOM) + self.set_size_request(320, 280) def _setup_signals(self): event_system.subscribe("show_io_popup", self.show_io_popup) def _load_widgets(self): vbox = Gtk.Box() + + vbox.set_orientation(Gtk.Orientation.VERTICAL) self.builder.expose_object(f"io_list", vbox) self.add(vbox) diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/message_popup_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/message_popup_widget.py new file mode 100644 index 0000000..664993e --- /dev/null +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/message_popup_widget.py @@ -0,0 +1,114 @@ +# Python imports +import inspect +import traceback +import time + +# Lib imports +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk +from gi.repository import GLib + +# Application imports + + + + +class MessagePopupWidget(Gtk.Popover): + """ MessagePopupWidget custom exception hook viewer to reroute to log Gtk text area too. """ + + + def __init__(self): + super(MessagePopupWidget, self).__init__() + self.builder = settings.get_builder() + + self.builder.expose_object(f"message_popup_widget", self) + self._message_buffer = None + + self._setup_styling() + self._setup_signals() + self._load_widgets() + self.show_all() + + + def _setup_styling(self): + self.set_relative_to( self.builder.get_object(f"main_menu_bar") ) + self.set_modal(True) + self.set_position(Gtk.PositionType.BOTTOM) + self.set_size_request(620, 580) + + def _setup_signals(self): + event_system.subscribe("show_messages_popup", self.show_messages_popup) + event_system.subscribe("hide_messages_popup", self.hide_messages_popup) + + + def _load_widgets(self): + self._message_buffer = Gtk.TextBuffer() + vbox = Gtk.Box() + scroll_window = Gtk.ScrolledWindow() + message_text_view = Gtk.TextView.new_with_buffer(self._message_buffer) + + button = Gtk.Button(label="Save As") + button.set_image( Gtk.Image(stock=Gtk.STOCK_SAVE_AS) ) + button.connect("released", self.save_debug_alerts) + button.set_always_show_image(True) + + vbox.set_vexpand(True) + vbox.set_hexpand(True) + scroll_window.set_vexpand(True) + scroll_window.set_hexpand(True) + vbox.set_orientation(Gtk.Orientation.VERTICAL) + + self.builder.expose_object(f"message_popup_widget", self) + self.builder.expose_object(f"message_text_view", message_text_view) + + vbox.add(button) + scroll_window.add(message_text_view) + vbox.add(scroll_window) + self.add(vbox) + + def show_messages_popup(self): + self.popup() + + def hide_messages_popup(self): + self.popup() + + + def custom_except_hook(self, exec_type, value, _traceback): + trace = ''.join(traceback.format_tb(_traceback)) + data = f"Exec Type: {exec_type} <--> Value: {value}\n\n{trace}\n\n\n\n" + start_itr = self._message_buffer.get_start_iter() + self._message_buffer.place_cursor(start_itr) + self.display_message(self.error_color, data) + + def display_message(self, type, text, seconds=None): + self._message_buffer.insert_at_cursor(text) + self.popup() + if seconds: + self.hide_message_timeout(seconds) + + @threaded + def hide_message_timeout(self, seconds=3): + time.sleep(seconds) + # GLib.idle_add(self.message_popup_widget.popdown) + GLib.idle_add(event_system.emit, ("hide_messages_popup")) + + 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(), \ + action = Gtk.FileChooserAction.SAVE, \ + buttons = (Gtk.STOCK_CANCEL, \ + Gtk.ResponseType.CANCEL, \ + Gtk.STOCK_SAVE, \ + Gtk.ResponseType.OK)) + + text = self._message_buffer.get_text(start_itr, end_itr, False) + resp = save_location_prompt.run() + if (resp == Gtk.ResponseType.CANCEL) or (resp == Gtk.ResponseType.DELETE_EVENT): + pass + elif resp == Gtk.ResponseType.OK: + target = save_location_prompt.get_filename(); + with open(target, "w") as f: + f.write(text) + + save_location_prompt.destroy() diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/path_menu_popup_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/path_menu_popup_widget.py new file mode 100644 index 0000000..02a051e --- /dev/null +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/popups/path_menu_popup_widget.py @@ -0,0 +1,57 @@ +# Python imports + +# Lib imports +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk + +# Application imports + + + + +class PathMenuPopupWidget(Gtk.Popover): + """docstring for PathMenuPopupWidget.""" + + def __init__(self): + super(PathMenuPopupWidget, self).__init__() + self.builder = settings.get_builder() + + self.builder.expose_object(f"path_menu", self) + + self._setup_styling() + self._setup_signals() + self._load_widgets() + self.show_all() + + + def _setup_styling(self): + path_entry = self.builder.get_object(f"path_entry") + self.set_relative_to(path_entry) + self.set_modal(False) + self.set_position(Gtk.PositionType.BOTTOM) + self.set_size_request(240, 420) + + def _setup_signals(self): + event_system.subscribe("show_path_menu", self.show_path_menu) + event_system.subscribe("hide_path_menu", self.hide_path_menu) + + def _load_widgets(self): + path_menu_buttons = Gtk.ButtonBox() + scroll_window = Gtk.ScrolledWindow() + view_port = Gtk.Viewport() + + scroll_window.set_vexpand(True) + scroll_window.set_hexpand(True) + path_menu_buttons.set_orientation(Gtk.Orientation.VERTICAL) + + self.builder.expose_object(f"path_menu_buttons", path_menu_buttons) + view_port.add(path_menu_buttons) + scroll_window.add(view_port) + self.add(scroll_window) + + def show_path_menu(self, widget=None, eve=None): + self.popup() + + def hide_path_menu(self, widget=None, eve=None): + self.popdown() 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 index c67e82c..61f4004 100644 --- 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 @@ -9,6 +9,8 @@ from gi.repository import Gtk # Application imports + + class PluginsPopupWidget(Gtk.Popover): """docstring for PluginsPopupWidget.""" @@ -37,6 +39,8 @@ class PluginsPopupWidget(Gtk.Popover): def _load_widgets(self): vbox = Gtk.Box() + + vbox.set_orientation(Gtk.Orientation.VERTICAL) self.builder.expose_object(f"plugin_control_list", vbox) self.add(vbox) diff --git a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/rename_widget.py b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/rename_widget.py index 0847ba3..7086196 100644 --- a/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/rename_widget.py +++ b/src/versions/solarfm-0.0.1/SolarFM/solarfm/widgets/rename_widget.py @@ -11,6 +11,8 @@ from gi.repository import Gdk # Application imports + + class RenameWidget: """docstring for RenameWidget.""" 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 e125634..e3efccb 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 @@ -8,6 +8,8 @@ from gi.repository import Gtk # Application imports + + class TabHeaderWidget(Gtk.ButtonBox): """docstring for TabHeaderWidget""" diff --git a/user_config/usr/share/solarfm/Main_Window.glade b/user_config/usr/share/solarfm/Main_Window.glade index 81ee97a..cb7cc31 100644 --- a/user_config/usr/share/solarfm/Main_Window.glade +++ b/user_config/usr/share/solarfm/Main_Window.glade @@ -32,7 +32,6 @@ False gtk-stop - False dialog @@ -254,11 +253,12 @@ Show Errors + messages_popup True False image3 False - + @@ -901,94 +901,6 @@ - - 320 - False - True - main_menu_bar - bottom - - - True - False - vertical - - - gtk-save-as - True - True - True - True - - - - False - True - 0 - - - - - 600 - True - True - True - in - False - - - message_view - True - True - True - False - False - message_buffer - - - - - False - True - 1 - - - - - - - 240 - 420 - False - path_entry - bottom - False - - - True - True - in - False - - - True - False - - - True - False - vertical - start - - - - - - - - - - False False