* Mark methods static and replace Count() with Length
* Use IsNullOrEmpty for null string checks
* Remove redundant initializations to default values
* Use nameof(property name) in place of string literals
* Add NativeMethods class
* Rename property getters in KeysDataModel & AppSpecificKeysDataModel
* Remove underscores from method names
* Mark Helper class static
* Address comments & typo fixes
* Add EncoderGuid property and fix failing build
* Update binding in GeneralPages.xaml
* Commented out enable/disable for File Explorer
* Revert UI changes
* Disable the toggles if PT is not running elevated
* Fixed compilation errors in tests
* Cleaned up preview pane code to separate thumbnail and preview panes as separate classes
* Fixed broken settings format and added elevation check and registry updated required logic. Preview Handler tested manually working, Thumbnail Enable/Disable needs to be fixed
* Updated Thumbnail enable/disable logic and added warning messages
* Update tests for File Explorer
* Fixed RegGetValue failing in Release config
* Renamed new classes
* Split wrappers for disable to work
* Modified enabled flag check to also check if user is on new settings. Fixed casing issue in powerpreview.h that caused a dialog prompt on first launch after install
* Update fontweight and margin
* Fixed release build not working
* Move UseNewSettings usage to powerpreview.cpp to avoid tests breaking. For new settings the enable check is done in constructor and for old settings it is done in enable
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Moved dup code to method
* Use correct versions of general settings for backwards compat test
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* basic logic working
* Added a literal for ignore flag which cna be shared by all the files
* Added a condition that the other modifier keys should not be pressed
* Added comments to describe each scenario
* sometimes when multiple modified keys were involved the shift+tab key press was also being invoked, so added an additional check in the IsValid function
* use variable for vk_tab
* remove new line before initializing dwextraInfo
* move flag check if the filterKeyboardevent function
* use windows.system.virtualkey.shift instead of defining a constant for the shift key code
* removed latest settings to use internal settings instead. Removed the validity check while still within the hotkey other than if it's tab or shift+tab
* add a function to send input to the system instead of duplicating the send input code
* remove VKSHIFT declaration
* display all shortcuts/keys except tab and shift+tab
* remove header that is no longer needed
* validated that restart elevated and check for updates work.Removed isettingsUtils and reused settings repository
* reverted the name to ImageResizer instead of using ImageResizerSettings.Modulename to make it backward compatible
* Removed getSettings from moduleEnabled so that it doesn't have to reopen the file everytime
* To Lower to while checking the theme
* color picker doesn't reopen the file
* use the generalView model config directly for FZ
* Made the same change for all the viewmodels so that they access the general view model value directly instead of opening and reading the value from a file each time
* removed unused variable
* Fix initialization in tests
* should read the file only if general settings does not exist
* Added interfaces for all the powertoys to use the generalSettings singleton class
* Runner is responding to changes in settings, only issue is that every time the general settings page is loaded the information is being read because isInitialized property could not be ignored during serialization
* All tests pass
* Settings and runner are working as expected with the settings cache
* added a null check to read from the file only when the settings process is started
* use converter to deserialize an interface
* Renamed generalSettings within the cache to be called CommonSettingsConfig
* All tests pass, had to initialize the common settings config instance
* Added few comments to newly created classes
* encapsulating load and store of general view model
* reading from file is encapsulated
* settings and runner wotk with generic singleton
* Shortcut guide works as expected
* Fancyzones, shortcutguide and power preview use the settings repository and work as expected
* referencing GeneralSettings instead of the settingsRepository<GeneralSettings> within viewmodels
* unified access to General settings and removed the IGeneralSettingsData interface
* Passing settings to viewmodel as a parameter
* removed ISettingsConfig interface from the viewmodels which are not using the singleton to access settings
* have to use ISettingsConfig to use GetSettings
* refactored tests, all tests pass
* Added test for settingsRepository that a single instance is created
* Added comments and removed unnecessary headers/code
* added settings repository tests
* moq for each settings file
* Img resizer tests pass
* General tests pass
* FancyZones tests pass
* PowerPreview tests pass
* PowerRename tests pass
* shortcut guide tests pass
* Added GetModuleName to ISettingsConfig
* unify the way the Modulename is accessed. It was redeclared in multiple places and this would cause an issue if the name is changed only in one place. All the module names are accessed using the <T>Settings.ModuleName, eg: ShortcutGuideSettings.ModuleName.
* create PTRun settings file if it does not exist
* GetFile is now a private function. Modified the logic of KBM default.json access and PT Run so that we can re-use GetSettings instead of GetFile.
* Added UpgradeSettingsConfiguration to the ISettingsConfig interface so that the settings file can be upgraded based on some condition. Presently, only the GeneralSettings file is utilizing this to change the PT Version number based on the old PT version and the current PT version that it receives from the helper function. Verified that if the PT version is lower in the general settings.json file, settings saves the file with the new version info.
* The naming for the PowerToys was inconsistent and the variables were redeclared in multiple places. To have the settings.ModuleName as the main name, all other places should refer to that name. In the tests file the module name for ImgResizer was 'ImageResizer' and not 'Image Resizer'.
* renamed lock
* Remove unnecessary GetSettingsFileNAme function. It is no longer in use because the code does not use types to create a new BasePTModule object
* 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
* 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