Commit graph

183 commits

Author SHA1 Message Date
03dfe0f3a1 feat: Enhance Catalog Lite expiration handling and improve Italian localization 2026-05-26 22:33:46 +02:00
64525f5ead fix: downgrade actions/upload-artifact and actions/download-artifact to v3 in workflows
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m46s
2026-05-26 22:08:20 +02:00
3fea86fa78 feat: Update build workflows for Catalog Lite and Windows Avalonia with improved input types and release handling
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m43s
2026-05-26 22:00:08 +02:00
50f0209eb9 fix: Add paths-ignore for CatalogLite in Windows Avalonia build workflow
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m43s
Build Windows Avalonia / release (push) Has been skipped
2026-05-26 21:50:55 +02:00
181229aa41 Catalog Lite
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m43s
Build Windows Avalonia / release (push) Has been skipped
2026-05-26 21:47:55 +02:00
398cfa310e Refactor path handling in UI components
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m46s
Build Windows Avalonia / release (push) Has been skipped
- Removed redundant folder and file opening methods from AiTabView and FaceAiTabView.
- Introduced PathPickerField control to streamline path selection and opening functionality across multiple views.
- Updated FaceAiTabView and GeneralTabView to utilize PathPickerField for source and destination path selection.
- Created PathShellService to encapsulate logic for opening paths in the file explorer.
- Simplified XAML structure by replacing manual grid definitions with PathPickerField components.
- Removed unused namespaces and cleaned up code for better readability and maintainability.
2026-05-24 19:07:17 +02:00
f3ac1ea920 feat: Implement AI CSV overwrite confirmation and update CSV output path based on destination 2026-05-24 18:45:51 +02:00
6e05869b04 feat: Add GPU support options and enhance UI for Face Encoder and Matcher functionalities 2026-05-24 18:33:54 +02:00
af74c90ce7 feat: Update package references and enhance AI extraction service with CSV output functionality 2026-05-24 17:29:05 +02:00
55e8f0face Local build fix 2026-05-24 11:21:30 +02:00
5511817896 feat: Update .gitignore and project file to include TestArtifacts and local CUDA libraries for publish 2026-05-24 10:49:41 +02:00
c261557a29 feat: Add Face Matcher functionality and related settings
- Implemented FilePathToBitmapConverter for image loading.
- Enhanced DataModel with commands and properties for Face Matcher.
- Created FaceMatcherResultItem model to store results.
- Updated SettingsDto to include Face Matcher paths and tolerance.
- Introduced PickerPreferenceService for managing folder paths.
- Expanded AiSettingsViewModel to manage Face Matcher settings and results.
2026-05-09 20:27:44 +02:00
f57dc1edba feat: Enhance AI extraction summaries and worker allocation for GPU support
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m38s
Build Windows Avalonia / release (push) Has been skipped
2026-05-09 19:31:21 +02:00
48d6af13da feat: Update GPU worker allocation for improved performance in AI extraction 2026-05-09 19:15:00 +02:00
88c193549f feat: Implement AI workload settings and enhance AI processing summaries 2026-05-09 18:54:20 +02:00
4230300518 CUDA build 2026-05-09 18:37:31 +02:00
7e105e3738 feat: Add support for thumbnail inclusion in AI processing and enhance UI bindings
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m48s
Build Windows Avalonia / release (push) Has been skipped
2026-05-09 17:53:15 +02:00
cb41c42bb5 AI Pettorali 2026-05-09 17:27:05 +02:00
25fdb82d2f feat: Add face encoder settings including GPU support, parallelism, and thumbnail options
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m19s
Build Windows Avalonia / release (push) Has been skipped
2026-05-09 15:46:41 +02:00
d6b778a648 Refactor application to remove Windows Forms dependencies and transition to Avalonia UI
- Deleted MainWindow.xaml.cs, which contained the WPF implementation of the main window.
- Updated Program.cs to remove Windows Forms initialization and support only Avalonia UI.
- Removed Windows Forms specific code from ViewModelBase, including control marshalling logic.
2026-05-09 14:04:21 +02:00
988a3d94e1 feat: Implement face encoder functionality with GPU support and recursive option 2026-05-09 12:09:05 +02:00
daf3b5ad2c feat: Enhance Windows Avalonia build workflow with NuGet source validation and configuration
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m4s
Build Windows Avalonia / release (push) Has been skipped
2026-03-16 22:22:13 +01:00
3ddaf31340 feat: Add build workflow for Windows Avalonia with Docker support
Some checks failed
Build Windows Avalonia / build (push) Failing after 1m15s
Build Windows Avalonia / release (push) Has been skipped
2026-03-16 22:14:49 +01:00
0d6435520b Merge branch 'avalonia' into 'develop'
Enhance image processing performance and flexibility by introducing atomic...

