You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
F2 shortcut for the "Rename selection" button — clicking the button moved keyboard focus away from the file list, preventing further arrow-key navigation until it regained focus; a shortcut triggers the action without stealing focus. Also added to the shortcuts window (F1) and to the button's tooltip.
Hidden catalogs — catalogs whose name starts with . or - are now excluded from the Catalog menu and the "Delete catalog…" list. list_catalogs() gained an include_hidden keyword argument (default False) to opt into seeing them. Switching to a hidden catalog no longer overwrites catalog.conf, so restarting the app always resumes the last non-hidden catalog rather than a hidden one.
Optional positional CLI argument to load a specific catalog at startup — pbpicat <name> (may be a hidden catalog; a name starting with - must be passed after --, e.g. pbpicat -- -secret). If no catalog with that name exists, a warning dialog is shown and startup falls back to the normal behaviour (last opened catalog).
"Sort ↓" / "Sort ↑" buttons in the history edit windows (Settings → Histories…) alongside the existing Move up/down — sort ascending/descending, locale-aware (QCollator using the interface's display language) and insensitive to case and diacritics (O=o=Ô=Ǫ, Œ=OE=œ). Disabled when fewer than 2 items are in the list. Empty-string entries always sort to the end, regardless of direction.
Changed
"New catalog…" / "Duplicate catalog…" — name already taken — previously just showed a blocking "Already exists" error and cancelled. Now asks whether to open the existing catalog instead (checked against all catalogs, including hidden ones); choosing "Open" switches to it, otherwise the action is cancelled as before.
Fixed
Arrow-key navigation jumped to the first row after renaming a file (not the first in the list) with the F2 shortcut — renaming triggers a disk change that QFileSystemWatcher picks up shortly after refresh_and_select()'s own refresh already ran, restarting the 400 ms debounce and firing a second, redundant _refresh_preserve_selection(). That method (and refresh_and_select_paths()) restored the previous selection after the table rebuild but never restored the current index, which the rebuild invalidates — so the renamed-to row stayed visibly selected while currentIndex() was -1, and the next arrow-key press navigated as if starting from row 0. Both methods now delegate to a new shared _select_paths_and_set_current() helper, which also calls selectionModel().setCurrentIndex() for the first restored row — centralizing the fix instead of duplicating it in both call sites.