diff --git a/README.md b/README.md index 18bb292..41cb863 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -⚠️ This repository has moved to https://git.jeena.net/jeena/recoder -

Recoder logo

diff --git a/pyproject.toml b/pyproject.toml index cb94e65..527d605 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "recoder" -version = "1.1.0" +version = "1.0.1" description = "A GTK4 video transcoding GUI application" readme = "README.md" authors = [{name = "Jeena", email = "hello@jeena.net"}] @@ -24,4 +24,4 @@ include-package-data = true where = ["src"] [tool.setuptools.package-data] -recoder = ["resources.gresource"] +recoder = ["resources.gresource"] \ No newline at end of file diff --git a/src/recoder/drop_handler.py b/src/recoder/drop_handler.py index 7fe42e0..107647a 100644 --- a/src/recoder/drop_handler.py +++ b/src/recoder/drop_handler.py @@ -10,22 +10,12 @@ class DropHandler: self._accepting = self._compute_accept() self.app_state_manager.connect("notify::state", self.on_state_changed) - # --- Drag & Drop --- self.drop_target = Gtk.DropTarget.new(Gio.File, Gdk.DragAction.COPY) self.drop_target.connect("enter", self.on_drop_enter) self.drop_target.connect("leave", self.on_drop_leave) self.drop_target.connect("drop", self.on_drop) - self.w.overlay.add_controller(self.drop_target) - # --- Clipboard Paste (Ctrl+V) --- - self.shortcut_ctrl_v = Gtk.ShortcutController() - self.shortcut_ctrl_v.add_shortcut( - Gtk.Shortcut.new( - Gtk.ShortcutTrigger.parse_string("V"), - Gtk.CallbackAction.new(self.on_paste_clipboard) - ) - ) - self.w.add_controller(self.shortcut_ctrl_v) + self.w.overlay.add_controller(self.drop_target) def _compute_accept(self): return self.app_state_manager.state not in { @@ -43,7 +33,7 @@ class DropHandler: else: self.w.overlay.remove_controller(self.drop_target) - # ---------------- Drag & Drop ---------------- + def on_drop_enter(self, *_): if not self._accepting: return False @@ -57,45 +47,10 @@ class DropHandler: def on_drop(self, _, value, __, ___): if not self._accepting: return False - self._start_processing(value) - return True - - # ---------------- Clipboard Paste ---------------- - def on_paste_clipboard(self, *_): - if not self._accepting: - return True - - clipboard = self.w.get_clipboard() - clipboard.read_text_async(None, self._on_clipboard_text_ready) - return True - - def _on_clipboard_text_ready(self, clipboard, res): - try: - text = clipboard.read_text_finish(res) - except GLib.Error: - return - - if not text: - return - - # take the first non-empty line only - uri = next((u.strip() for u in text.splitlines() if u.strip()), None) - if not uri: - return - - if uri.startswith("file://"): - gfile = Gio.File.new_for_uri(uri) - else: - gfile = Gio.File.new_for_path(uri) - - self._start_processing(gfile) - - # ---------------- Shared ---------------- - def _start_processing(self, value): if self.w.drop_hint.get_parent(): self.w.overlay.remove_overlay(self.w.drop_hint) self.w.drop_hint.set_visible(False) self.w.progress_bar.set_visible(True) self.w.progress_bar.set_fraction(0.0) GLib.idle_add(partial(self.w.process_drop_value, value)) - + return True diff --git a/src/resources/net.jeena.Recoder.metainfo.xml b/src/resources/net.jeena.Recoder.metainfo.xml index 8d00b96..29d8c08 100644 --- a/src/resources/net.jeena.Recoder.metainfo.xml +++ b/src/resources/net.jeena.Recoder.metainfo.xml @@ -58,10 +58,5 @@

Fix bad video quality.

- - -

Add possibility to Ctrl-v a path instead only drag and drop.

-
-
diff --git a/src/resources/window.ui b/src/resources/window.ui index e38a51c..0e4a030 100644 --- a/src/resources/window.ui +++ b/src/resources/window.ui @@ -144,7 +144,7 @@ - Drop video file or folder here, or press Ctrl+V to paste a path + Drop video files or folders here to get started