Skip to content

Redesign and refactor batch resize functionality#262

Merged
Ruben2776 merged 4 commits intodevfrom
204-batch-resize
Oct 26, 2025
Merged

Redesign and refactor batch resize functionality#262
Ruben2776 merged 4 commits intodevfrom
204-batch-resize

Conversation

@Ruben2776
Copy link
Owner

Description

This pull request redesigns and refactors the Batch Resize feature:

  • The Batch Resize window is now resizable with a new MVVM-based implementation.
  • UI/UX enhancements include hover and selected state styling for tab items, and improved animations for the ProgressBar control.
  • Multilingual support has been updated with new translation keys such as "AddFiles," "AddFolder," and "RemoveAll," and redundant keys have been removed.
  • Functional improvements include options for resizing, conversion, compression, and maintaining aspect ratios.
  • Introduction of BatchResizeViewModel for managing resizing operations and BatchLogEntry for logging operations.
  • Adjustments include integration with macOS and Win32 platforms for opening and closing the Batch Resize window.

Motivation and Context

This change improves the user interface, flexibility, and functionality of the Batch Resize feature while ensuring better maintainability through an MVVM architecture.

- Implement `BatchResizeViewModel` to manage batch resizing operations.
- Update `MainViewModel` to include `BatchResizeViewModel`.
- Add logic for initiating and closing the batch resize window in both macOS and Win32 `WindowInitializer` implementations.
- Introduce new model `BatchLogEntry` for logging batch resize operations.
- Enhance batch resize with options for resizing, conversion, compression, and maintaining aspect ratio.
- Implement `BatchResizeViewModel` to manage batch resizing operations.
- Update `MainViewModel` to include `BatchResizeViewModel`.
- Add logic for initiating and closing the batch resize window in both macOS and Win32 `WindowInitializer` implementations.
- Introduce new model `BatchLogEntry` for logging batch resize operations.
- Enhance batch resize with options for resizing, conversion, compression, and maintaining aspect ratio.

# Conflicts:
#	src/PicView.Avalonia.Win32/WindowImpl/WindowInitializer.cs
#	src/PicView.Avalonia/ViewModels/MainViewModel.cs
…tion.

- Added hover and selected state styling for tab items.
- Enhanced ProgressBar control template with improved structure and animations.
- Updated translations across multiple languages, adding new keys like "AddFiles", "AddFolder", "RemoveAll", and more.
- Removed redundant "SourceFolder" key across JSON localization files.
…-resize

# Conflicts:
#	src/PicView.Avalonia.MacOS/WindowImpl/WindowInitializer.cs
#	src/PicView.Avalonia.Win32/WindowImpl/WindowInitializer.cs
#	src/PicView.Avalonia/ViewModels/MainViewModel.cs
#	src/PicView.Avalonia/Views/Main/BatchResizeView.axaml.cs
#	src/PicView.Core/ViewModels/BatchResizeViewModel.cs
@Ruben2776 Ruben2776 linked an issue Oct 26, 2025 that may be closed by this pull request
@Ruben2776 Ruben2776 merged commit faf684e into dev Oct 26, 2025
2 of 3 checks passed
@Ruben2776 Ruben2776 deleted the 204-batch-resize branch October 26, 2025 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Batch resize - percentage decimals, remember last set value

1 participant