-
-
Notifications
You must be signed in to change notification settings - Fork 288
Rebuild UI #510
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
Rebuild UI #510
Conversation
(AI generated commit message because I made too many changes... again) - Updated `Application.xaml` - Improved `OnStartup` method in `Application.xaml.vb` for better multi-instance handling with mutex and named pipe server. - Modified `ApplicationHostService` for robust window management based on command-line arguments. - Enhanced `CustomSnackBarService` to effectively manage notifications for compression results. - Updated `FolderViewModel` with new properties and commands for folder actions and wiki submissions. - Improved layout and functionality in `MainWindow` and `MainWindow.xaml`. - Redesigned `SettingsView` and `SettingsViewModel` for intuitive settings management. - Introduced new classes: `BackgroundImageChangedMessage`, `SemVersion`, `TrayNotifierService`, `UpdaterService`, and `WikiService` for specific functionalities. - Updated `HomeViewModel` for better folder action management and user notifications. - Redesigned `SettingsPage` for improved usability and layout adjustments.
This reverts commit 451d687.
- Increased idle timer duration in `IdleDetector` from 2 to 5 seconds. - Adjusted `DecayPercentage` calculation in `WatchedFolder` to return 1 when sizes are equal and updated `SavedSpace` calculation. - Enhanced `Watcher` to start `IdleDetector`; modified `UpdateWatched` to include `isFreshlyCompressed` parameter. - Converted `OnSystemIdle` to an asynchronous method with re-entrance checks and logging. - Made `Analyser` a class-level variable in `CompressableFolder`. - Updated `FolderViewModel` to pass an additional parameter to `UpdateWatched` during uncompression. - Changed `HomeViewModel` to call `UpdateWatched` for compressed folder notifications and refactored folder addition to `AddOrUpdateFolderWatcher`.
…ent colour for pre-release updates
… expensive setter operation if it's not needed
- Fixed crash when adding an unsupported folder to the Watcher page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR rewrites the UI layer by replacing ModernWPF with WPFUI, introduces dependency injection hosting, and adds multi‐folder queuing for compression.
- Swapped out ModernWPF components in favor of WPFUI resources and controls
- Integrated Microsoft.Extensions.Hosting and DI for services and view models
- Refactored converters and core types to use new
WOFCompressionAlgorithmenum and updated progress reporting
Reviewed Changes
Copilot reviewed 76 out of 76 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| CompactGUI/Components/Custom/TokenizedTextBox.vb | Updated event handler registration to use base class member |
| CompactGUI/Components/Converters/IValueConverters.vb | Replaced CompressionAlgorithm with WOFCompressionAlgorithm and added new converters |
| CompactGUI/Components/Converters/Converters.xaml | Enabled new converters and commented out unused ones |
| CompactGUI/Application.xaml.vb | Introduced DI host startup and replaced legacy startup logic |
| CompactGUI.Watcher/WatchedFolder.vb | Adjusted decay and saved‐space calculations |
| CompactGUI.Core/SharedObjects.vb | Converted fields to properties and introduced CompressionProgress |
Comments suppressed due to low confidence (2)
CompactGUI/Application.xaml.vb:214
- Event handler signature for IdleDetector.IsIdle expects a Sub(sender, args), not an Async Function with no parameters; update the signature or wrap it in a compatible delegate.
Private Async Function OnSystemIdle() As Task
CompactGUI/Components/Converters/IValueConverters.vb:258
- ColorConverter.ConvertFromString returns an Object, not a Color; you need to cast it (e.g. CType(ColorConverter.ConvertFromString(...), Color)) before passing to SolidColorBrush.
Return New SolidColorBrush(ColorConverter.ConvertFromString("#6E9DEF"))

ModernWPFtoWPFUII'm not exactly happy with the current look of the UI, but it is more functional 🤷