* Initial src for Registry Preview
Initial collection of files
* Update MainWindow.Utilities.cs
fixing a few spelling items
* Update expect.txt
* Update App.xaml.cs
* Update MainWindow.Events.cs
* Update MainWindow.Utilities.cs
* Update MainWindow.xaml.cs
* Update expect.txt
* Update MainWindow.Events.cs
* Rename AddPreviewtoRegfile.reg to AddPreviewToRegfile.reg
* Rename RemovePreviewtoRegfile.reg to RemovePreviewToRegfile.reg
* Update Resources.resw
* Update MainWindow.xaml
* Turns on self-contained mode
Updates the csproj file to compile the app as self-contained .
Includes fixes for code that expected the app to be in an ApplicationContainer.
Updates WindowsAppSDK from 1.1.5 to 1.2.230118.102.
* Updated to align with StyleCop errors
Multiple changes across the codebase that now aligns with StyleCop guidelines.
Tested again after the changes, to make sure no new bugs crept in.
* Added comments for spell-checker
Unclear if this side step should be done or not, but the kxz comes from a GUID and the other three names are constants.
* Adding code-custom.dic
Comments didn't work; trying a dic file
* Added four new terms to expects.txt file
Cleaning up attempt to update the spell-checker with dic file and moved it to expects.txt file
* Adding one more string
Adding one more string for Spell-Check
* Adding back egfile
Seems this is needed.
* Correcting a variable name
Seems one of the variable names that changed globally got missed in a XAML file.
* Update project to be more PowerToys friendly
Tweaking names and output file name to fit better with PowerToys.
* First pass at integration into Settings and Launcher
This PR is not as large as it seems:
- RegistryPreview's source moved around to a "better" directory that makes it look like the whole app changed. It didn't. In fact, I opened it in Beyond Compare and there's not much difference in the RegistryPreview app.
- Added RegistryPreviewExt that produces a DLL that the Launcher can run the EXE
- Changes to Runner calls the Ext DLL rather than the app
- Settings UI got a bunch of changes to enable the Settings page for enable/disable across ViewModels, Views, and string tables.
Still todo:
- Add "Preview" to .REG files, when the app is enable (and remove it when disabled)
- Update the thumbnail-screenshot in the Settings page
- Add support for OOBE
* Update expect.txt
Added REGISTRYPREVIEWEXT for recent changes and corrected an alphabetic sorting error.
* Updating project file for Release mode
Build failed due to a bad Includes path in Release mode.
* Adds REG registration but breaks settings
This update will update the HKCU branch of the Registry for REG files: if the app in PowerToys is enabled, it adds a Preview item to the context menu of REG files and disabling in PowerToys removes the menu item.
While working on this, I noticed that the application settings were broken, after moving to a self-contained EXE: there must have been old settings from past builds, when it was still using containers and family names.
Added TODO's to add a new way to save settings, likely as JSON.
* Re-enabled app settings
Moved from using ApplicationDataContainer for app settings and now use simple JSON.
Also cleaned up handling the scenario where the Launcher send in the PID from PowerToys' main thread.
Fixed past spelling errors as well.
* Update RegistryPreview.png
Captured new screenshot.
* Integration into OOBE
Integrates new page for Registry Preview into OOBE process.
* Removing old comment and unneeded calls
Two bits of source removed as they aren't needed any longer
Removing a chunk of old commented out code that doesn't make sense anymore.
* Merging file from upstream
Updating some files due to three merge conflicts from upstream changes and a couple of other changes to keep up.
* Update .gitignore
Adding two vcxproj files that have local updates for atls.lib locations.
* Update Resources.resw
Fixing a typo that involved a missing closing tag.
* Fix analyzer warnings
* Fix CI build
* Fix ARM64 build
Project file cleanup
* Add to installer
* expect.txt
* Remove unneeded dll
* Update MainWindow.xaml.cs
Added check for current Theme and adjust TextBox Foreground accordingly.
* Update expect.txt
Cleaning up merge cruft.
* Revert wrong .gitignore changes
* Fix ARM installer
* Update Brushes for textBox to use Theme based versions
Finally figured out how to use the built-in, Theme-aware Brushes for the font colors in the onscreen textBox. Also have it aligning the font color for the hover state.
* Align configuration in PowerToys.sln
* [installer] Add missing files
* Fix bad merge
* Fixes for stefansjfw's review
Includes:
- two new strings for UX localization
- adds compatibility section for Windows 10
- fix to only track successful activations
- Removes two REG files that were there for examples
* Fixes from review from htcfreek
Updates:
- Fixed an issue where TextBox_TextChanged was firing when you simply opened a file.
- Added clamp to prevent files larger than 10MB from being opened.
- Added support in the UX to show Keys and Values that are deleted via the file
- Added support to specially handle Keys that start with - and Values that have =- in them (delete scenario)
- Changed AppBarButton icon for Edit from Rename to NewWindow
* Create deleted-folder32.png
* Added Registry Preview to GPO
* Update expect.txt
Updating spellchecker works
* Updating Size/Move code for better results
- Moved the size/move to the MainWindow layer
- Cleaned up the JSON settings handling to avoid an access denied on first run
* Improving text handling
Changed how special characters are parse, which helps with live entry.
* Updates to parsing and other fixes
- Renamed the value PNG for parity
- Added new error image
- Added check that values have " at start and finish.
- Added support for a new "ERROR" type for Values
- Fixed support for @ versus "@" in values
- Fixed bug where Save wasn't activating in all scernarios
* Fix signing and versioning
* Update src/settings-ui/Settings.UI/ViewModels/RegistryPreviewViewModel.cs
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Apply suggestions from code review
Adds Launch button to the settings page.
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Update Resources.resw
Adding strings for new launch button
* Adding new version for GPO
Moving to 0.69.0
* More parsing bug fixes
- Changes to look for [- instead of -[ for syntax deleting keys (fix for developer's mental hiccup)
- Moved [- to top of the decision making stack, as it needs to come before [
- Added new StripEscapedCharacters function for both sides of a Value line
- Fixed crashing bug for scenario where no Keys are parsed before a Value
* Bug fixes from most recent review.
- Dictionary will now be case insensitive when searching for keys
- Added tool tips (and strings) to the images of the Keys and Values
- Updated delete handling for Keys, so that only the leaf-most node gets marked as deleted; also stops the top most roots from being marked deleted.
* Tweaking for @=-
Forces the UX to take @=- and treat it as @="" since that's what Registry Editor would do.
* Removing unused usings
* Updates app description
* Update src/gpo/assets/PowerToys.admx
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* cleanup proj file
launch process only if module is enabled
add process to bugreport process list
* Add context menu icon
* Update src/modules/registrypreview/RegistryPreviewUI/MainWindow.Utilities.cs
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
* Use modulesRegistry.h to apply/unapply registry changes
* Tweaked window settings
Moved the loading of the settings a little later in the initialization code, which gives more time for things to initialize.
* Update registry.h
Moving the definition out of the detail namespace to the registry name space to fix a compilation issue in RegistryPreviewExt.
* Unapply on creation
If module is disabled in settings.json, on startup reg entries should be unnaplied.
TODO: read m_enabled from settings file on creation
* Removing size/move main window
Added a TODO comment that responds to the size/position settings that are being saved out in the JSON blob on close as it doesn't always work on every PC, as the MainWindow initializes at different times.
* Change to always keep Save As active
No reason for this to be disabled, honestly.
---------
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Heiko <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Init
* Fix running settings
* UI design
* Left click trigger
Wire up colorpicker and pt run
* Wire up others
* Update FlyoutWindow.xaml.cs
* Removed comments
* Update FlyoutWindow.xaml
* More work
* Open Settings page
* More UI work
* Resolve conflicts
* [General] SystemTray Flyout: Add update on tray items' visibility when module gets enabled/disabled
Also remove context menu opening on tray icon.
* Adding app list
* Adding more buttons, resolving conflicts
* [General] Flyout: improving opening, closing flyout/settings window. Implementing basic bahaviour on enabling/disabling modules.
* [General] FlyoutWindow: proceed with implementation. GPO works. Main functionallity works (launching and enabling apps).
* [general] flyout: fix exit button
* [general] flyout: implement double click handling
* Localization
* [Generel] Flyout: Re-implement flyout launching, add workaround: disable flyout hiding in case the user switches on modules on the all apps page
+ minor changes
* [general] flyout: restore the context menu when right clicking on system tray icon
* Fix spellchecker
* [installer] fixing missing dll files + suppress error on not signed script
* Fix spell checker
* Fix flyout not focusing when activated
* Refresh Settings UI enabled state when flyout changes
* fix spellcheck
* Remove VCM from the list
* [General] flyout: fix settings window opening. Switch to general page only if there is no page opened
* [general] flyout: add launching hosts app
* Fix CI build
* adding check on elevation when launching hosts
* Use localization strings that already exist
* Remove dll not present in arm64 build
* Adding GPO policy check for the launcher page items
* fix hosts launching
* Add telemetry
* Also hide from all apps list when gpo is force enabling
* fix spellchecker
* Improve focus issues
* Fix flickering Bitmap Icons
* Fix telemetry error
* Fix telemetry call
* Fix wrong comment
---------
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Laszlo Nemeth <laszlo.nemeth.hu@gmail.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* Remove unused Newtonsoft.Json package references
Replace with System.Text.Json in Settings test
* spellcheck
* Remove obsolete test
* Revert settings part
* Revert "Revert settings part"
This reverts commit ad2934ce0b.
* Increase JS heap size in CI
* Update projects to .NET 7
* Updated packages to 7.0-rc1
* [ColorPicker] Wrap WM_KEYUP param in unchecked context
* [PTRun][OneNote] Added a NoWarn to CS8981
* [MeasureTool] Wrap buffer in wstring_view in SetClipBoardToText
* Target .NET 7 for PowerToys.Interop
* Update publish profiles
* Removed System.Text.Json.dll from Product.wxs since it's included in .NET 7
* Use .NET 7 in CI
* Removed individual CodeAnalysis package from projects
* Updated CodeAnalysis package in Directory.Build.props
* Updated NuGet packages to latest 7.0 rc2
* Fix merge mistake with Settings.UI.Library project
* Updated installer with .NET 7 RC2 install
* [GPOWrapper] Updated GPOWrapperProjection to .NET 7
* [FileLockSmith] Updated to .NET 7
* [FileLocksmith] Update Interop to .NET 7
* Upgrade .NET 7 specific libraries to GA version
* [PowerToysSetup] Updated .NET 7 urls to GA
* [CI] removed .NET 7 SDK preview version from UseDotNet task
* [PowerToysSetup] Update HasDotnet variable name
* [PowerToysInterop] Downgrade target back to .NET 6
* [FileLockSmith] Downgrade Interop library back to .NET 6
* Revert "[FileLockSmith] Downgrade Interop library back to .NET 6"
This reverts commit 356ad048e3.
* Revert "[PowerToysInterop] Downgrade target back to .NET 6"
This reverts commit 74dbcfdefe.
* [Analyzers][CPP] Disable warning for 4679 caused by .NET 7 in C++/CLI
* [CI] Set maximum cpu count to 2 for PowerToys.sln build
* [CI] Set maximumCpuCount to false in hopes of arm64 working
* Changed .NET 7 runtime display name
* [ci] Use .net 7 sdk
* Analyzers CPP
Changing the warning level from 3 to 4.
change some project files to make them use the warning config in cpp props file.
* Analyzers C++ turn on warning 4706
Change Cpp.Build.props file to enable 4706
fix BugReportTool code to get rid of 4706
* Turn on warning 4100 and fix the code
* Follow c++ core guidelines
* Adapting to PR comments
* Init commit
* Fix unintended GUID change of Microsoft.PowerToys.Run.Plugin.TimeZone.UnitTests
* Region and click word working
* Code style
* Close even when there is no result from the OCR
* Fix spelling concerns, and make overlay black to match snipping tool
* increase opacity of overlay to match snipping tool
* Code Style and cleanup
* Code style
* Create Logos and hook them into the project file
* Make the PowerOCR VCXProj more like Awake VCXProj
* Rename MainWindow to OCROverlay
* Add WindowUtilities and WindowForms
* Remove fsg to fix spelling error
* launch OCR Overlay on every screen
* Add PowerOCR to Runner Main.cpp
* Add PowerOCR Settings and Properties
* Add PowerOcrViewModel
* Fix wrong setting reference in PowerOcrSettingsVM
* Try to clean up the Cpp project for PowerOCR
* Went to ARM64 was x64 thanks @snickler
* Clean up PowerOCR C++ Proj with file refs
* Rewrite C++ dllmain comparing to awake
* Changes for spelling issues. The rest will stay
* Create PowerOcr Settings Page and add to settings shell
* Fix PowerOcr Settings
* Fix multi-monitor scaling issue
* Add close all overlays when escaping
* Update src/runner/main.cpp to call correct Power OCR dll
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
* Update expect.txt
* Add many files from Color Picker for hotkey activation
* Organize project into helper folder
* Use new hotkey activation and keep process alive
* Fix bug where scalebmp wasn't working
* Add The file headers and dispose app.xaml.cs
* Code style changes
* Fix bug where PowerOCR was toggling Awake
* Unsubscribe from keyboard events making they don't fire twice
* Add SndPowerOcrSetting and add to SettingsVM
* Trying to make the runner close PowerOCR when runner closes
* Fix app_name
* Update spellcheck expect
* use mutex on PowerOCR app to keep to single instance
* Rebuild the module interface using ColorPicker as a template.
Process still stays alive.
* Fix project names of the module interface
* Put app startup args back to 0 like color picker
* Runner now finds and enables/disables PowerOCR
* remove unneeded item groups from settings proj, per stefansjfw
* Add PowerOCR Screenshots
* Revert changed project GUID
* Add OOBE content for PowerOCR
* Keep cursor on one screen since the OCR window does not span screens.
* reload settings when activation key is pressed
* New screenshots and OOBE text
* Add PowerOCR as a case in the settings App.xaml.cs OnLaunched
* Settings and OOBE Text Changes
* Using using on bitmaps and change OCR overlay to stay open if no result
* Keyboard activation is handled is true
* Remove unused start PowerOCR OOBE Method
* [PowerOCR]Add some telemetry
* Add some logging
* Don't recreate the OCR overlay Windows more times
* Add to BugReportTool to get event viewer errors
* Fix wrong comment
* Fix another comment
* Add files to installer
* Add to signing
* Don't take Esc away from other apps
* Default to Win Shift R
* Use low level keyboard hook from runner
* Remove esc from local low level keyboard hook
* Fix some nits
* Default to Win Shift T
* [ARM64] Cleanup PowerToys solution configuration
* [ARM64] Add Bootstrapper support
known issues:
- wix doesn't have arm platform -> using x86 instead, resulting in wrong default installation dir and inability to detect 605
- current winappsdk 1.0.3 installer is corrupted -> contains x64 packages
- we're still using hardcoded vcredist for some modules
* Remove duplicate Stylecop PackageReference
* [ARM64] Cleanup StylesReportTool configuration
* [ARM64] fix configurations for bootstrapper
* fixes
* [ARM64] VCM fix
* [ARM64] Fix LinkIncremental conditional in StylesReportTool
* fix#2
* perfect forwarding
* [ARM64] Switch to call vformat to compile with later MSVC toolkits
* Updated expect
Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
* Removed x64 specific conditions
* Added RuntimeIdentifiers and ensured Platforms aligned
* Removed x64 specific configuration and normalized PropertyGroup configuration
* Removed Platform conditions from ItemDefinition and Property Group
* Adding Project Configurations to PowerToys.Interop
* Updated solution config for common projects
* [VCM] Track newly added microphones when [All] is selected in the settings
* [VCM] handle case when no mics are left
* fixup: fix crashes onNotify
* fixup: fix build
* Update nuget packages
* try to fix build (Microsoft.UI.Xaml)
* Removed dlls because there are not needed anymore
* Add binaries System.Text.Json.dll (5x) to wxs file
* Downgrade System.IO.Abstractions.* due to breaking changes
* Update Microsoft.NET.Test.Sdk
* Revert MSTest.* to 2.2.3
* Update release.yml
* Update ColorPickerUI.csproj
* Update release.yml
adding in .net6 sdk and moving stuff sooner
* Update release.yml
* Update release.yml
* fixing test
* Forcing vs17 and adding in .net 6 sdk
* forcing pool
* fixing issues in each pipeline
* moving release .net up
* fixing diff on agent version for nuget installer
* Removing system.text.json.dll as included now
* getting unit tests it looks like to work
* updating everythign to .net 6 minus wxs for runtime
* unit test still have
* getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ....
* found i think the last .net 5 issue
* looks like i wasn't aggressive enough with the 6.0 upgrade
* Getting stuff .net 6 buildable again
* tweaking with new stuff for installer
* Update newly added merged projects to .net 6
* Fix HeatDirectory bug on VS 2022
* Settings still needs JSON dependency
* Revert "getting 6.0 stuff up and going. Terminal Unit tests have file max length issue ...."
This reverts commit b9cb4586dc.
* Update sln version
* supress obsolete warning, since this is not a new development
* Partially Revert "Getting stuff .net 6 buildable again"
This reverts commit 42b4201c6b.
* supress another obsolete warning, since this is not a new development
* Reduce the unit test project name to avoid MAX PATH in CI
* Upgrade project's toolset in the main solution
* Some TODOs to review HttpClient usage
* Upgrade project toolsets from other solutions
* Install .net 6 instead of .net 5
* Fix issue when disabling PowerToys Run on .net framework 6
* Update docs for Visual Studio 2022
* PR comments: manually upgrade missing VS 2019 references
* Discard no discard values to solve compiler warnings
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
* PowerRename new UI
* Add scrollviewer
* Don't deploy PowerRenameUI_new
* Visual updates
* Visual updates
* Updates
* Update Resources.resw
* Added docs button
* Update MainWindow.xaml
* Wire Docs button
* RegEx -> regular expressions
* Update Show only renamed list on search/replace text changed
* Update Show only renamed list on search/replace text changed - proper fix
Set searchTerm to NULL when cleared - fix Show only renamed files on clear searchTerm
* Files/folders input error handling
* Fix renaming with keeping UI window opened
After renaming folder, all of it's children need path update.
Without path update, further renaming of children items would
fail.
* Update only children, not all items with greater depth
* Fix dictionary false positives
* Remove .NET dep
* Rename PowerRenameUI_new to PowerRenameUILib
Rename executable PowerRenameUIHost to PowerRename
Co-authored-by: Laute <Niels.Laute@philips.com>
- Don't depend on System.Windows.Forms in the Settings -> use callback instead
- Fix overlay image setting saving
- Use dynamic DLL loading in Interop
- Load VCM only when mf.dll is available
* Change how background threads operate
This should reduce CPU usage.
* Well there is just no need for the console here
* Need to keep the full name sanitized
* Update the changes to console handling
* Updating how we handle constants
* Fix process termination logic
* Making some tweaks to the termination logic
* Update how the process is tracked
* Updating how application closing is done for Awake.
* Update with explicit types
* Fix high CPU usage for timed keep awake.
* Logging typo fix.
* Update some of the timer logic.
* Fix variable naming for consistency
* Cleanup the C++ interface
* Cleanup the code a bit
This change introduces support for:
- Proper event handling across the two apps (Awake and runner).
- Removal of unnecessary functions.
* Cleaning up the code even further
* Remove unnecessary functions