See merge request MaddoScientisto/Catalog!2
2026-03-14 08:48:17 +00:00
b194a2424c feat: Update Microsoft.Extensions packages to version 10.0.5 for improved functionality and stability 2026-03-14 09:44:21 +01:00
901dc02ca8 feat: Enhance UI with new styles, improved layout, and icon integration across various views 2026-03-12 23:40:41 +01:00
fa09f7c324 feat: Update FaceAiTabView to support output file selection and validation for .pkl files 2026-03-12 23:24:44 +01:00
41d9dacfac feat: Replace Moq and FluentAssertions with NSubstitute and Shouldly in test projects 2026-03-12 19:40:58 +01:00
3c722a66df feat: Add AI extraction service and related view models
- Introduced `IAiExtractionService` and its implementation `AiExtractionService` for processing images and extracting text.
- Created `AiResultItem` model to hold results from AI extraction.
- Added `ImageProcessingCoordinator` to manage image processing tasks and provide progress updates.
- Implemented view models for AI settings, path settings, processing state, race upload settings, and visual settings to support UI binding.
- Updated `Program.cs` to register new services and dependencies.
- Modified project file to skip MinVer execution during local builds.
2026-03-12 18:48:13 +01:00
bdf503c627 feat: Refactor RaceUploadCommunicationClient and RaceUploadTabView to improve HttpClient management and resource disposal 2026-03-08 14:30:37 +01:00
b29cc95a1e feat: Enhance Avalonia UI with compact styles and improved layout for various views; adjust margins and paddings for a denser interface 2026-03-08 13:44:09 +01:00
e80b427fcc feat: Update Avalonia UI with new tab icons and styles; upgrade AutoMapper and Avalonia packages 2026-03-08 12:09:58 +01:00
d62342aae1 Implement ImageCreatorImageSharp using SixLabors.ImageSharp for image processing
- Added ImageCreatorImageSharp class for image creation, handling EXIF orientation, resizing, and saving images.
- Replaced GDI+ dependencies with ImageSharp for cross-platform compatibility.
- Introduced methods for drawing text and logos on images, including handling transparency and positioning.
- Created a test plan for validating ImageCreatorImageSharp functionality, focusing on image resizing, text positioning, logo features, and EXIF orientation.
- Added documentation for the test plan outlining goals, project structure, and implementation notes.
2026-03-08 11:17:47 +01:00
90fb03bf0c Add new tab views for image catalog functionality
- Implement GeneralTabView for source and destination path settings, options, processing parameters, and image library selection.
- Create LogoTabView for logo selection, preview, and positioning options.
- Add PhotoTabView for photo dimensions and JPEG quality settings.
- Introduce RaceUploadTabView for race setup and processed photo upload functionality, including API integration.
- Develop TextTabView for horizontal and vertical text settings, font options, and race time configuration.
- Implement ThumbnailsTabView for thumbnail creation options and settings.
2026-02-28 21:48:05 +01:00
6cf0c029fc feat: Implement Face AI functionality and race upload settings in Avalonia UI 2026-02-28 21:34:45 +01:00
15b1da4371 feat: Add race upload functionality and file transfer endpoints
- Implemented IRaceUploadCommunicationClient with methods for saving races, creating race points, indexing race points, retrieving race details, and uploading files to the receiver.
- Added ReceiveFilePath option to CatalogCommunicationOptions for file transfer configuration.
- Enhanced CatalogCommunicationServiceCollectionExtensions to validate ReceiveFilePath.
- Developed RaceUploadCommunicationClient to handle race-related API interactions, including saving race data and uploading processed images.
- Updated API documentation to reflect new race upload and file transfer endpoints.
- Modified Avalonia UI to support race creation and processed image uploads, including new input fields and buttons.
- Introduced RaceSaveRequest and ReceiveFileUploadRequest models for structured data handling.
2026-02-28 16:54:08 +01:00
4a0973b681 Added avalonia integration and remote proof of concept 2026-02-28 15:30:57 +01:00
775080a178 Removed old projects 2026-02-26 21:19:03 +01:00
73597689ed Cross-platform: remove System.Drawing deps, add #if WINDOWS
Refactored image creation APIs to use byte[] for logo data instead of System.Drawing.Image, enabling cross-platform support. Wrapped all GDI+/Windows-specific code in #if WINDOWS and updated project files to conditionally include Windows-only dependencies. Defaulted to ImageSharp on non-Windows, and updated UI and settings to reflect platform capabilities. Application now builds and runs on Linux/macOS with Avalonia and ImageSharp, while retaining full Windows functionality.
2026-02-26 19:17:23 +01:00
311b3e76f0 Add Avalonia UI frontend alongside WinForms and WPF
Introduce Avalonia as a new cross-platform UI option, including new XAML and code-behind files for the application and main window. Update Program.cs to support a --avalonia launch argument and add corresponding launch profile. Integrate Avalonia NuGet packages and ensure DataModel supports UI-thread invocation for all frontends. All business logic and state are shared via DI, enabling consistent behavior across WinForms, WPF, and Avalonia.
2026-02-26 18:43:07 +01:00
3ae4da3e49 Enhance publish_release job: export version and add release metadata for automated releases 2026-02-22 14:51:44 +01:00
93413b0fe9 Made trimmed false 2026-02-22 11:48:32 +01:00
3a964bbbcf Refactor CI pipeline: replace minversion file generation with single-file publish for downstream jobs 2026-02-22 11:38:15 +01:00
335da52abf Add minversion file generation to build output for downstream jobs 2026-02-22 00:57:23 +01:00
1bb0176c92 Removed tags only from publish job 2026-02-21 20:11:46 +01:00
f8d4687a97 Refactor CI pipeline for GitLab: streamline publish_release job and improve artifact handling 2026-02-21 20:01:31 +01:00
900e8b6bf8 Update CI configuration and assembly information; remove log file and add logo image 2026-02-21 19:03:02 +01:00
d068b4b3e1 Support UI selection via --wpf command-line argument
Refactored Program.cs to accept command-line arguments and select between WinForms (default) and WPF UI based on the presence of --wpf. Removed old commented-out UI selection code. Updated launchSettings.json to provide separate profiles for WinForms and WPF launches. If WPF is requested but unavailable, the app falls back to WinForms.
2026-02-21 17:27:16 +01:00
67f207c05b Refactor UI: reorganize options and improve color picker
- Moved "Create Thumbnails" checkbox to the Thumbnails section.
- Relocated "Add Time" and "Add Race Time" controls to a new "Tempo Gara" section in the text options area.
- Enabled multiline input and wrapping for the Vertical Text box.
- Replaced text color selection with MahApps ColorPicker for better UX.
- Moved "Select Transparent Color" button to the logo options section.
- Made minor UI layout improvements for clarity.
2026-02-21 17:22:46 +01:00
9007a27fb2 Upgrade UI to MahApps.Metro with runtime theming
Modernize WPF UI using MahApps.Metro: switch MainWindow to MetroWindow, add MetroTabControl/MetroTabItem, custom tab styles, and icon-based theme toggle. Move version display to window commands. Integrate MahApps resource dictionaries and ThemeManager for runtime theme switching. Update startup logic for proper theming. WinForms fallback retained.
2026-02-21 16:49:13 +01:00