Skip to content

feat: add multilingual support and improve image compression logic - #19

Merged
CodeDead merged 8 commits into
developmentfrom
feature/improvements
May 24, 2026
Merged

feat: add multilingual support and improve image compression logic#19
CodeDead merged 8 commits into
developmentfrom
feature/improvements

Conversation

@CodeDead

Copy link
Copy Markdown
Owner
  • Introduced multiple languages and added new keys ('selectFiles', 'selectFolder') to all language files.
  • Refactored ImageService to enhance image compression logic:
    • Added CompressionParams for cleaner parameter handling.
    • Improved EXIF metadata handling with read_exif and inject_exif.
    • Simplified geometry application via the apply_geometry function.
    • Optimized output path resolution and encoding logic.
  • Updated theming logic in theme_service.rs for concise code.
  • Added dropdown support to Cargo.toml for enhanced UI components.
  • Enhanced view rendering in main_view.rs.

- Introduced multiple languages and added new keys ('selectFiles', 'selectFolder') to all language files.
- Refactored `ImageService` to enhance image compression logic:
  - Added `CompressionParams` for cleaner parameter handling.
  - Improved EXIF metadata handling with `read_exif` and `inject_exif`.
  - Simplified geometry application via the `apply_geometry` function.
  - Optimized output path resolution and encoding logic.
- Updated theming logic in `theme_service.rs` for concise code.
- Added dropdown support to `Cargo.toml` for enhanced UI components.
- Enhanced view rendering in `main_view.rs`.
@CodeDead CodeDead self-assigned this May 24, 2026
@CodeDead CodeDead added the enhancement New feature or request label May 24, 2026
@CodeDead
CodeDead requested a review from Copilot May 24, 2026 22:24

This comment was marked as outdated.

This comment was marked as outdated.

CodeDead added 2 commits May 25, 2026 00:36
- Implemented collision avoidance for output paths by appending numeric suffixes (e.g., `_2`, `_3`) to ensure unique file names, avoiding concurrent write conflicts.
- Enhanced `CompressionParams` with an `output_path_override` option for pre-resolved paths.
- Updated `ImageService` to respect `output_path_override` for more flexible path determination.
- Refactored concurrent compression tasks to handle disambiguated output paths.
… spelling

- Added detailed error messages for directory reading failures in `app.rs` to improve user feedback.
- Fixed potential entry errors when processing files and ensured robust error handling.
- Standardized spelling of "serialize" and "deserialize" in `settings.rs` and `theme_service.rs` for consistency.

This comment was marked as outdated.

- Replaced `std::path::Path` with `std::path::PathBuf` for cleaner path manipulation.
- Simplified extension and stem extraction to avoid redundant parent directory logic.
- Updated dropdown visibility logic in compression flow for improved UI consistency.

This comment was marked as outdated.

- Replaced string comparison with `Theme` enum matching for cleaner and more robust logic.
@CodeDead
CodeDead merged commit 537c3a3 into development May 24, 2026
1 check passed
@CodeDead
CodeDead deleted the feature/improvements branch May 24, 2026 23:07
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.

2 participants