[New PowerToy] OCR PowerToy (#19172)

* 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
This commit is contained in:
Joseph Finney
2022-08-25 05:25:52 -05:00
committed by GitHub
parent 768603eb61
commit eedea3159c
64 changed files with 3040 additions and 16 deletions

View File

@@ -2164,6 +2164,39 @@ From there, simply click on one of the supported files in the File Explorer and
<data name="AlwaysOnTop_RoundCorners.Content" xml:space="preserve">
<value>Enable round corners</value>
</data>
<data name="LearnMore_PowerOcr.Text" xml:space="preserve">
<value>Learn more about PowerOCR</value>
</data>
<data name="PowerOCR.ModuleDescription" xml:space="preserve">
<value>PowerOCR is a convenient way to copy text from anywhere on screen</value>
</data>
<data name="PowerOCR.ModuleTitle" xml:space="preserve">
<value>PowerOCR</value>
</data>
<data name="PowerOCR_EnableToggleControl_HeaderText.Header" xml:space="preserve">
<value>Enable PowerOCR</value>
</data>
<data name="Shell_PowerOcr.Content" xml:space="preserve">
<value>PowerOCR</value>
</data>
<data name="Launch_PowerOCR.Content" xml:space="preserve">
<value>Launch PowerOCR</value>
</data>
<data name="Oobe_PowerOCR.Title" xml:space="preserve">
<value>PowerOCR</value>
</data>
<data name="Oobe_PowerOCR_HowToUse.Text" xml:space="preserve">
<value>to open PowerOCR and then selecting a region to copy the text from.</value>
</data>
<data name="Oobe_PowerOCR_TipsAndTricks.Text" xml:space="preserve">
<value>Hold the shift key to move the selection region around.</value>
</data>
<data name="PowerOCR.SecondaryLinksHeader" xml:space="preserve">
<value>Attribution</value>
</data>
<data name="Oobe_PowerOCR.Description" xml:space="preserve">
<value>PowerOCR works like Snipping Tool, but copies the text out of the selected region using OCR and puts it on the clipboard.</value>
</data>
<data name="FileExplorerPreview_ToggleSwitch_Monaco_Try_Format.Description" xml:space="preserve">
<value>Applies to json and xml. Files remain unchanged.</value>
</data>