From 558c19bdb5e6e01f2d3ffae4cfeb11fe9c189b1b Mon Sep 17 00:00:00 2001 From: pax Date: Sat, 11 Apr 2026 22:13:23 -0500 Subject: [PATCH] preview_pane: make Save/Unsave from Library mutually exclusive Context menu now shows either Save to Library or Unsave from Library based on saved state, never both. behavior change: preview context menu shows either Save or Unsave. --- booru_viewer/gui/preview_pane.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/booru_viewer/gui/preview_pane.py b/booru_viewer/gui/preview_pane.py index 54b1dcb..95be284 100644 --- a/booru_viewer/gui/preview_pane.py +++ b/booru_viewer/gui/preview_pane.py @@ -315,20 +315,23 @@ class ImagePreview(QWidget): bm_menu.addSeparator() bm_new_action = bm_menu.addAction("+ New Folder...") - save_menu = menu.addMenu("Save to Library") - save_unsorted = save_menu.addAction("Unfiled") - save_menu.addSeparator() + save_menu = None + save_unsorted = None + save_new = None save_folder_actions = {} - if self._folders_callback: - for folder in self._folders_callback(): - a = save_menu.addAction(folder) - save_folder_actions[id(a)] = folder - save_menu.addSeparator() - save_new = save_menu.addAction("+ New Folder...") - unsave_action = None if self._is_saved: unsave_action = menu.addAction("Unsave from Library") + else: + save_menu = menu.addMenu("Save to Library") + save_unsorted = save_menu.addAction("Unfiled") + save_menu.addSeparator() + if self._folders_callback: + for folder in self._folders_callback(): + a = save_menu.addAction(folder) + save_folder_actions[id(a)] = folder + save_menu.addSeparator() + save_new = save_menu.addAction("+ New Folder...") menu.addSeparator() copy_image = menu.addAction("Copy File to Clipboard")