<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
Key Changes:
1. Settings.UI.Library:
- Added SettingsSerializationContext.cs with comprehensive
JsonSerializable attributes for all settings types
- Updated BasePTModuleSettings.ToJsonString() to use AOT-compatible
serialization
- Updated SettingsUtils.GetFile<T>() to use AOT-compatible
deserialization
- Modified all ToString() methods in Properties classes to use
SettingsSerializationContext
- Converted struct fields to properties in SunTimes and
MouseWithoutBordersProperties for serialization compatibility
2. Settings.UI:
- Fixed namespace alias in SourceGenerationContextContext.cs to avoid
conflicts
For any future developers who discover incorrect settings resolution,
please follow up my changes to add your setting type into
JsonSerilizerContext.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [ ] Closes: #xxx
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [ ] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
Co-authored-by: Yu Leng <yuleng@microsoft.com>
* Added option to toggle the system tray icon
At the moment, this hides the icon making the settings window inaccessible without first modifying the general `settings.json` file.
* Use IPC messages to manage the tray icon settings
* Fix launching second window binds to active settings process
* Added context menu option to hide tray icon
* Added Exit PT button to settings ui NavigationView.PaneFooter
* Moved DllImports to NativeMethods.cs
* Sentence case titles
* Fix whitespace
* Re-add exit icon to NavView
* Re-added toggle switch to new UI
* Fix build
* Fix build after merge main
* Fix the string to display
* add shut down buttons
* finish polish
* fix string
* Styling tweaks to titlebar and settingscards
* fix comment
* fix unit test
* fix ut
---------
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
Co-authored-by: vanzue <vanzue@outlook.com>
Co-authored-by: Kayla Cinnamon <cinnamon@microsoft.com>
Co-authored-by: Niels Laute <niels.laute@live.nl>
* Fix issue with missing Image Resizer unit and fit information in settings description.
* Fix accessibility issues on Edit and Remove buttons. Fix various issues and refactor view model and ImageSize. New resources for accessibility text formats.
* Fix unit test because of change to new preset width and height. Fix 2 unit tests having incorrect expected/actual orderings.
* Post-review update: accessibility strings now formatted within the converter, instead of via format strings; simplified encoder GUID collection declaration and retrieval.
* Minor example text fix.
Add support for ImageresizerSizes property
- do not use ints for enums in ImageSize struct
- add required converters
- extend setAdditional functionality
- add samples
Co-authored-by: Andrey Nekrasov <1828123+yuyoyuppe@users.noreply.github.com>
* [DSC] Microsoft.PowerToys.Configure module + winget configuration file support
* f: fix for an incorrect directory id reference
* f: update comment
* f: address review comments
* f: file locksmith bug fix
* f: add explorer preview switches in samples
* f: remove debug
* Sign DSC files
* f: implement docs/samples generator
* [ci]Sign FancyZonesEditorCommon.dll
* Sign DSC files in the Generated folder
* f: address review comments
* f: update usable options
* f: add autogenerated sample
* [Installer] Don't use same GUID for different components
* [Installer]Don't remove folders shared by other modules
* Allow configuring PTRun MaximumNumberOfResults
* Remove all settings DSC sample. Just random data
* Allow configuring Hosts Run as Administrator
* Revert "[Installer]Don't remove folders shared by other modules"
This reverts commit 6da3d6cfd5.
* Add all PTRun plugins and Global and keyboard to DSC sample
* Fix issues with context menu modules not disabling
* Fix default enabled values when setting with DSC
* Fix tests regarding default modules in Settings
* Fix merge error
* Restart PowerToys process if we stopped it
---------
Co-authored-by: Andrey Nekrasov <1828123+yuyoyuppe@users.noreply.github.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Adding configurable fontsize for result titles
* Update src/settings-ui/Settings.UI/SettingsXAML/Views/PowerLauncherPage.xaml
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
* Updating strings
* XAML styler
* CI fix
* PowerLauncher images
* update results height on font change
* Revert "update results height on font change"
This reverts commit 459f57c647.
---------
Co-authored-by: Jay <65828559+Jay-o-Way@users.noreply.github.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Add setting to show/hide plugin keywords in Run
* Increasing fontsize and spacing
* Removing tooltip prefixes
* Tweaks and making sure the window gets smaller when plugins overview is disabled
* Label updates for Settings
* Updating UI
* Fix number of results height
* Centering textbox
* Adding tooltip to keyword
* Selection highlight + dark theme tweaks
* Change order and fix CI
* Update expect.txt
* Add option to select only non-global plugins preview
* Fix typos
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
* Conflict resolving Part 1
* Conflict resolving Part 2
* Conflict resolving Part 3
* Conflict resolving part 4
* fix usepinyin
* Add test and fix setting
* Fix whitespace
* Fix prefix name
* Add mention that it doesn't work for every plugin
* Add GPOWrapper headers and C++/WinRT library
* Check GPO before starting utilities
* Show message on GPO having disabled preview panes.
* Don't generate thumbnails if GPO disabled
* Fix FancyZonesEditor unable to recognize GPOWrapper
* Move settings view models to the settings project
* Use GPO to block enabling utilities in Settings
* Hide context menu entries when gpo disables utilities
* Apply gpo policies when enabling PowerToys on runner
* Add version and metadata to dll
* Add GPOWrapper to the installer
* Fix MSBuild errors on WPF apps by using Projection
* Signing
* Add gpo files and publish them
* Add GPO policies to the bug report tool
* Add some documentation for using GPO
* Mention support to actual lowest supported version of Windows
* Move PowerToys to the root of administrative templates tree
* Save policies on Software\Policies\PowerToys
* Support both machine and user scopes
* Fix documentation to reference computer and user scopes
* Mention incompatibility with outlook in gpo
* Set a better folder structure for gpo assets
* Move PDF Handler warning to the description
* Update doc/gpo/README.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Add actual minimum version of PowerToys to gpo files
* Fix identation
* Remove GPOWrapper Readme
* Add Active Directory instructions to doc
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* [OOBE]Fix not shortcut not updating
Fix for issue #20953.
Activation key update in the OOBE window
when the user changes it in the settings window.
Add settings repository reference to the ViewModel
constructor to use the repository settings object
(and not create a second instance of it).
* Fix for issue #20953.
Unit test fixed.
* Create Readme.md
* Update Readme.md
* Rebased to master
* started integrating
* Resolve merge conflict
* Fixed merge conflict
* Edited expect.txt
* Tried implementig interfaces
* Push
* Push
* push
* push
* Deleted no longer used files
* push
* push
* Thanks @jaimecbernando for helping
* can load via url
* getting stuff semi stubbed out
* full render without passing vars
* making sure we clearly label the file was us
* push
* push
* push (does not work)
* Push
* push
* Added file size limit of 3 Kilobyte in standalone App (MoncaoPreview)
* Added monacosrc to excludes.txt (spell checker)
* Fixed XAMLHost loading issue and changed namespace of Settings.cs
* push
* Restructred some code in MonacoPreviewHandler (not functional)
* MonacoPreview changes:
Added maximal file size and error message as values in Settings.cs
Increased maxFileSize to 10 KB
Renamed variables and formed code according to style guidelines
Added many comments
Deleted usused code
Added unimplemented(?) NavigationStarted method to prevent navigation in WebView
Fixed scrollbar issues (Not beautiful, but still better)
Removed never seen laoding window
Added some debug information as well as some Exceptions.
MonacoPreviewHandler Changes:
Changed order of code executions (still not usable)
* Push
* Push
* Push
* push
* Oh my god, it works
* Added loading screen and resize
* Added some comments, changed variable names and integrated some stuff from MonacoPreview to MonacoPreviewHandler;
* Monaco Preview Handler:
* Removed accessibilityhelpurl
* Made background of loading screen like theme selected
* dev tools open now in Debug mode automatically
* Fixed error message for too big file size
* push
* Fixed a tiny bug
* Updated a NuGet Pasckage
* Removed some to-do points in FileHandler.cs and added them to #14957
* Removed some to-do points in FileHandler.cs and added them to #14957.
Supressed a warning and styled a function better in PrebiewHandlerCommon
* Fixed 2 comment typos and a font that didn't load. (Sadly his required enable CORS again :( )
* Removed old standalone project
* Removed old unused files & rebase to master #1
* Deleted everything from the monaco source code expect the minified version
* Push
* Added summary of all functions. Restructred/simplified/clarified some code.
* Added resources
* Update bug_report.yml
* Update translation_issue.yml
* Update expect.txt
* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/index.html
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/MonacoPreviewHandlerControl.cs
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* Update ProofOfConcept/MonacoPreview/monacoPreviewHandler/Resources.resx
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
* Added some additional file types
* Added additional file types
* Moved to a json file for the available languages and some other changes
* Added error message when WebView2 is not installed
* Remoing throw error
* Update expect.txt
* Update excludes.txt
* Update excludes.txt
* Integrate Monaco preview handler into PowerToys
* Update excludes.txt
* Ignore .svg extension
* Update signing list
* Update signing list #2
* Changed monaco string
* fix
* Fixed wrong JSON field and changed date of Copyright
* Added check if WebView is installed
* Added error when webview2 is not installed
* Increased file size limit to 50kb
* Added new file generator for languages.json
* Remove unvisible symbol at the beggining of the file
* Regenerate resx file
* Update MonacoPreviewHandler.csproj
* tweaking script to ignore 1.0 check on theme dll
* Update src/modules/previewpane/MonacoPreviewHandler/Properties/Resources.resx
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandlerControl.cs
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Update excludes.txt
* Update src/modules/previewpane/powerpreview/Resources.resx
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
* Check and install WebView2 if needed
* Run spellcheck script
* Update ESRPSigning_core.json
adding font
* Update versionAndSignCheck.ps1
adding fonts to verify
* Adding in Monaco usage
* Update NOTICE.md
* Update ESRPSigning_core.json
* expect.txt update
* Use Common.UI/ThemeManager.cs
* No user facing strings should reference Monaco
* Fix build error
* monaco devdocs (#15691)
* Create update-monaco-editor.md
* Update and rename update-monaco-editor.md to readme.md
* Update doc/devdocs/modules/powerpreview/monaco/readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update doc/devdocs/modules/powerpreview/monaco/readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update doc/devdocs/modules/powerpreview/monaco/readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update readme.md
* Update readme.md
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Fix WebView installer condition
* Using system.text.json
* Update ESRPSigning_core.json
* Remove Newtonsoft.Json.dll from installer
* Revert "WinUI bump (#15707)"
This reverts commit b6a207c4b6.
* Revert "Update Settings.UI.csproj (#15704)"
This reverts commit 1a25dacc73.
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Aaron Junker <aaron.junker@sus.schulen-stadtsh.ch>
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Franky Chen <franky920920+gpg@gmail.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>