Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/tagstudio/qt/models/thumb_sizes.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from tagstudio.qt.translations import Translations

THUMB_SIZES: list[tuple[str, int]] = [
(Translations["home.thumbnail_size.extra_large"], 256),
(Translations["home.thumbnail_size.large"], 192),
(Translations["home.thumbnail_size.medium"], 128),
(Translations["home.thumbnail_size.small"], 96),
(Translations["home.thumbnail_size.mini"], 76),
]

53 changes: 27 additions & 26 deletions src/tagstudio/qt/ts_qt.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@
from tagstudio.qt.mixed.tag_database import TagDatabasePanel
from tagstudio.qt.mixed.tag_search import TagSearchModal
from tagstudio.qt.models.palette import ColorType, UiColor, get_ui_color
from tagstudio.qt.models.thumb_sizes import THUMB_SIZES
from tagstudio.qt.platform_strings import trash_term
from tagstudio.qt.previews.vendored.ffmpeg import FFMPEG_CMD, FFPROBE_CMD
from tagstudio.qt.resource_manager import ResourceManager
Expand Down Expand Up @@ -484,18 +485,18 @@ def on_show_filenames_action(checked: bool):
)

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)
new_val = self.main_window.content_display_toolbar.thumb_size_combobox.currentIndex() + 1
if not (new_val + 1) > len(THUMB_SIZES):
self.main_window.content_display_toolbar.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
new_val = self.main_window.content_display_toolbar.thumb_size_combobox.currentIndex() - 1
if not new_val < 0:
self.main_window.thumb_size_combobox.setCurrentIndex(new_val)
self.main_window.content_display_toolbar.thumb_size_combobox.setCurrentIndex(new_val)

self.main_window.menu_bar.increase_thumbnail_size_action.triggered.connect(
on_increase_thumbnail_size_action
Expand Down Expand Up @@ -561,7 +562,7 @@ def create_about_modal():

# endregion

self.main_window.search_field.textChanged.connect(self.update_completions_list)
self.main_window.search_bar.search_field.textChanged.connect(self.update_completions_list)

self.archived_updated.connect(
lambda hidden: self.update_badges(
Expand Down Expand Up @@ -624,50 +625,50 @@ def init_library_window(self):
def _update_browsing_state():
try:
self.update_browsing_state(
BrowsingState.from_search_query(self.main_window.search_field.text())
BrowsingState.from_search_query(self.main_window.search_bar.search_field.text())
.with_sorting_mode(self.main_window.sorting_mode)
.with_sorting_direction(self.main_window.sorting_direction)
.with_show_hidden_entries(self.main_window.show_hidden_entries)
)
except ParsingError as e:
self.main_window.status_bar.showMessage(
f"{Translations['status.results.invalid_syntax']} "
f'"{self.main_window.search_field.text()}"'
f'"{self.main_window.search_bar.search_field.text()}"'
)
logger.error("[QtDriver] Could not update BrowsingState", error=e)

# Search Button
self.main_window.search_button.clicked.connect(_update_browsing_state)
self.main_window.search_bar.search_button.clicked.connect(_update_browsing_state)

# Search Field
self.main_window.search_field.returnPressed.connect(_update_browsing_state)
self.main_window.search_bar.search_field.returnPressed.connect(_update_browsing_state)

# Sorting Dropdowns
self.main_window.sorting_mode_combobox.setCurrentIndex(
self.main_window.content_display_toolbar.sorting_mode_combobox.setCurrentIndex(
list(SortingModeEnum).index(self.browsing_history.current.sorting_mode)
)
self.main_window.sorting_mode_combobox.currentIndexChanged.connect(
self.main_window.content_display_toolbar.sorting_mode_combobox.currentIndexChanged.connect(
self.sorting_mode_callback
)

self.main_window.sorting_direction_combobox.currentIndexChanged.connect(
self.main_window.content_display_toolbar.sorting_direction_combobox.currentIndexChanged.connect(
self.sorting_direction_callback
)

# 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.currentIndex())
self.main_window.content_display_toolbar.thumb_size_combobox.setCurrentIndex(2) # Default: Medium
self.main_window.content_display_toolbar.thumb_size_combobox.currentIndexChanged.connect(
lambda: self.thumb_size_callback(self.main_window.content_display_toolbar.thumb_size_combobox.currentIndex())
)

# Exclude hidden entries checkbox
self.main_window.show_hidden_entries_checkbox.setChecked(False) # Default: No
self.main_window.show_hidden_entries_checkbox.stateChanged.connect(
self.main_window.content_display_toolbar.show_hidden_entries_checkbox.setChecked(False) # Default: No
self.main_window.content_display_toolbar.show_hidden_entries_checkbox.stateChanged.connect(
self.show_hidden_entries_callback
)

self.main_window.back_button.clicked.connect(lambda: self.navigation_callback(-1))
self.main_window.forward_button.clicked.connect(lambda: self.navigation_callback(1))
self.main_window.search_bar.back_button.clicked.connect(lambda: self.navigation_callback(-1))
self.main_window.search_bar.forward_button.clicked.connect(lambda: self.navigation_callback(1))

# NOTE: Putting this early will result in a white non-responsive
# window until everything is loaded. Consider adding a splash screen
Expand Down Expand Up @@ -738,7 +739,7 @@ def close_library(self, is_shutdown: bool = False):

# Reset library state
self.main_window.preview_panel.set_selection(self.selected)
self.main_window.search_field.setText("")
self.main_window.search_bar.search_field.setText("")
scrollbar: QScrollArea = self.main_window.entry_scroll_area
scrollbar.verticalScrollBar().setValue(0)
self.__reset_navigation()
Expand Down Expand Up @@ -1326,7 +1327,7 @@ def update_completions_list(self, text: str) -> None:
"tag_id:",
"special:untagged",
]
self.main_window.search_field_completion_list.setStringList(completion_list)
self.main_window.search_bar.search_field_completion_list.setStringList(completion_list)

if not matches:
return
Expand Down Expand Up @@ -1375,11 +1376,11 @@ def update_completions_list(self, text: str) -> None:
)

update_completion_list: bool = (
completion_list != self.main_window.search_field_completion_list.stringList()
or self.main_window.search_field_completion_list == []
completion_list != self.main_window.search_bar.search_field_completion_list.stringList()
or self.main_window.search_bar.search_field_completion_list == []
)
if update_completion_list:
self.main_window.search_field_completion_list.setStringList(completion_list)
self.main_window.search_bar.search_field_completion_list.setStringList(completion_list)

def update_thumbs(self):
"""Update search thumbnails."""
Expand Down Expand Up @@ -1450,7 +1451,7 @@ def update_browsing_state(self, state: BrowsingState | None = None) -> None:
if state:
self.browsing_history.push(state)

self.main_window.search_field.setText(self.browsing_history.current.query or "")
self.main_window.search_bar.search_field.setText(self.browsing_history.current.query or "")

# inform user about running search
self.main_window.status_bar.showMessage(Translations["status.library_search_query"])
Expand Down
Loading