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

Merge V1.97_dev with main branch #50

Open
wants to merge 42 commits into
base: main
Choose a base branch
from
Open

Merge V1.97_dev with main branch #50

wants to merge 42 commits into from

Conversation

Nenotriple
Copy link
Owner

@Nenotriple Nenotriple commented Dec 4, 2024

🟦 v1.97 status: Stable

Todo

  • Main

    • Tabbed interface for Alt-UI selection.
    • Move Loading Order menu into the View menu.
    • Allow choosing a Loading Order of "Image Dimensions"
    • MyTags:
      • Show all tags in a list, with a count of how many times each tag is used.
      • Allow the user to quickly insert tags from "AllTags" into "MyTags".
      • Allow the user to quickly insert tags from "AllTags" into the text box.
    • Refactor ImageGrid:
      • Setup ImageGrid as a widget instead of it's own window.
      • Toggle ImageGrid visibility in the ImgTxtViewer UI.
      • Better horizontal thumbnail scaling.
      • Disable ImgTxtViewer.primary_display_image scaling while ImageGrid is visible.
      • Unify TextController and ImageGrid filtering logic.
      • Unify ImgTxtViewer and ImageGrid file lists.
      • Ensure thumbnail highlights are easily visible.
        • Update highlights when clicking a thumbnail.
        • Update highlights when using ImgTxtViewer nav logic.
        • Update highlights when filtering.
      • Ensure the current image remains visible in the viewport when using ImgTxtViewer nav logic.
      • Reduce redundant operations or logic that's already handled elsewhere.
  • Misc

  • Optional

    • Refactor ThumbnailPanel logic into its own class.
    • Better circular navigation when directly clicking inside the ThumbnailPanel.
    • Display current character and word count in the Stats tab.
    • CropUi:
      • Choosing between Fixed selection modes should keep track of each value for each mode.
      • Small center crosshair when moving/creating the selection.
      • After Crop > Save & Next > Choose output directory for session.
      • A method for enforcing a min value for Fixed Selection:
        • For Aspect Ratio: The value would control the minimum size of the selection.
        • For Width: The value would control the minimum height of the selection.
        • For Height: The value would control the minimum width of the selection.
      • Allow choosing a specific output filetype Auto, JPG, PNG, WEBP
      • Double-clicking with Fixed Selection enabled should create a fixed selection, not auto size.
  • Issues

    • Run SuggestionHandler.update_suggestions() without a dictionary selected; AttributeError: 'NoneType' object has no attribute 'sort'
    • Fix TextController.reset_to_defaults() to use parent attributes for font and size
    • Fix AttributeError when closing CropUi; Calls proper function
    • Fix issue where it's not possible to open images in MS Paint because of a faulty path check.
    • Deleting the last image text pair causes the file index to break.
    • Unify path selection via Browse... and via '<Return>' .bind()
      • When the path is set via '<Return>', it fails check_if_directory().
    • CropUi:
      • Pasting a value in the fixed selection entry may not update as expected.
      • When saving as a lossy format like jpg, or webp, the cropped output is low quality.
      • Does not respect the Loading Order as set by ImgTxtViewer; Load image, Show image, etc.

Release Notes for v1.97

New:

  • Wrap selected text in brackets:
    • Select text in the primary text box, press a LEFT / OPENING bracket key (, [, {, ", '
    • Useful for weighted captions, example: ((sometext))
  • You can now see a list of all tags from the MyTags tab, allowing you to insert these tags into MyTags or the text box.
  • The Stats tab now shows the current character and word count.
  • The Image Grid is now built into the primary interface.

Fixed:

  • Fixed errors when:
    • Typing in the primary text box when no dictionary is selected.
    • Resetting the font tab.
    • Closing the Crop image interface.
    • Attempting to open an image using the default editor MS Paint.

Other Changes:

  • It's now possible to loop around while clicking inside the Thumbnail panel for navigation.
  • You can now resize the AutoTag tag list.

@Nenotriple Nenotriple self-assigned this Dec 4, 2024
@Nenotriple Nenotriple added the enhancement New feature or request label Dec 4, 2024
Add `ThumbnailPanel.py` file.

Better circular navigation logic, allowing the user to navigate from start to end, and end to start by clicking thumbnails directly.
Refactor suggestion handling in Autocomplete.py for improved clarity and efficiency

Fix attribute error when running SuggestionHandler.update_suggestions() without a dictionary selected.
Add custom_scrolledtext.py for enhanced text wrapping functionality. Allowing the user to select text and press a LEFT bracket key like: `(`, `[`, `{`, `"`, `'` and it will wrap the selected text on both sides with the given bracket.

The text will remain selected, allowing you to edit or add additional brackets, etc.
Advance app version from v1.96 > v1.97

Fix issue with a leftover operator `()` included in the "update_panel" function call, resulting in the command being executed immediately, and not after the scheduled delay.
Enhance CustomScrolledText to allow multiple bindings for key press events
Initial implementation of ImageGrid as a built-in widget of ImgTxtViewer.

At this point the following is not working or needs to be addressed:

- The ImageGrid interface does not scale at all horizontally
- The "ImgTxtViewer.primary_display_image" widget is still being processed while ImageGrid is visible
Rename "Toggle Image-Grid View" to "Toggle Image-Grid".

Ensure the menu positions are the same between the "view_menu" and "image_context_menu".
Remove "listbox_x_scrollbar".

Set paned_window frame stretch, width, and minsize values.
Prevent image from being processed while the ImageGrid is open.
Move "toggle_image_grid" to a more logical location.

Ensure more "root" attribute calls actually use "self.root".

Ensure the ImageGrid is reloaded when resizing the window and when loading the ImageGrid. This allows the ImageGrid to properly calculate dynamic columns.
Skip path check if app_path is MS Paint.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant