Clean up deprecated code and fix multiple issues

- Remove deprecated markdown_preview plugin and re-wrote
- Renamed alt_provider.py under words completer
- Fix words completion provider logic and cache handling
- Fix container orientations (VERTICAL -> HORIZONTAL) and add Separators
- Remove unused Gtk imports from search_replace plugin
- Fix event creation parameter order in source_file.py
- Fix typo in source_view.py (_load_pretify_json -> _load_prettify_json)
- Refactor webkit_ui with new load methods and enhanced settings
This commit is contained in:
2026-02-20 00:10:15 -06:00
parent 3e920291a0
commit aaadba3812
58 changed files with 366 additions and 275 deletions

View File

@@ -0,0 +1,101 @@
# Python imports
# Lib imports
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
from core.widgets.webkit.webkit_ui import WebkitUI
from .mixins.markdown_preview_mixin import MarkdownPreviewMixin
class MarkdownPreview(Gtk.Popover, MarkdownPreviewMixin):
def __init__(self):
super(MarkdownPreview, self).__init__()
self.can_hide: bool = True
self.is_preview_paused: bool = True # True by default b/c started hidden
self._setup_styling()
self._setup_signals()
self._load_widgets()
def _setup_styling(self):
ctx = self.get_style_context()
ctx.add_class("markdown-preview")
self.set_modal(False)
self.set_can_focus(False)
self.set_transitions_enabled(False)
self.set_size_request(480, 720)
self.override_background_color(
Gtk.StateFlags.NORMAL,
Gdk.RGBA(0, 0, 0, 0.0)
)
self.set_constrain_to(
Gtk.PopoverConstraint.WINDOW
)
def _setup_signals(self):
self.connect("hide", self._handle_hide)
self.connect("show", self._handle_show)
def _load_widgets(self):
box = Gtk.Box()
bttn_box = Gtk.ButtonBox()
scrolled_win = Gtk.ScrolledWindow()
viewport = Gtk.Viewport()
self._markdown_view = WebkitUI()
self.start_stop_bttn = Gtk.ToggleButton()
settings_bttn = Gtk.Button()
self.start_stop_bttn.set_label("gtk-media-pause")
self.start_stop_bttn.set_use_stock(True)
settings_bttn.set_image(
Gtk.Image.new_from_stock(
"gtk-justify-fill", Gtk.IconSize.BUTTON
)
)
self._markdown_view.set_vexpand(True)
box.set_orientation(Gtk.Orientation.VERTICAL)
self.start_stop_bttn.connect("clicked", self._tggle_preview_updates)
settings_bttn.connect("clicked", self._handle_settings)
bttn_box.pack_end(self.start_stop_bttn, expand = False, fill = False, padding = 1)
bttn_box.pack_end(settings_bttn, expand = False, fill = False, padding = 1)
viewport.add(self._markdown_view)
scrolled_win.add(viewport)
box.add(bttn_box)
box.add(scrolled_win)
self.add(box)
box.show_all()
def _handle_hide(self, widget):
if self.can_hide:
self.is_preview_paused = True
return False
return True
def _handle_show(self, widget):
self.can_hide = False
self.is_preview_paused = self.start_stop_bttn.get_active()
def _tggle_preview_updates(self, widget):
self.is_preview_paused = not self.is_preview_paused
def _handle_settings(self, widget):
...