feat: zoom keyboard shortcut (#956)

* feat: add increase/decrease zoom menu items

* fix: increase thumbnail size not working on windows

* fix: duplicated menu items
This commit is contained in:
purpletennisball
2025-08-03 00:22:44 -04:00
committed by GitHub
parent d86fc5cdd0
commit 45943ba00d
3 changed files with 51 additions and 1 deletions

View File

@@ -304,6 +304,34 @@ class MainMenuBar(QMenuBar):
self.show_filenames_action.setCheckable(True)
self.view_menu.addAction(self.show_filenames_action)
self.view_menu.addSeparator()
self.decrease_thumbnail_size_action = QAction(
Translations["menu.view.decrease_thumbnail_size"], self
)
self.decrease_thumbnail_size_action.setShortcut(
QtCore.QKeyCombination(
QtCore.Qt.KeyboardModifier(QtCore.Qt.KeyboardModifier.ControlModifier),
QtCore.Qt.Key.Key_Minus,
)
)
self.decrease_thumbnail_size_action.setToolTip("Ctrl+-")
self.view_menu.addAction(self.decrease_thumbnail_size_action)
self.increase_thumbnail_size_action = QAction(
Translations["menu.view.increase_thumbnail_size"], self
)
self.increase_thumbnail_size_action.setShortcut(
QtCore.QKeyCombination(
QtCore.Qt.KeyboardModifier(QtCore.Qt.KeyboardModifier.ControlModifier),
QtCore.Qt.Key.Key_Equal,
)
)
self.increase_thumbnail_size_action.setToolTip("Ctrl+=")
self.view_menu.addAction(self.increase_thumbnail_size_action)
self.view_menu.addSeparator()
self.addMenu(self.view_menu)
def setup_tools_menu(self):

View File

@@ -479,9 +479,28 @@ class QtDriver(DriverMixin, QObject):
self.settings.show_filenames_in_grid
)
def on_decrease_thumbnail_size_action():
new_val = self.main_window.thumb_size_combobox.currentIndex() + 1
if not (new_val + 1) > len(self.main_window.THUMB_SIZES):
self.main_window.thumb_size_combobox.setCurrentIndex(new_val)
self.main_window.menu_bar.decrease_thumbnail_size_action.triggered.connect(
on_decrease_thumbnail_size_action
)
def on_increase_thumbnail_size_action():
new_val = self.main_window.thumb_size_combobox.currentIndex() - 1
if not new_val < 0:
self.main_window.thumb_size_combobox.setCurrentIndex(new_val)
self.main_window.menu_bar.increase_thumbnail_size_action.triggered.connect(
on_increase_thumbnail_size_action
)
# endregion
# region Tools Menu ===========================================================
def create_fix_unlinked_entries_modal():
if not hasattr(self, "unlinked_modal"):
self.unlinked_modal = FixUnlinkedEntriesModal(self.lib, self)
@@ -624,8 +643,9 @@ class QtDriver(DriverMixin, QObject):
)
# Thumbnail Size ComboBox
self.main_window.thumb_size_combobox.setCurrentIndex(2) # Default: Medium
self.main_window.thumb_size_combobox.currentIndexChanged.connect(
lambda: self.thumb_size_callback(self.main_window.thumb_size_combobox.currentData())
lambda: self.thumb_size_callback(self.main_window.thumb_size_combobox.currentIndex())
)
self._update_thumb_count()

View File

@@ -217,6 +217,8 @@
"menu.tools.fix_duplicate_files": "Fix Duplicate &Files",
"menu.tools.fix_unlinked_entries": "Fix &Unlinked Entries",
"menu.tools": "&Tools",
"menu.view.decrease_thumbnail_size": "Decrease Thumbnail Size",
"menu.view.increase_thumbnail_size": "Increase Thumbnail Size",
"menu.view": "&View",
"menu.window": "Window",
"namespace.create.description_color": "Tag colors use namespaces as color palette groups. All custom colors must be under a namespace group first.",