- Prevent accidental construction of ProviderSQLite objects inside of ProviderSQLite constructor
- Initialize .baseLibraryCollection during rootLibraryCollection construction to prevent null reference errors
caused by access before assignment
- Remove AddItem -> AddStlOrGcode -> AddItem recursion - Fixes crash due to concurrent writes to default.mcp
- Add sqlite async methods and supporting logic to ensure disk IO operations aren’t run in parallel
- Consolidate logic around sample part extraction from StaticData from various areas into a single method
- Rename that method from SyncCalibrationFilesToDisk to EnsureSamplePartsExist
- Break apart the large LINQ query into discrete and easier to understand steps
- Add shared base class for sqlite backed library providers and resuse common code in base
- Guard against cache deletion during one-time library initialization
- Discard StreamReader cases in favor of ReadAllText - Ensures .Dispose is always called and is ultra succinct
- Purge orphaned code
Made the providers pass themselves when building PrintItemWrappers
Fixed the bug with print history not setting the correct item to print
Took out LibrarySQLiteData (not replaced with LibraryProviderSQLite)
Made code go through the new SQLite provider to add parts during setup
Starting work on Save as Window to save to queue or provider and do provider selection
Took out some EventHandler new s that were from old code
Now Provider code
Create Folder in library and working some in provider.
New tests in MatterSlice
- Add filtering on Linux builds; ignore ttyS*\d+ devices
- Move control creation and filtering logic to base class to share across Add/Edit forms
- Reduce calls to .GetPortNames()
Auto Name will now suggest names without numbers if there are no printers of the same make and model
Auto Name will now suggest the lowest possible number if there are printers of the same make and model
Made a FrostedSerialPortFactory rather than just static methods so that we can override it.
Working on a QRSolver to help with print leveling on Kossel