* fix compilation issues for VS 16.8.* release
* - VS 16.8 changed its template instantiation model, so now the compiler checks the syntax used in template even when it's not instantiated. we were relying on that behavior to declare the list of required localized strings from a shared header => replacing that template with a macro.
* - fix 3 C++ `const auto&` bugs the new compiler was able to uncover
* - enabled /Zc:twoPhase- for bootstrapper and PowerToysSetupCustomActions to workaround 10.0.17134.0 headers' issue.
- PowerToysSetupCustomActions.vcxproj now uses 10.0.17134.0 instead of "latest" SDK
* - PowerToysSetupCustomActions project leverages `goto` operator's power extensively, and the new compiler was able to uncover new uninitialized variables behavior, restructured declarations and changed `NULL`s to `nullptr`s.
* - Fix unit FZ unit test compiler error
* - format FZS unit test source file
* fixup fz tests
* use /Zc:twoPhase- for common-md as well
* Add the setting for the Sensitivity Radius to JSON and the Editor
Use the setting when determining Zones to highligh
* Fix FanzyZones unit tests
Add test for Json upgrade
* Updated texts in FancyZone Editor
More Text to Resources / Use Resources
* Added constant for default of Sensitivity Radius
* When installing from scratch of when a new device is added set the sensitivity radius to the default.
Move all the constant values to a single namespace
* restore correct formatting
Co-authored-by: Remy Blok <remy.blok@prodware.nl>
* Update app zone history on every new window assignment to zone
* Compare window positions with already placed windows
* Remove window property only after processing window removal from zone
* Remove app zone history belonging to deleted virtual desktop.
* Implement support fancy zones app zone history on multiple desktops.
* Break when device id is located to avoid unnecessary loop iterations.
* Fix failing unit tests after JSONHelpers API changes.
* Use valid UUIDs in json helper unit tests.
* User properly formated test data in app zone history unit tests.
* Don't delete entire app history when moving out of zone on one desktop.
* Initial design for improving handling of different engaged work areas in fancyzones.
* Remove active device id check in ZoneWindow.
* Remove concept of active device identifier in JSONHelpers.
* Refactor interface description and add new method.
* Simplify ZoneWindow initialization.
* Default value for active ZoneWindow during move/size.
* Add newline at the end of file.
* Use COM pointers for ZoneWindow instead of passing raw ptr.
* Solve few issues after merging with master.
* Fix typo in documentation.
* Persist app zone history in a separate file
* Almost ready to be functionally tested
* Now all unit tests pass
* Bug fixes, it seems to work
* Various fixups
* Improved performance of FancyZones::UpdateWindowsPositions()
* Clean up resources taken by closed virtual desktops on FancyZones module startup.
* Overload GetVirtualDesktopIds to return wide string.
* Refactor OnDisplayChange method.
* Handle scenario with only primary desktop and no desktop swithc in current session.
* Add scoped lock when changing current desktop id. Address PR comments.
* Explain purpose of UpdatePrimaryDesktopData method.
* Fix typo in documentation.
This was needed while we were migratin device-info so
active layout could be migrated as well. At some point
we dropped migration of device-info. Therefore, this has no
puprose anymore.
* #1821 Support device names with underscores (such as 'Default_Monitor') in JSONHelpers.isValidDeviceId
* Make support for '#' in device names optional
* Add more unit tests for isValidDeviceId
* Introduce handling of new/old work areas (defined by virtual desktop id and monitor)
* Save data to JSON storage only once after we register all deleted virtual desktops
* Update saving mechanism
* Remove resolution from unique identifier
* Update comments related to new unique identifier
* Don't handle NULL GUID as it is default one
* Revert "Remove resolution from unique identifier"
This reverts commit 5a36651217.
* Revert "Update comments related to new unique identifier"
This reverts commit 8e89802549.
* removed MigrateDeviceInfoFromRegistry
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
* Migrate FancyZones data persisting from Registry to JSON file
* Address PR comment: Remove redundant check
* Addres PR comment: Remove unused Dpi and add CmdArgs enum
* Address PR comment: Make methods const and inline
* Address PR comments: Expose GenerateUniqueId function and use const ref instead of passing wstring by value
* Address PR comment: Use lamdba as callback
* Address PR comment: Move GenerateUniqueId to ZoneWindowUtils namespace
* Address PR comment: Use regular comparison instead of std::wstring::compare
* Address PR comment: Use std::wstring_view for tmp file paths
* Address PR comment: Use scoped lock when accessing member data
* Address PR comment: Remove typedefs to increase code readability
* Address PR comment: removed nullptr checks with corresponding tests
* Address PR comment: Move ZoneSet object instead of copying
* Address PR comment: Make FancyZonesData instance const where possible
* Remove unnecessary gutter variable during calculating zone coordinates
* Remove uneeded subclass
* Avoid unnecessary copying and reserve space for vector if possible
* Save FancyZones data after exiting editor
* App zone history (#18)
* added window and zone set ids to app zone history
* Rename JSON file
* Remove AppZoneHistory migration
* Move parsing of ZoneWindow independent temp files outside of it
* Unit tests update (#19)
* check device existence in map
* updated ZoneSet tests
* updated JsonHelpers tests
* Use single zone count information
* Remove uneeded tests
* Remove one more test
* Remove uneeded line
* Address PR comments - Missing whitespace
* Update zoneset data for new virtual desktops (#21)
* update active zone set with actual data
* Introduce Blank zone set (used to indicate that no layout applied yet). Move parsing completely outside of ZoneWindow.
* Fix unit tests to match modifications in implementation
* Fix applying layouts on startup (second monitor)
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: Seraphima <zykovas91@gmail.com>