* 1) Making Directory Methods private.
2) Removing the CreateDirectory / DeleteDirectory functionality from all Settings Unit Tests.
* Abstracting disk access via IIOProvider to be able to provide mocks for unit tests instead of writing to disk. This also prevents developers who are running unit tests from interfering with the PowerToys settings on their local dev box.
* Dependency Injecting stub SettingsUtils for all tests
* Removing ISettingsUtils from constructors of objects that need to be deserialized (ColorPickerSettings/PowerLauncherSettings) as this breaks System.Text.Json
* Removing unused namespace reference
* Removing redifined mock
* As per PR feedback. Stub Settings utils should work with any settings type if the intent is to compile / avoid null ref exceptions.
Strangely when implementing this fix it became apparent that a stub settings isn't enough, and disk access needed to be mocked. I can't explain why the tests were passing previously.
* Leveraging GetMockIOProviderForSaveLoadExists
* Add accessible names for the KBM key remapping list and list item
* Add accessible name for the shortcut list item
* Add accessible name for shortcut remapping list
* Added accessible names to all icons
* Add accessible name for image
* Fix font icon narrator issue
1) the same variables are being compared against each other.
2) BasePTSettingsTest doesn't override equals to Equals compares the objects. This change compares the json strings directly.
* set the labeled by property of number box to point to the textblock heading so that 'Press duration before showing (ms)' string is read when the number box is highlighted
* Added comments on the accessibility issues that are dependent on the winui radiobuttons control
* Added information to the shortcut guide image on the right, it previously said only the word graphic
* Added an automation name to the custom list view
* Added an automation property for the text box
* changed the name to 'Configuration'
* Added an automation property for the combo box
* Add automation property for number box
* added a name for the times symbol
* Added the height name automation property
* Add automation property for image resizer size combo box
* Add name and uid for button
* Add automation name for the grouping of list views
* Add automation property label for number box
* Add name for the filename format edit box
* Added more information to the image
* Added automation property for the button
* Added an automation property name for the glyph
* added name automation property for the shortcut window
* fixed the name null for zone highlight button
* fixed the name for the inactive color dropdown
* fixed the accessibility issue with the border color downdown button
* fixed the issue with dropdowb buttons
* add description to the image
* Capitalize Z otherwise it reads it in an expected way
* made the naming generic as it the custom window is not only specific to fancyzones but is also used by colorpicker and PTRun to set their shortcut
* Added the setting
* Refactored existing code, the main feature isn't implemented yet
* Renamed a method
* Updated a comment in IZoneWindow
* Added the zone selection algorithm, didn't test it
* Basic features work
* Single monitor cycling works
* Seems that the feature works well
* Polished the settings page
* Rebase fix
* Fixed a null pointer dereference
* Use classic if syntax
* Fixed bad indentation
How did these lines unindent themselves?
* Removed TODO comment
* Rebase fix
* Another rebase fix
* Added localization code to pipeline and created one LocProject json for Settings
* Fixed typo
* Reordered nuget source
* Moved nuget install to restore step
* Added FZ.rc file to LocProj
* Added FZ resx file and modified rc file
* Fixed file names
* Changed to check folder for LocProject files
* Updated folder
* Changed directory
* Changed to src directory
* Changed language set and name format, removed rc file localization
* Added all projects with resx/resw files
* Added newline to end of file
* Removed nuget source as it is not used
* Updated comments
* Fixed formatting of json file
* Move loc step to end
* grouped radio buttons together
* grouping radio buttons together
* the word version is now read along with the version number
* Information regarding the image is read
* added a comment with the link to the issue in the winui repository
* added MSTest project
* enabled settings tests run in the build pipeline
* migrated KBM settings
* fixed typo
* moved the callback function initialization to the top
* fixed build
* added MSTest project
* migrated general settings tests
* enabled settings tests run in the build pipeline
* added tests
* move relay command class to separate file
* added a foldername parameter for general settings view model
* Added the setting
* Added a property to Editor Settings
This will be used later
* Fixed a bug in the previous commit
* Simplified a method
* Added snapping points to the editor
* Simplified a method in ZoneSet
* Updated ZoneSet testcases
* Add a method to FancyZones / ZoneWindowHost
* Almost works
* The editor now launches, but FZ does not understand the results
* Refactored some code
* Snapping to a zone by dragging seems to work
* Hotkeys seem to work
* Refresh the work area handler after changing settings
* Fixed zones not snapping to monitor edges when moved
* Remove unused method in FancyZones.h
* Fixed an issue with DPI awareness
* Renamed setting to spanZonesAcrossMonitors
* Renamed a function
* Fixed a bug with the magnetic effect
* Fix restoring window positions on layout changes
* fixing MSB3052
* adding back in to unblock build
* More agressive refactor. Moved the define constant to wixproj and actual version into src file version prop
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>