diff --git a/plugins/markdown_preview/__init__.py b/plugins/markdown_preview/__init__.py new file mode 100644 index 0000000..d36fa8c --- /dev/null +++ b/plugins/markdown_preview/__init__.py @@ -0,0 +1,3 @@ +""" + Pligin Module +""" diff --git a/plugins/markdown_preview/__main__.py b/plugins/markdown_preview/__main__.py new file mode 100644 index 0000000..a576329 --- /dev/null +++ b/plugins/markdown_preview/__main__.py @@ -0,0 +1,3 @@ +""" + Pligin Package +""" diff --git a/plugins/markdown_preview/manifest.json b/plugins/markdown_preview/manifest.json new file mode 100644 index 0000000..d8be8ec --- /dev/null +++ b/plugins/markdown_preview/manifest.json @@ -0,0 +1,13 @@ +{ + "manifest": { + "name": "Markdown Preview", + "author": "ITDominator", + "version": "0.0.1", + "support": "", + "requests": { + "pass_events": "true", + "pass_ui_objects": ["separator_right"], + "bind_keys": ["Markdown Preview||tggle_markdown_preview:m"] + } + } +} \ No newline at end of file diff --git a/plugins/markdown_preview/markdown_preview.glade b/plugins/markdown_preview/markdown_preview.glade new file mode 100644 index 0000000..ade9446 --- /dev/null +++ b/plugins/markdown_preview/markdown_preview.glade @@ -0,0 +1,119 @@ + + + + + + + True + False + gtk-justify-fill + + + False + False + False + False + False + False + False + False + False + False + Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 + True + True + True + True + + + False + False + False + none + + + True + False + vertical + + + True + False + start + + + gtk-media-play + True + True + True + True + True + + + + True + True + 0 + + + + + gtk-media-pause + True + True + True + True + True + + + + True + True + 1 + + + + + Settings + True + False + True + True + settings_img + + + + True + True + 2 + + + + + False + True + 0 + + + + + 200 + 400 + True + True + web_view_settings + True + + + + + + True + True + 1 + + + + + + diff --git a/plugins/markdown_preview/plugin.py b/plugins/markdown_preview/plugin.py new file mode 100644 index 0000000..5e89a3d --- /dev/null +++ b/plugins/markdown_preview/plugin.py @@ -0,0 +1,65 @@ +# Python imports +import os + +# Lib imports +import gi +gi.require_version('Gtk', '3.0') +gi.require_version('WebKit2', '4.0') +from gi.repository import Gtk +from gi.repository import WebKit2 + +# Application imports +from plugins.plugin_base import PluginBase + + + +class Plugin(PluginBase): + def __init__(self): + super().__init__() + + self.name = "Markdown Preview" # NOTE: Need to remove after establishing private bidirectional 1-1 message bus + # where self.name should not be needed for message comms + self.path = os.path.dirname(os.path.realpath(__file__)) + self._GLADE_FILE = f"{self.path}/markdown_preview.glade" + + WebKit2.WebView() # Need one initialized for webview to work from glade file + + + def run(self): + self._builder = Gtk.Builder() + self._builder.add_from_file(self._GLADE_FILE) + self._connect_builder_signals(self, self._builder) + + separator_right = self._ui_objects[0] + self._markdown_dialog = self._builder.get_object("markdown_preview_dialog") + self._web_view_settings = self._builder.get_object("web_view_settings") + + + def generate_reference_ui_element(self): + ... + + def subscribe_to_events(self): + self._event_system.subscribe("tggle_markdown_preview", self._tggle_markdown_preview) + + def _set_active_src_view(self, source_view): + self._active_src_view = source_view + self._buffer = self._active_src_view.get_buffer() + + def _pause_preview_updates(self): + ... + + def _resume_preview_updates(self): + ... + + def _handle_ettings(self): + ... + + def _tggle_markdown_preview(self, widget = None, eve = None): + is_visible = self._markdown_dialog.is_visible() + buffer = self._active_src_view.get_buffer() + data = None + + if not is_visible: + self._markdown_dialog.popup(); + elif not data and is_visible: + self._markdown_dialog.popdown() \ No newline at end of file diff --git a/src/__main__.py b/src/__main__.py index 5053f9f..5bbe908 100644 --- a/src/__main__.py +++ b/src/__main__.py @@ -38,8 +38,6 @@ if __name__ == "__main__": # Read arguments (If any...) args, unknownargs = parser.parse_known_args() - print(args) - print(unknownargs) if args.debug == "true": settings_manager.set_debug(True) diff --git a/src/core/controller.py b/src/core/controller.py index e3946b0..27f15e2 100644 --- a/src/core/controller.py +++ b/src/core/controller.py @@ -20,7 +20,6 @@ class Controller(SignalsMixins, ControllerData): def __init__(self, args, unknownargs): messages = [] for arg in unknownargs + [args.new_tab,]: - logger.debug(f"{arg}") # NOTE: If passing line number with file split against : if os.path.isfile(arg.replace("file://", "").split(":")[0]): messages.append(f"FILE|{arg.replace('file://', '')}")