NOT WORKING AS INTENDED USE NEXT OR PREVIOUS RELEASE INSTEAD
SaveState v1.3.5 - Enhanced Save Path Detection & Fixes
This release introduces significant improvements to the save path detection logic, particularly for Steam games, adds missing visual feedback, and refines profile name handling.
Changes:
-
Improved: Heuristic Save Path Detection (Steam Games)
- The save path guessing logic (
guess_save_path) now leverages the list of all installed Steam games. - When evaluating potential save folders (especially those derived from AppIDs or common names), the system now compares the folder name against the names of other installed Steam games using fuzzy matching (
thefuzzlibrary). - This significantly reduces the chance of incorrectly suggesting a save folder that belongs to a different installed game, improving the accuracy of automatic path detection.
- Scoring logic (
final_sort_key) has been adjusted to incorporate these cross-game checks.
- The save path guessing logic (
-
Fixed: Progress Indicator for Steam Search
- Resolved the issue where no progress indicator was shown during the save path search initiated via the "Manage Steam Games" dialog.
- An indeterminate progress bar now correctly appears in the status bar during this operation, providing visual feedback consistent with Drag & Drop search and Backup/Restore operations.
-
Improved: Profile Name Sanitization
- Refined the
sanitize_foldernamefunction to preserve internal periods (.) within profile names (e.g., allowing names like "F.I.S.T.", "Minecraft 1.21.4"). - The function still removes leading/trailing periods and other characters invalid for folder names (
<>:"/\\|?*).
- Refined the
-
Fixed: Background Thread Stability
- Addressed potential crashes (
QThread: Destroyed while thread...) that could occur during background save path searches. - Ensured the main application maintains a proper reference to active background threads until they signal completion.
- Addressed potential crashes (
-
Refactoring: Steam Configuration Flow
- Simplified the
SteamDialog's role to primarily selecting a game. - Moved the responsibilities for handling Steam User ID selection, initiating the background search, managing the fade effect, handling search results, and showing the path confirmation dialog to the main window (
MainWindow) using signals and slots for better decoupling and lifecycle management.
- Simplified the
-
Internal:
- Corrected argument passing for
QInputDialog.getItemcalls moved during refactoring. - Minor logging improvements.
- Corrected argument passing for