Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: ui/ux parity fixes for thumbnails and files #608

Merged
merged 7 commits into from
Nov 29, 2024
Merged

Conversation

CyanVoxel
Copy link
Member

This PR adds various fixes and improvements for increased parity of thumbnail and file entry behavior between v9.4 and v9.5. This includes:

  • Fix: Thumbnail loading icons are properly displayed before the main render jobs start
  • Fix: Tag color names now show correct display names
  • Fix: Preview panel fields no longer leave previous UI elements around when browsing
  • Parity: Optimized file refreshing by removing string manipulation operations and re-introducing a cache of known files to skip when re-scanning
  • Feat: Add new folder names to always ignore when scanning
  • Fix/Parity/Feat: Automatic library refreshing on start is now only enabled for libraries with <10,000 previously known files

@CyanVoxel CyanVoxel added Type: Bug Something isn't working as intended Type: Enhancement New feature or request Type: QoL A quality of life (QoL) enhancement or suggestion Type: UI/UX User interface and/or user experience TagStudio: Library Relating to the TagStudio library system Priority: High An important issue requiring attention Status: Review Needed A review of this is needed labels Nov 28, 2024
@CyanVoxel CyanVoxel added this to the SQL Parity milestone Nov 28, 2024
@CyanVoxel CyanVoxel mentioned this pull request Nov 28, 2024
Copy link
Collaborator

@Computerdores Computerdores left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall, just a couple nits

item_thumb.set_mode(ItemType.ENTRY)
item_thumb.set_item_id(entry)

# TODO - show after item is rendered
item_thumb.show()

is_loading = True
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could this not be hardcoded? As far as I can tell this is never changed and only accessed once
(same in the next loop)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It can be hard-coded, but the reason I split it off into a variable is due to the way the arguments are being passed where I'm unable to use named parameters. It took some time to sort out which of the existing unnamed boolean arguments were doing what here, so I opted to store them in named variables for clarity.

@@ -1187,7 +1203,8 @@ def open_library(self, path: Path) -> LibraryStatus:
self.filter.page_size = self.lib.prefs(LibraryPrefs.PAGE_SIZE)

# TODO - make this call optional
self.add_new_files_callback()
if self.lib.entries_count < 10000:
self.add_new_files_callback()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this change what the todo refers to? If so can it be removed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left the TODO here since while it originally referred to the persistent call, it still works as a TODO to add the option to customize the new threshold here.

Computerdores added a commit to Computerdores/TagStudio that referenced this pull request Nov 28, 2024
CyanVoxel pushed a commit that referenced this pull request Nov 28, 2024
* fix: mypy error in ts_qt

* fix: mypy error in file_opener due to conflicting types

* fix: remove unnecessary type ignores

* refix type ignore comments

* partially revert "refix type ignore comments" due to being implemented in #608
@CyanVoxel
Copy link
Member Author

Sorry for the couple of late additions. I've fixed the default text for certain preview panel labels to correctly be assigned to the object names themselves, as well as fixed an issue with unlinked thumbnails not always rendering + quieted down some of the logs.

@CyanVoxel CyanVoxel removed the Status: Review Needed A review of this is needed label Nov 29, 2024
@CyanVoxel CyanVoxel merged commit 1fb1a80 into main Nov 29, 2024
10 checks passed
@CyanVoxel CyanVoxel deleted the thumb-fixes branch December 1, 2024 00:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: High An important issue requiring attention TagStudio: Library Relating to the TagStudio library system Type: Bug Something isn't working as intended Type: Enhancement New feature or request Type: QoL A quality of life (QoL) enhancement or suggestion Type: UI/UX User interface and/or user experience
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

2 participants