add B/S keybinds to popout, refactor toggle_save
This commit is contained in:
parent
28c40bc1f5
commit
d7b3c304d7
|
|
@ -33,6 +33,8 @@
|
|||
| `,` / `.` | Seek 3s (video) |
|
||||
| `Space` | Play / pause (video) |
|
||||
| Scroll wheel | Volume up / down (video) |
|
||||
| `B` / `F` | Toggle bookmark on selected post |
|
||||
| `S` | Toggle save to library (Unfiled) |
|
||||
| `F11` | Toggle fullscreen / windowed |
|
||||
| `Ctrl+H` | Hide / show UI |
|
||||
| `Ctrl+P` | Privacy screen |
|
||||
|
|
|
|||
|
|
@ -1075,11 +1075,7 @@ class BooruApp(QMainWindow):
|
|||
self._post_actions.toggle_bookmark(idx)
|
||||
return
|
||||
if key == Qt.Key.Key_S and self._preview._current_post:
|
||||
post = self._preview._current_post
|
||||
if self._post_actions.is_post_saved(post.id):
|
||||
self._post_actions.unsave_from_preview()
|
||||
else:
|
||||
self._post_actions.save_from_preview("")
|
||||
self._post_actions.toggle_save_from_preview()
|
||||
return
|
||||
elif key == Qt.Key.Key_I:
|
||||
self._toggle_info()
|
||||
|
|
|
|||
|
|
@ -113,6 +113,7 @@ class FullscreenPreview(QMainWindow):
|
|||
# Unfiled (root of saved_dir).
|
||||
save_to_folder = Signal(str)
|
||||
unsave_requested = Signal()
|
||||
toggle_save_requested = Signal()
|
||||
blacklist_tag_requested = Signal(str) # tag name
|
||||
blacklist_post_requested = Signal()
|
||||
open_in_default = Signal()
|
||||
|
|
@ -1366,6 +1367,12 @@ class FullscreenPreview(QMainWindow):
|
|||
elif key in (Qt.Key.Key_Down, Qt.Key.Key_J):
|
||||
self._dispatch_and_apply(NavigateRequested(direction=self._grid_cols))
|
||||
return True
|
||||
elif key in (Qt.Key.Key_B, Qt.Key.Key_F):
|
||||
self.bookmark_requested.emit()
|
||||
return True
|
||||
elif key == Qt.Key.Key_S:
|
||||
self.toggle_save_requested.emit()
|
||||
return True
|
||||
elif key == Qt.Key.Key_F11:
|
||||
self._dispatch_and_apply(FullscreenToggled())
|
||||
return True
|
||||
|
|
|
|||
|
|
@ -97,6 +97,7 @@ class PopoutController:
|
|||
self._fullscreen_window.set_folders_callback(library_folders)
|
||||
self._fullscreen_window.save_to_folder.connect(self._app._post_actions.save_from_preview)
|
||||
self._fullscreen_window.unsave_requested.connect(self._app._post_actions.unsave_from_preview)
|
||||
self._fullscreen_window.toggle_save_requested.connect(self._app._post_actions.toggle_save_from_preview)
|
||||
if show_actions:
|
||||
self._fullscreen_window.bookmark_requested.connect(self._app._post_actions.bookmark_from_preview)
|
||||
self._fullscreen_window.set_bookmark_folders_callback(self._app._db.get_folders)
|
||||
|
|
|
|||
|
|
@ -159,6 +159,16 @@ class PostActionsController:
|
|||
target = folder if folder else None
|
||||
self.save_to_library(post, target)
|
||||
|
||||
def toggle_save_from_preview(self) -> None:
|
||||
"""Toggle library save: unsave if already saved, save to Unfiled otherwise."""
|
||||
post, _ = self.get_preview_post()
|
||||
if not post:
|
||||
return
|
||||
if self.is_post_saved(post.id):
|
||||
self.unsave_from_preview()
|
||||
else:
|
||||
self.save_from_preview("")
|
||||
|
||||
def unsave_from_preview(self) -> None:
|
||||
post, idx = self.get_preview_post()
|
||||
if not post:
|
||||
|
|
|
|||
Loading…
Reference in New Issue