V2.0.5.5
Changelog for EasyExtract
[2.0.5.5] - 2024-06-09
Added
- MainWindow and Dashboard: Replaced FluentWindow with a standard Window in MainWindow and added a new Dashboard.
- User Controls and Navigation: Introduced new user controls including Extraction, SearchEverything, Settings, About, and EasterEgg. Implemented a navigation view in Dashboard for easy control access.
- Settings Panel: Introduced a comprehensive settings panel with interactive UI elements.
- Discord Presence: Enhanced the application with Discord presence feature for activity tracking.
- History Feature: Added a History feature to track previous extractions.
- Theme Selection: Added theme selection functionality (light, dark, high contrast) with dynamic resource colors.
- Extraction Queue: Implemented an extraction queue allowing multiple extraction tasks.
- Extraction Process Indicators: Enhanced the UI with animations and indicators for the extraction process state.
- Extraction Management: Added a new tab in the Extraction UI for managing extracted Unity packages.
- SearchEverything Functionality: Added functionality and validation utilities for searching .unitypackage files.
- LiveCharts Integration: Added LiveCharts library for visualizing extracted Unity package data.
Changed
- UI Enhancements: Multiple updates to the UI for EasterEgg, Dashboard, About, and Settings, including new gradients, fonts, and dynamic UI interactions.
- Code Refactoring: Improved code readability, structure, and maintainability across various components.
- Extraction Process: Updated and optimized the extraction process for Unity packages, including handling ignored packages and asynchronous operations.
- UpdateHandler: Integrated GitHub's Octokit for checking and downloading updates, improving the update process reliability.
- Project Configuration: Upgraded dependencies and adjusted solution build configurations.
Fixed
- UI Interactions: Enhanced UI interactivity of toggle switches and other elements.
- Null-Safety: Implemented null checks to prevent potential null reference exceptions.
- Update Logic: Corrected the logic for triggering application updates.
- Button Logic: Refactored logic for delete and ignore buttons in Extraction.xaml.cs for better clarity and accuracy.
Removed
- Unused Event Handlers: Removed the OnPresenceUpdate event handler from DiscordRpcManager.cs.
- Outdated Functionality: Eliminated the ExtractedFileHandler.cs class and Windows notifications from Settings.
Documentation
- Todo Comments: Added and updated todo comments for future improvements and fixes in the code.
Detailed Changes
[2.0.5.5] - 2024-06-09
-
Update MainWindow layout and add new Dashboard:
- Replaced FluentWindow in MainWindow with a standard Window.
- Added a new Dashboard xaml and cs file with FluentWindow configuration.
- Cleaned up resources in .csproj and solution files.
- Implemented Timer logic for loading the Dashboard after MainWindow.
-
Add new user controls and navigation view:
- Introduced new user controls: Extraction, SearchEverything, Settings, About, EasterEgg.
- Implemented a navigation view in Dashboard for easy control access.
- Set up associated animations and interactions.
- Added application icon.
-
Update user interface and enhance functionality in various components:
- Enhanced UI elements in EasterEgg.xaml, Dashboard.xaml, and About.xaml.
- Added dynamically changing list of cards in About screen.
- Improved navigational updates in Dashboard.
-
Update UI elements and improve code structure:
- Enhanced UI elements in the "About" page and dashboard.
- Updated Assembly version in project configuration.
-
Add new settings panel and UI interactions:
- Introduced a comprehensive settings panel with interactive UI elements.
- Created ConfigHelper.cs and ConfigModel.cs for managing configuration settings.
-
Add Discord presence and configuration updates:
- Enhanced the application with Discord presence feature for activity tracking.
- Refined configuration settings for Temp Path, Last Extracted Path, and app integrations.
-
Add todo comments and remove unused event handler:
- Added todo comments in Settings.xaml.cs for future improvements.
- Removed unused OnPresenceUpdate event handler in DiscordRpcManager.cs.
-
Improve discord rpc management and UI interactions:
- Added start and dispose methods in discord rpc management.
- Enhanced UI interactivity of toggle switches.
-
Update Discord RPC messages and add History feature:
- Modified Discord RPC messages for conciseness.
- Added a new History feature to track previous extractions.
-
Refactor code style and remove unused imports:
- Removed unused using directives.
- Rearranged class members for clarity.
-
Update title change feature in Settings:
- Adjusted title change feature to take effect upon restarting the application.
-
Add theme selection and adjust related UI colors:
- Introduced theme selection functionality with dynamic resource colors.
- Added required extensions and third-party libraries for theme management.
-
Extend content into title bar in Dashboard:
- Updated Dashboard.xaml to extend content into the title bar.
-
Add SearchEverything functionality and updates to UI:
- Added SearchEverythingModel and EverythingValidation.cs.
- Updated UI with new controls and error message for system requirement checks.
-
Implement extraction queue and addition features:
- Implemented extraction queue functionality.
- Added 'Id' property to SearchEverythingModel class.
-
Add extraction process indicators and improve validations:
- Enhanced Extraction UI with an animation for the extraction process state.
- Optimized extraction process and removed unrequired console messages.
-
Refactor Extraction.xaml.cs and update Extraction.xaml:
- Refactored Extraction.xaml.cs for better readability and maintainability.
- Improved UpdateQueueHeader and ChangeExtractionAnimation methods.
-
Implement Unitypackage extraction process:
- Added extraction functionality for Unity packages.
- Included UI changes for extraction progress tracking and validation function.
-
Refactor code and implement improved extraction process:
- Reorganized and improved codebase for clarity and maintenance.
- Enhanced extraction functionality by including a history item for each extraction.
-
Improve extraction functionality, add Clear History button:
- Added ability to disable and change appearance of Extraction button during extraction.
- Introduced 'Clear History' button in History tab.
- Integrated drag and drop support for Unity packages.
-
Update Unitypackage extraction process and library:
- Refactored extraction process to use SharpCompress library.
- Enhanced error handling and removed 'to-do' comments.
-
Refactor Extraction.xaml to introduce TabControl:
- Incorporated TabControl in extraction UI for better navigation.
- Changed background color of extraction page to black.
-
Add extracted and ignored unitypackages count:
- Added functionality to manage and display count of extracted and ignored Unitypackages.
- Cleaned UI by removing unnecessary buttons and added badges.
-
Refactor Extraction UI and Improve Null-Safety:
- Added
IgnoredUnitypackages
grid and status badges. - Implemented null checks for property value assignments.
- Added
-
Improve UI flow on extraction completion:
- Auto-select "Manage Extracted" tab upon successful extraction.
- Improved code readability by fixing formatting issues.
-
Added extraction management feature to Extraction.xaml:
- Added "ManageExtractedTab" for managing extracted UnityPackage files.
-
Update font family and package versions:
- Updated font family to SegoeFluentIcons.
- Updated multiple package versions in EasyExtract.csproj.
-
Remove unnecessary namespace in App.xaml:
- Removed unnecessary "easyExtract" namespace.
-
Add 'ExtractedCategoryStructure' setting and improve History visibility:
- Added 'ExtractedCategoryStructure' setting in ConfigModel.
- Improved visibility management of 'ClearHistoryButton' and 'NoHistoryLabel' in History.xaml.cs.
-
Add ExtractionHelper and improve unitypackage extraction process:
- Added ExtractionHelper class for file counts, categories, and symbols.
- Improved extraction process with better handling of existing files and errors.
-
Add extracted Unity packages list:
- Added interface for listing, reviewing, and managing extracted Unity packages.
- Introduced option to use category structure for better organization.
-
Add tooltip to Category Structure toggle switch:
- Added tooltip explaining the function and importance of the Category Structure feature.
-
Changed Extraction Helper and Handler from static to instantiable classes:
- Changed Extraction Helper and Handler to instantiable classes.
-
Refactor private variables naming in Extraction.xaml.cs:
- Updated naming of private variables for better readability.
-
Refactor Extraction.xaml.cs to use async and await:
- Transformed synchronous operations to asynchronous using async and await.
-
Refactor extraction file validation:
- Simplified validation using a ternary operator.
-
Implement search and deletion for unitypackage files:
- Made
UpdateExtractedFiles
method asynchronous. - Introduced search and deletion features for unitypackage files.
- Made
-
Implement deletion and ignoring of selected Unitypackages:
- Enabled deletion and ignoring of selected Unitypackages.
- Updated UI to reflect changes.
-
Refactor delete and ignore button logic in Extraction.xaml.cs:
- Improved clarity and readability of delete and ignore button logic.
-
Removed ExtractedFileHandler.cs:
- Eliminated outdated file handling functionality.
-
Updated ConfigHelper Methods to Async:
- Adjusted LoadConfig and UpdateConfig methods to asynchronous.
-
Refactored Extraction Class:
- Moved Extraction constructor to the top for clarity.
- Automatically selected ExtractionTab if no extracted Unitypackages are detected.
-
Refactored Extraction UI Code:
- Switched from List
to ObservableCollection for better UI updates.
-
Improved methods for filtering unitypackages and handling ignored packages.
-
Updated Extraction Functionality:
- Added handling for ignored Unitypackages.
-
Updated UserControls and ExtractionHandler:
- Enhanced UI interactivity and error handling.
-
Removed Windows Notifications from Settings:
- Simplified settings interface by removing Windows notifications toggle.
-
Added Extraction History and Calculated Total Extracted Files:
- Introduced tracking history mechanism and total extracted files calculation.
-
Updated Ignored Package Reason, Background Styling, Extraction Logic, and Discord Presence Updates:
- Updated ignored reason message.
- Enhanced dynamic background styling and extraction logic.
- Included extraction data in Discord presence.
-
Updated History.xaml.cs:
- Enabled saving of extraction stats to configuration file.
-
Updated Extraction UserControls:
- Added select all functionality and updated UI.
-
Added LiveCharts to Extraction UI:
- Integrated LiveCharts for visualizing extracted Unitypackages data.
-
Updated Extraction User Interface:
- Added colors to chart series and moved chart to expandable section.
-
Refactor Extraction Page UI:
- Simplified options and layout for better readability.
-
Updated Dashboard UI Layout:
- Adjusted RowDefinition heights and PaneDisplayMode for better responsiveness.
-
Added UpdateHandler and Updated UI elements:
- Implemented UpdateHandler for checking and applying updates.
- Modified UI elements for update check functionality.
-
Improved UpdateHandler class:
- Added error handling and .zip extraction support.
-
Refactor UpdateHandler in EasyExtract:
- Changed update logic to fetch releases from GitHub API.
-
Updated UpdateHandler logic in Dashboard.xaml.cs:
- Fixed condition for triggering application update.
-
Refactor Update Check Code in Dashboard.xaml.cs:
- Improved variable naming for clarity.
-
Updated EasyExtract App:
- Integrated GitHub's Octokit for update checks and downloads.
-
Updated Project Configuration and Dependencies:
- Upgraded MahApps.Metro.IconPacks version.
- Added method to delete old files and extract RAR archives in UpdateHandler.