Commit Graph

3788 Commits

Author SHA1 Message Date
Davide Giacometti
cd6178763d
[Chore]Update test packages and StyleCop (#27708)
* update test packages and StyleCop

* bumped versions
2023-08-06 15:29:36 +01:00
Laszlo Nemeth
185ebad2f0
[PTRun]Fix search being abandoned while cycling results (#27409)
* [Launcher] ignoring key preses while previous key press processing is ongoing

* extending TextChangedEventArgs with Initiator, storing and using initiator for the event lifetime to avoid overwriting of the initiator when parallel events occur.

* extending code with check on event object presence
2023-08-06 15:22:33 +01:00
Stefan Markovic
159bf7455d
Replace PowerRename OOBE gif (#27829) 2023-08-04 17:43:53 +02:00
ChaseKnowlden
bcaca188b4
Replace PowerRename GIF (#27499)
* Replace PowerRename GIF

* Update PowerRename GIF

* Reduce size of gif

* Reduce GIF to 700x251
2023-08-04 15:35:46 +02:00
Anders
d4213c3e30
Missing CoUninitialize (#27732) 2023-08-03 19:44:17 +02:00
Anders
b54a7c3b0b
[Runner] Unnecessary RegisterWindowMessage (#27728) 2023-08-03 19:43:55 +02:00
sh0ckj0ckey
be9ed7536b
[Settings] Solving Hook-related problems with modifier keys appearing at ShortcutControl (#27513) 2023-08-03 12:13:35 +02:00
Jay
655a8baed3
[KBM]More specific labels to avoid confusion (#25774)
* Update strings

* add one change

* use "select" as verb
2023-08-03 10:58:31 +01:00
Jaime Bernardo
a1f21fd6f3
[MWB]Fix crash when trying to read null settings (#27682) 2023-07-31 09:14:11 +01:00
Andrey Nekrasov
3a03ff034f
[Runner]Delay update toast for Windows to refresh toast settings (#27671) 2023-07-28 16:23:54 +01:00
Jaime Bernardo
3e0aaced48
[OOBE]Fix crash in Launch Shortcut Guide button (#27668) 2023-07-28 14:25:38 +01:00
Stefan Markovic
a80bc8afe1
Revert "Use guid to identify icon (#27570)" (#27669)
This reverts commit 4bf031d28f.
2023-07-28 13:43:32 +02:00
Davide Giacometti
de96c897dc
[Run][PowerToys]Plugin enabled by default (#27642) 2023-07-27 10:31:49 +01:00
Stefan Markovic
f31cced930
[Settings - PowerRenamePage] Add info about extended context menu (#27639)
* [Settings - PowerRenamePage] Add info about extended context menu

* Remove styling for easy review

* IsExpanded=False

* Add infobar to FileLocksmith settings page as well

* Address comment
2023-07-26 22:47:54 +02:00
gokcekantarci
a9d129aa5a
[Quick Accent]Left/Right key action normal behaviour added for less than input delay(#27604)
* [Quick Accent] - Left/Right key action normal behaviour added for less than input delay.
- Showing toolbar bug is resolved.

* [Quick Accent] Used spaces instead of tabs
2023-07-26 17:05:21 +01:00
gokcekantarci
eb91e8977e
[PTRun]Lock mechanism added to GetLocalizedName (#27550)
* [PTRun] Lock mechanism added to GetLocalizedName.

* [PTRun] Dictionary replaced with ConcurrentDictionary instead of using lock.

* [PTRun] Ignoring TryAdd function result.
2023-07-26 16:48:05 +01:00
hayatogh
a71411d931
[MouseHighlighter]Add always-on pointer (#27186)
* [MouseHighlighter]Add always pointer

Make color pick UI ARGB
Delete Opacity setting

* Fix opacity and color

Fix "always color" incorrectly initialized
Revert default opacity to 65%, which was unintentionally lowered to 25% when
changing to percent

* Fix crash when opening MouseUtils settings page

Migration code was bugged, made malformed json and led to settings page crash.

* Implement migration in module side
2023-07-26 15:48:00 +01:00
Andrey Nekrasov
a99b2e0bc0
[MWB]Migrate to PowerToys-style shortcuts and better defaults(#27442)
* [MWB] Migrate to PowerToys-style shortcuts and disable Ctrlx3 for multiple mode

* f: analyzer fixes

* f: add Win to all default shortcuts

* f: remove capture screen feature

* f: add ability to disable shortcut

* f: restrict disabling shortcuts only for MWB for now, because we don't explicitly support this feature anywhere else

* handle downgrade->upgrade scenario

* f: res loader

* f: fix disabled state

* f: fix L hotkey handling
2023-07-26 12:46:41 +01:00
Stefan Markovic
61aa0a1f79
[FancyZones] Add setting to use mouse middle-click to toggle multiple zones spanning (#27603) 2023-07-25 16:48:59 +02:00
Jaime Bernardo
5a48709dc8
[Settings]Remove expander in File Locksmith page (#27621) 2023-07-25 15:27:09 +01:00
Davide Giacometti
e02ceaa8d0
[Run][WindowWalker]Improve EnumWindows synchronization (#27490) 2023-07-25 14:15:34 +01:00
Jaime Bernardo
082c312325
[Runner]ask to restart the computer after update (#27607)
* [Runner]Ask to restart the computer after update

* More detailed explanation on why the restart
2023-07-25 12:27:53 +01:00
gokcekantarci
75cac46ed3
[Peek]FlowDirection.LeftToRight added to prevent RTL language mirroring (#27258)
* [Peek] FlowDirection.LeftToRight added to prevent RTL language mirroring.

* [Peek] Dynamic layout updates applied to title bar for RTL/LTR language support
2023-07-24 14:23:22 +01:00
gokcekantarci
a97e59396d
[PTRun]ImageCache getter KeyNotFoundException fix (#27405)
* [PTRun] Replace direct dictionary access with TryGetValue in ImageCache getter for KeyNotFoundException fix.

* [PTRun] - Log added to ImageCache getter.
- Lock mechanism added to GetLocalizedName.

* [PTRun] Lock mechanism added to GetLocalizedName. Revert
2023-07-24 13:08:39 +01:00
Stefan Markovic
4bf031d28f
Use guid to identify icon (#27570) 2023-07-24 13:50:30 +02:00
Andrey Nekrasov
187f0e3c8e
[FileLocksmith] copy cpp runtime dlls to WinUI3Apps (#27565) 2023-07-21 16:05:20 +02:00
Jaime Bernardo
864b862952
[General]Reduce installer size by flattening application paths (#27451)
* Flatten everything and succeed build

* Figure out Settings assets

* Remove UseCommonOutputDirectory tag

* Proper settings app path

* [VCM] Fix assets location

* Fix some runtime paths

* [RegistryPreview]Use MRTCore specific pri file

* [Hosts]Use MRTCore specific pri file

* [Settings]Use MRTCore specific pri file

* [Peek]Use MRTCore specific pri file

* [FileLocksmith]Use MRTCore specific pri file

* [ScreenRuler]Use MRTCore specific pri file

* [PowerRename]Use MRTCore specific pri file

* [Peek]Move assets to own folder

* [FileLocksmith] Use own Assets path

* [Hosts]Use own assets folder

* [PowerRename]Use own assets dir

* [MeasureTool] Use its own assets folder

* [ImageResizer]Use its own assets path

* Fix spellcheck

* Fix tab instead of space in project files

* Normalize target frameworks and platforms

* Remove WINRT_NO_MAKE_DETECTION flag. No longer needed?

* Fix AOT and Hosts locations

* Fix Dll version differences on dependency

* Add Common.UI.csproj as refernce to fix dll versions

* Update ControlzEx to normalize dll versions

* Update System.Management version to 7.0.2

* Add GPOWrapper to Registry Preview to fix dll versions

* [PTRun]Reference Microsoft.Extensions.Hosting to fix dll versions

* Fix remaining output paths / dll version conflicts

* [KeyboardManager]Executables still on their own directories

* Fix Monaco paths

* WinAppSDK apps get to play outside again

* Enable VCM settings again

* Fix KBM Editor path again

* [Monaco]Set to own Assets dir

* Fix installer preamble; Fix publish. remove unneeded publishes

* Remove Hardlink functions

* Installer builds again (still needs work to work)

* Readd Monaco to spellcheck excludes

* Fix spellcheck and call publish.cmd again

* [Installer] Remove components that don't need own dirs

* [Installer] Refactor Power Launcher

* [Installer] Refactor Color Picker

* [Installer] Refactor Monaco assets

* [Installer]Generate File script no longer needs to remove files

* [Installer]Refactor FileLocksmith

* [Installer] Refactor Hosts

* [Installer]Refactor Image Resizer

* [Installer]Refactor MouseUtils

* [Installer]Refactor MWB

* [Installer]Refactor MeasureTool

* [Installer]Refactor Peek

* [Installer]Refactor PowerRename and registry fixes

* [Installer]Refactor RegistryPreview

* [Installer]Refactor ShortcutGuide

* [Installer]Refactor Settings

* [Installer]Clean up some unused stuff

* [Installer]Clean up stuff for user install

* [Installer]Fix WinUi3Apps wxs

* [Installer]Fix misplaced folders

* [Installer]Move x86 VCM dll to right path

* Fix monaco language list location

* [Installer]Fix VCM directory reference

* [CI]Fix signing

* [Installer] Fix resources folder for release CI

* [ci]Looks like we still ship NLog on PowerToys Run

* [Settings]Add dependency to avoid dll collision with Experimentation

* [RegistryPreview]Move XAML files to own path

* [RegistryPreview]Fix app icon

* [Hosts]Move XAML files to their own path

* [FileLocksmith]Move XAML files to their own path

* [Peek]Move XAML files to own path

* [ScreenRuler]Move XAML files to its own path

* [Settings]Move XAML to its own path

* [ColorPicker]Move Resources to Assets

* [ShortcutGuide]Move svgs to own Assets path

* [Awake]Move images to assets path

* [Runner]Remove debug checks for PowerToys Run assets

* [PTRun]Move images to its own assets path

* [ImageResizer]Icon for context menu on own assets path

* [PowerRename]Move ico to its own path

* Remove unneeded intermediary directories

* Remove further int dirs

* Move tests to its own output path

* Fix spellcheck

* spellcheck: remove warnings

* [CppAnalyzers]Ignore rule in a tool

* [CI]Check if all deps.json files reference same versions

* fix spellcheck

* [ci]Fix task identation

* [ci]Add script to guard against asset conflicts

* [ci]Add more deps.json audit steps in the release build

* Add xbf to spellcheck expects

* Fix typo in asset conflict check scripts

* Fix some more dependency conflicts

* Downgrade CsWinRT to have the same dll version as sdk

* [ci]Do a recursive check for every deps.json

* Fix spellcheck error inside comment

* [ci]Fix asset script error

* [ci]Name deps.json verify tasks a bit better

* [ci]Improve deps json verify script output

* [ci]Update WinRT version to the same running in CI

* Also upgrade CsWinRT in NOTICE.MD

* [PowerRename]Move XAML files to own path

* [Common]Fix Settings executable path

* [ci]Verify there's no xbf files in app directories

* [installer]Fix firewall path

* [Monaco]Move new files to their proper assets path

* [Monaco]Fix paths for new files after merge

* [Feedback]Removed unneeded build conditions

* [Feedback]Clear vcxproj direct reference to frameworks

* [Feedback]RunPlugins name to hold PTRun plugins

* [Feedback]Remove unneeded foreach

* [Feedback]Shortcut Guide svgs with ** in project file

* [Feedback]Fix spellcheck
2023-07-20 00:12:46 +01:00
Epp-code
1f44085e41
[MousePointerCrosshairs]Added a fixed length option (#27471)
* #19638 Added the option to Mouse Crosshairs to fix the lengths of the crosshairs. Some discussion about design in the issue but currently implemented as a configuration toggle and separate length input.

* Fixed crosshairs fixed lengthed enabled not being read on view model initialization
2023-07-19 15:24:47 +01:00
Niels Laute
e44d63451f
[UI]Add missing icon assets, scales and Peek icon refresh (#27440)
* File Locksmith

* Replacing more assets

* Fixing image dimensions
2023-07-19 15:11:55 +01:00
Niels Laute
cc3b30c7e2
[PowerRename] Adding mica (#27509)
* Adding mica + other improvements

* Address feedback
2023-07-19 15:28:32 +02:00
Jay
4647491c68
Registry Preview UI (#27266)
* Registry Preview

* CommandBar

* titlebar and font size

* titlebar text foreground

* apply feedback

* apply feedback

* fix spacing
2023-07-19 07:47:34 +02:00
Jay
9ceb71a550
Hosts UI (#27268)
* Hosts UI

title bar, string, sizes

* titlebar text color

* adress feedback

* adress feedback

* add window icon and title

* solve InfoBar problem
2023-07-19 07:45:53 +02:00
Jay
4463165bf9
FileLocksmith UI (#27263)
* FileLocksmith

* Titlebar updates

* titlebar text color

* titlebar text color

* Titlebar updates

center

* titlebar code

* fix ContentDialog

* Adress feedback
2023-07-19 07:40:38 +02:00
Davide Giacometti
65916fd51a
[Peek]Delayed activation of the Peek window (#27444) 2023-07-18 15:28:41 +01:00
Davide Giacometti
7e4e8f59bb
[Mouse Crosshairs] Hide crosshairs when cursor hides (#27381)
* hide crosshairs when cursor hides

* fix formatting
2023-07-18 13:33:32 +01:00
Seraphima Zykova
ed44db25e3
[FancyZones]"Switch between windows in the current zone" works after disabling fix (#27416)
* update hotkeys on setting change

* next tab hotkey
2023-07-18 11:54:43 +01:00
Tudor Croitoru
602368f6cc
[PTRun]New plugin: Value generator with hashing functions (#26097)
* Add hashing plugin for Run

* Cleanup logic for hasher plugin

- The IComputeRequest interface should make it easier to implement new
  generators in the future
- The GUID generator can now generate all versions of GUID (a.k.a. UUID)
- The input for the hash functions is not quite right. The
  Wox.Plugin.Query class doesn't actually have a way to ge the raw query
  as given by the user. The issue is with multiple spaces. An input like
  "a a  a    a    a" would only be accessible as "a a a a a" using the
  Query class.
  So for now, hashing only works correctly if the input
  doesn't contain multiple consecutive spaces.
- Need a way to make clear the usage for generating GUIDv3 and v5, since
  they take 2 parameters. There are defaults, but they aren't very
  clear.

* Change plugin name to ValueGenerator

* Clean up error handling for the input parser

* Add result type and description to subtitle

* Change the icons

* Add Base64 encoding and unit tests

This commit adds Base64 encoding as a utility of the value generator
plugin. The command is `# base64 ***input***`.

Also added unit tests for the UUID/GUID generator and for the input
parser. I don't think tests are necessary for the hashing functions
or for the base64 encoder, since those were part of the the system
libraries.

I'll open a PR for the documentation tomorrow and mark this draft
for review.

* Excluded UUIDv2

* Change icons

* Add RawUserQuery to Wox.Plugin.Query

Getting the RawUserQuery is necessary to be able to handle queries like
`# md5 a    a`, where the intent is to get the hash for `a    a`.
The existing `RawQuery` removes consecutive whitespaces and there was no
other way of getting the request as entered by the user.

* Add ValueGenerator plugin to installer

Also add the unit tests for the plugin to the pipeline.

* Small cleanup

* Fix spelling

* Fix spelling again

* Spell check for guiddata

* More fixes

This commit adds the dev docs explaining the classes in the new plugin.
It also fixes the following issues:
1. ValueGenerator was not a dependency for the PowerLauncher project
2. The error message for an invalid SHA variant now displays the
   supported SHA variants
3. Hash requests now wait for a string to hash (i.e. no longer hash an
   empty string)
4. GUID v3 and v5 namespace aliases allow lowercase notation
5. Unnecessary debug logs
6. An empty query will now just log "Empty request"
7. An invalid query will also log user query

* Spell check fix again

* Change error message for unsupported GUID versions

* Remove Any CPU from the solution

* Add to installer

* Remove duplicated ValueGeneratorPluginFolder entry
2023-07-18 10:44:02 +01:00
Aaron Junker
704c2e0540
Update monaco package (#26375)
* Update monaco

* Update monaco_labgzages.json

* Update monaco_languages

* Add script to generate MonacoSRC.wxs

* Fix merge conflicts

* Auto-generate MonacoSRC.wxs

* Add guards when parsing json file

* Change language definitions to new ones and fix context menu

* Fix redunant error message

* update monaco_languages.json

* Remove json from custom txt extensions

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
2023-07-14 11:48:59 +02:00
Davide Giacometti
b0cb40eaff
[Hosts] Consolidate launch (#27173)
* consolidate hosts editor launch

* improve readability

* improve readability
2023-07-14 09:56:50 +02:00
Andrey Nekrasov
53e104e858
[PowerRename] Handle many items w/o crashing and OOM (#26761)
* [PowerRename] Disable AnimatedIcon (check mark) for CheckBox to prevent crashes
* [PowerRename] Implement lightweight ExplorerItemsSource/VM
2023-07-13 18:42:08 +02:00
Davide Giacometti
bf0d442770
[PTRun]Shift+Tab navigation fixes (#26987) 2023-07-12 13:51:55 +01:00
Khurram Jalil
7b00c6155e
Update frmMatrix.Designer.cs (#27303)
Fix #27066
2023-07-12 13:08:07 +02:00
Khurram Jalil
3947e8453b
Update Resources.resw (#27302)
Fix: #27066
2023-07-12 13:07:42 +02:00
Stefan Markovic
9ad50161dc
[FileLocksmith] Fix issue causing explorer to crash (#27335)
Remove unneeded registry key
Align context menu handler logic with other modules
2023-07-12 12:24:58 +02:00
Jaime Bernardo
4e9f4e57db
[MWB]Update the service's path on a new install (#27361)
* [MWB]Update service path between installs

* Show only the new message forcibly
2023-07-11 21:14:47 +01:00
Sam Mercer
394c050a9d
[PTRun]Input Smoothing Default value as recommended (#27288)
Included is enabled logic

Co-authored-by: Sam Mercer <sam.mercer@globalviewsystems.co.uk>
2023-07-11 15:15:06 +01:00
Jay
6975c4ca35
Measure Tool UI (#27265)
sizes and strings
2023-07-11 16:13:01 +02:00
Sam Mercer
001f68677d
Added U+1E0D to all lanaguages character set (#27310)
Co-authored-by: Sam Mercer <sam.mercer@globalviewsystems.co.uk>
2023-07-11 13:33:34 +02:00
Andrey Nekrasov
c3c15ffad1
[MWB] Use UWP API to inject mouse input (#27229)
* [MWB] Use UWP API to inject mouse input
2023-07-10 18:32:20 +02:00
Randy
e2d65dcb84
Update MainWindow.Utilities.cs (#27235)
Fix for #27234
2023-07-07 13:15:47 +02:00
4qwerty7
8ccbb694dd
[Registry Preview] Fix the issue of saving files without truncation (#27113) 2023-07-01 14:10:44 -07:00
Stefan Markovic
2dcaa526cb
Revert "Revert "[File Explorer Add-ons] Fix file preview pane flickering on f… (#27093)" (#27122)
This reverts commit 217f3f9ff3.
2023-06-30 18:44:12 +02:00
Laszlo Nemeth
03a5a4200e
[Installer] add priority settings to the task scheduler PT task. (#27058)
* Installer: add priority settings to the task scheduler PT task.

* Add priority settings for task creation (for Task Scheduler) to the runner as well

* Modifying priority value
2023-06-30 15:23:02 +02:00
Heiko
148f1df56c
Update comment in EnvironmentHelper.cs (#27089)
* Update comment in EnvironmentHelper.cs

* fix typo
2023-06-30 11:06:03 +02:00
Andrey Nekrasov
cc83e2b3ee
[Peek] Handle ThemeListener ctor exceptions (#27110) 2023-06-30 10:50:12 +02:00
Stefan Markovic
217f3f9ff3
Revert "[File Explorer Add-ons] Fix file preview pane flickering on f… (#27093)
* Revert "[File Explorer Add-ons] Fix file preview pane flickering on file selection and resizing (#26660)"

This reverts commit 9581cd7a27.

* Revert "[Build][FileExplorer]Add missing dwmapi.lib to Debug config (#26940)"

This reverts commit d190934d61.

* Revert "[Build]Fix dwamapi.lib linking error on VS (#26870)"

This reverts commit c7f8b696a6.
2023-06-28 21:57:03 +02:00
Heiko
63c624b273
[Run] Fix environment helper for nested environment variables (#27034)
* Updates to EnvironmentHelper

* Revert "Updates to EnvironmentHelper"

This reverts commit 8af2441c34.

* Environment helper fix

* clean up usings

* fix spelling

* Update comment

* Update src/modules/launcher/PowerLauncher/Helper/EnvironmentHelper.cs

* Update src/modules/launcher/PowerLauncher/Helper/EnvironmentHelper.cs
2023-06-28 11:44:13 +02:00
Davide Giacometti
6ba8596d52
[Peek] Support for archives (#26839)
* support for archives in peek

* fix spellcheck

* horizontal scrolling

* fix height

* removed redundant helper
2023-06-28 09:38:53 +02:00
Seraphima Zykova
67ce81ded8
[Peek] Handle crash when opening app for Internet shortcuts (#26680)
* null check

* launch uri
2023-06-26 17:19:44 +02:00
Seraphima Zykova
397178deec
[FancyZones] Fix blank layout error (#26828) 2023-06-26 16:14:14 +02:00
gokcekantarci
1b9094ae2b
[Registry Preview] * Two settings folders reduces to one. (#26842)
* [Registry Preview] * Two settings folders reduces to one.
* Two settings files reduced to one.
* Folder creation if not exist added.

* Add size/position properties to fix saving from Settings app

* Separate settings.json and app-placement.json

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
2023-06-26 12:45:52 +02:00
Seraphima Zykova
8dcdcbaa37
[FancyZones] Retry monitor identification attempt (#27005)
* retry monitor identification

* check displays after retries

* reduce waiting time

* 30ms waiting time

* keep fallback values
2023-06-23 22:02:36 +02:00
Davide Giacometti
9511d17063
[Hosts] Handle maximum of 9 hosts per entry (#26862)
* handle maximum of 9 hosts per entry

* splitted entries teaching tip

* fix entry

* message changed
2023-06-23 21:54:45 +02:00
gokcekantarci
8cb632a0c2
[QuickAccent] A check is added to applications running under other ap… (#26808)
* [QuickAccent] A check is added to applications running under other applications with window name for excluding.

* [QuickAccent] Check moved under a general function and applied all modules includes excludeapp

* [QuickAccent] Function name revised

* [QuickAccent] check_excluded_app_with_title function moved to excluded_apps.h

* [QuickAccent] New function created for clean code.

* Reuse check_excluded_app_with_title

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
2023-06-23 21:53:15 +02:00
Jaime Bernardo
b8a253fda6
[PTRun]Remove unneeded registry key from installer (#27011) 2023-06-23 21:49:01 +02:00
Heiko
a32d6a688c
[Peek] Window improvements (#26924)
* add min window size

* addd tool tip

* add more tool tips

* update window size and comment

* remove comment
2023-06-22 17:51:25 +02:00
Seraphima Zykova
cfaa3670db
[FancyZones] Fix zone activation when the cursor is not moved (#26943) 2023-06-22 17:05:55 +02:00
Davide Giacometti
08215a8a77
Cleanup and NullReferenceException fix (#26956) 2023-06-22 14:28:13 +02:00
Sven
46ed52eab6
[Settings] Reset Activation Key to Default Value (#26449)
* Add Default Value field to all controls

* Add reset button to Control field

* Improve button
Improve appearance
Add ToolTipService
Add AutomationProperties

* Move Reset button to Shortcut Dialog

* Fix Video Conferencing crash

* Change `Use Default` to `Reset`
2023-06-20 14:42:04 +01:00
Jaime Bernardo
c598d93ad3
[PTRun]Remove default images (app.dark.png fix) (#26843) 2023-06-19 20:15:12 +01:00
Stefan Markovic
d190934d61
[Build][FileExplorer]Add missing dwmapi.lib to Debug config (#26940) 2023-06-19 11:14:40 +01:00
Jaime Bernardo
c7f8b696a6
[Build]Fix dwamapi.lib linking error on VS (#26870) 2023-06-15 18:15:36 +01:00
Chek Wei Tan
9581cd7a27
[File Explorer Add-ons] Fix file preview pane flickering on file selection and resizing (#26660)
* Move color values to constant

* Fix MonacoPreview flickering on file selection and resizing

* Fix MarkdownPreview flickering on file selection and resizing

* Fix SvgPreview flickering on file selection and resizing

* Create Settings class and standardize background setting for MarkdownPreview

* Replace ColorTranslator.FromHtml with Color.FromArgb for constant color settings

* Use existing SetBackground

* Remove duplicate GetTheme function

* Update src/modules/previewpane/MarkdownPreviewHandler/Settings.cs
2023-06-14 14:15:17 +01:00
gokcekantarci
6ece812103
[Settings]Better errors when failing to backup (#26762)
* [Settings] settings.json files broken error is updated.

* [Settings] Related optional messages added to error logs

* Update src/settings-ui/Settings.UI/Strings/en-us/Resources.resw
2023-06-14 10:56:56 +01:00
Laszlo Nemeth
2f130bcc62
[Runner]Fix network errors when checking for updates (#26742)
* General: re-implementing network error handling

* Remove unreferenced dead code

* Minor modification in the update procedure. Removing the code part which updates the UI before the real check on new version. UI will be updated after the real check is done.
2023-06-14 10:55:55 +01:00
gokcekantarci
293b06d083
[File locksmith]Add setting to show only in extended context menu (#26711)
* [File Locksmith] Move File Locksmith "What's using this file?" into the extended context menu

* [File Locksmith] Add FileLocksmithExt to directory background context menu

* [File Locksmith]
* Directory background right click crash fixed.
*Settings added.

* [File Locksmith] Remove uncessary things.

* [File Locksmith] Spell check correction
2023-06-14 10:06:44 +01:00
Laszlo Nemeth
a780e6ae72
[MWB]Fix keyboard hook capturing shortcuts with unneeded modifier keys (#26763)
* Fixing keyboard hook eagerness. capture ctrl+alt keys only if shift and win are NOT pressed.

* Update src/modules/MouseWithoutBorders/App/Class/InputHook.cs
2023-06-13 15:39:45 +01:00
Daniel Odrinski
40ef76a686
[Peek]Add up/down arrow key item navigation (#26644) 2023-06-13 10:37:02 +01:00
Basit Ali
c69c74a8ad
[Fancy Zones] Middle click to toggle spanning multiple zones (#26079)
* Attempt to use middle click to toggle zone spanning

* Merge Middle and Secondary Button hooks

* Make mouse state variables more identifiable.
2023-06-13 11:31:22 +02:00
Laszlo Nemeth
06e4518742
[ColorPicker]Store color history in a separated file (#23146)
* [ColorPicker] Store color history in a separated file

* ColorPicker] Separated file for color history: use the list from the settings.json if there is no ColorHistory.json file (preventing loss of existing color history)

* Fix case when there is no history saved or no settings file at all.
2023-06-13 10:10:03 +01:00
Davide Giacometti
0adda35b4b
revert content dialog work-around for titlebar overlap (#26648) 2023-06-11 19:51:22 +02:00
Davide Giacometti
97578a1b97
[Hosts]Fix first entry insert and improve UI for empty hosts file (#26671) 2023-06-11 16:59:30 +01:00
Niels Laute
852778daa5
[Settings] Mica & modern titlebar (#25936)
* Adding Mica

* Working Mica

* Fluent titlebar

* Modern titlebar

* Fixing OOBE

* Fix build issue

* Add missing entry to NOTICE.md

* Update App.xaml.cs
2023-06-11 16:54:01 +01:00
Ahnaf Mahmud
56cdd6dd40
[Settings]Update File Explorer module screenshots and instructions for Windows 11 (#26604)
* Update screenshot to Windows 11 Explorer

* Update OOBE screenshot

* Resize image

* Update instructions to reflect Windows 11

* Minor edit to instructions
2023-06-11 16:41:03 +01:00
gokcekantarci
284a5fb31f
[ImageResizer]Use updated images from input when pressing Enter(#26292)
* [Image Resizer] HandleEnterKeyPress event added for image resizer.

* [Image Resizer]
* Comments are added to Button_KeyDown function
* Uncessary spaces are removed.

* [Image Resizer] Workaround reasons are added to function summary.
2023-06-11 16:17:59 +01:00
Randy
eddb617484
[Registry Preview] Adds application to Open with list for REG files (#26033)
* 25834

* Asociate Registry Preview with .reg files

* Add setting for making RP default app for .reg files

* Run spellcheck

* Run spellcheck again

* Fix build

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
2023-06-10 15:02:53 -07:00
Stefan Markovic
b6ff97f795
[Peek][build]Do not use deprecated call GetAppWindow(#26751) 2023-06-09 09:32:24 +01:00
Joseph Finney
d1d7c74440
Improve several small quality of life issues on Text Extractor (#26021) 2023-06-07 10:07:10 -05:00
Stefan Markovic
40335a6998
[Peek] Set button color on theme change (#26564)
* [WIP] Set button color manually

* Remove unused aliases
2023-06-07 15:52:47 +01:00
Seraphima Zykova
026db38457
[Peek]Preview .htm as .html (#26668) 2023-06-07 15:27:32 +01:00
Bradley Myers
13cc22336b
[Runner]Partial fix for singleton crash when launching a second process (#25753) 2023-06-07 11:42:51 +01:00
Wilko Lühring
994bb15876
[QuickAccent] Add accent units and other signs (#26522)
---

Co-authored-by: WilkoLu <wilko.luehring@student.jde-hs.de>
Co-authored-by: Eike Rodenbaeck <eike.rodenbaeck@student.jade-hs.de>
Co-authored-by: Colin Sontag <colin.sontag@student.jade-hs.de>
Co-authored-by: Dennis Mehner <dennis.mehner@student.jade-hs.de>
2023-06-06 19:51:53 +01:00
EikeJoo
7e65caa83b
[QuickAccent]Add the section sign (U+00A7) to S (#26446)
* add the section sign (U+00A7) to the menu for S

* Remove extra empty line
2023-06-06 16:59:41 +01:00
Davide Giacometti
f6f31c8c32
[Hosts]Don't parse commented lines with an address and host in the middle (#26415) 2023-06-06 16:16:06 +01:00
Davide Giacometti
9960d2d536
[Hosts]Add setting to select the file encoding (#26495) 2023-06-06 16:11:37 +01:00
Aaron Junker
177c58f494
[Monaco] Add support for gitignore files (#26331)
* [Monaco] Add support for gitignore files

* Update definition

* Fix

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
2023-06-06 16:54:06 +02:00
Aaron Junker
1e481b1162
[Monaco] Switch contect menu items (#26328) 2023-06-06 14:37:23 +02:00
gokcekantarci
ddaa348e5a
[PTRun]Integrated lock mechanism for thread-safe Results updates. (#26104) 2023-06-06 13:11:09 +01:00
Aaron Junker
0f6ac52f99
[QuickAccent]Add opening exclamation mark to catalan and spanish language (#26325)
* [QuickAccent]Add opening exclamation mark to catalan and spanish language

* Remove redunant array definitions
2023-06-06 13:07:18 +01:00
Niels Laute
995a9ae7a8
[Chore] Upgrading to WinUIEx 2.2 (#26000)
* Upgrading to WinUIEx 2.2

* Replacing Mica

* Fix build

* Update notice.md

---------

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
2023-06-05 17:21:48 +02:00
Davide Giacometti
d426d9afde
[Hosts] Add Keyboard Shortcuts (#26019)
* added keyboard shortcuts

* use x:Bind
2023-06-05 13:08:41 +01:00
gokcekantarci
4d5152f78a
[Runner]Check for updates and bug report on background thread (#25978)
* [Runner] CheckForUpdatesCallback function and ID_REPORT_BUG_COMMAND case in tray_icon moved to threads.

* [Runner] Bool flag added to bug report thread.

* [Runner] Bool flag added to CheckForUpdatesCallback thread.

* [Runner] Review comments added. Uncessary mutex removed. compare_exchange_strong is used for atomic_bool variable checks.
2023-06-05 11:42:06 +01:00
Davide Giacometti
0f6305f5fa
[Deps]Bump CommunityToolkit.Mvvm to 8.2.0 (#25992) 2023-06-05 11:02:32 +01:00
Alexander Ilin-Tomich
a012d591c2
[QuickAccent]Add multiplication and division signs (#25790)
* Add multiplication and division signs to Languages.cs

Adds multiplication (U+00D7, U+22C5) and division (U+00F7) signs to Languages.cs

* Add slash and asterisk to KeyboardListener.h

* Add slash, asterisk to KeyboardListener.idl

* Update Languages.cs

* VK_ASTERISK -> VK_MULTIPLY KeyboardListener.idl

* VK_ASTERISK -> VK_MULTIPLY Languages.cs

* VK_ASTERISK -> VK_MULTIPLY KeyboardListener.h

* Add VK_DIVIDE to Languages.cs

* Add VK_DIVIDE to KeyboardListener.h

* Add VK_DIVIDE to KeyboardListener.idl

* avoid protected names Languages.cs

* avoid protected names KeyboardListener.h

* avoid protected names KeyboardListener.idl
2023-06-05 10:03:52 +01:00
Clint Rutkas
792a77437e
Test loc fix #2 (#26544)
* Test loc fix #2

* Propagate the name change to the rest of the project

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-06-01 19:04:15 -07:00
Andrey Nekrasov
e378f0cebc
[MWB]Improve UX for Uninstall service when it's inaccessible (#26525) 2023-05-31 17:14:26 +01:00
Jaime Bernardo
88656a9fe0
[MWB]Simulate input to gain focus when hiding mouse (#26524)
* [MWB]Simulate input to gain focus when hiding mouse

* Little tooltip fix
2023-05-31 16:59:15 +01:00
Jaime Bernardo
0f04180912
[MWB]Work without service if service doesn't start (#26521) 2023-05-31 15:50:48 +01:00
Andrey Nekrasov
4cc74da82f
[MWB]Remove shortcut for deprecated VKMap functionality(#26484)
* Comment out code hooking Ctrl+Shift+Alt+K to toggle unused UseVKMap setting

* [MWB] Remove UseVKMap and VKMap completely

---------

Co-authored-by: David Taylor <davidt@yadt.co.uk>
2023-05-30 17:46:42 +01:00
Stefan Markovic
b50b587a63
[Peek] Fix race condition when setting preview (#26478) 2023-05-30 15:58:56 +01:00
Jaime Bernardo
ce87952058
[Peek]Close on activation shortcut if focused (#26480) 2023-05-30 15:58:42 +01:00
Jaime Bernardo
88b1203cd6
[Peek]Fix foreground window setting (#26473) 2023-05-30 14:58:32 +01:00
Andrey Nekrasov
1d23ed5811
[MWB]Prevent spurious wakeups so screens can turn off(#26476) 2023-05-30 14:56:45 +01:00
Seraphima Zykova
b72af5e247
[Peek] Fix crash when opening Peek with no files selected (#26470)
* catch exception

* Check count of items to avoid the exception being thrown

* Fix regression from #26364

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-05-30 11:56:07 +01:00
Jaime Bernardo
4905258c94
[MWB]Hide cursor when positioning to the top of screen (#26447) 2023-05-30 09:45:27 +01:00
gokcekantarci
0c69e3422c
[Peek]Add setting to close after losing focus (#26364)
* [Peek] WindowActivationState checks are added for focus and close after losing focus.

* Add setting to activate the behavior

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-05-30 09:44:58 +01:00
Seraphima Zykova
9786d08695
[Peek]Clear thumbnails (#26440) 2023-05-30 09:43:58 +01:00
Andrey Nekrasov
202bb4caf5
[MWB] fix layout resetting to one row (#26438) 2023-05-29 17:00:23 +01:00
Andrey Nekrasov
ecdf4217e4
[MWB] fix machine connection status highlighting (#26439) 2023-05-29 15:18:57 +01:00
Stefan Markovic
61073158c2
[monaco][dev files prev][Peek] Support .vbproj and .fsproj (#26431) 2023-05-29 14:52:02 +02:00
Aaron Junker
d7ff0d06ec
[Monaco]Add vbs and certain ini compatible file extensions (#26373)
* [Monaco] Add vbs and inf file extensions

* Add githconfig, gitattributes, editorconfig
2023-05-29 12:27:13 +01:00
Stefan Markovic
850b8c1fb8
[Peek] Reset Image and Browser sources (#26361) 2023-05-29 10:01:20 +02:00
Samuel Chapleau
95a9a8a2b0
Use effective pixels for unsupported previewer (#26345) 2023-05-26 12:46:43 -07:00
Samuel Chapleau
6d676329ce
[Peek]Center Peek window on File Explorer activated monitor (#26349) 2023-05-26 16:50:15 +01:00
Stefan Markovic
d3b1c0a067
[Peek] Reset Sources on Peek close (#26310)
* Reset Sources on Peek close

* Revert "Reset Sources on Peek close"

This reverts commit 6b63e809ef.

* Reset Source in OnPreviewerChanging
2023-05-26 10:17:50 +01:00
Seraphima Zykova
b56d22b9a2
[Peek]Fix blinking while loading dev files (#26342) 2023-05-26 09:47:32 +01:00
Stefan Markovic
5cff678322
[Monaco][Peek] Support .vsconfig, .sln, .vcproj, .vcxproj files (#26318) 2023-05-26 09:46:12 +02:00
Jaime Bernardo
42e707966d
[Peek]Create Setting to run not elevated (#26308)
* [Peek]Create Setting to run not elevated

* Optionally add access permissions to the handles
2023-05-25 17:39:52 +01:00
Davide Giacometti
4560abe557
[Peek]Hide window with esc key (#26250) 2023-05-25 17:35:17 +01:00
Stefan Markovic
6f56b35a6c
[General]Fix infinite loop: AutoReset global event in NativeEventWaiter (#26287) 2023-05-25 16:19:24 +01:00
Andrey Nekrasov
dbc11b8920
[MWB] add Name2IP field to Settings (#26290)
* [MWB] add Name2IP field to Settings

* f: add explanation

* f: spelling

* f: comment
2023-05-25 15:55:11 +01:00
Jaime Bernardo
0bf4cfd8b5
[Hotfix][Peek]Consume shortcut only on Desktop and Shell (#26222)
* [Peek]Consume shortcut only on Desktop and Shell

* Appease spellchecker
2023-05-25 10:27:21 +01:00
Davide Giacometti
22e4c4ce2a
[Installer][PTRun]Fix PowerToys plugin setup (#26157) 2023-05-25 10:26:21 +01:00
Niels Laute
667aad247a
[Settings] MWB and Peek improvements (#26142)
* Improvements to MWB

* Adding link to Peek

* Address feedback

* Fix localization
2023-05-25 10:10:52 +01:00
Andrey Nekrasov
29eebe16a4 [New Utility]Mouse Without Borders
* Integrate Mouse Without Borders into PowerToys

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-05-18 21:48:03 +01:00
Jojo Zhou
a0b9af039d
Yizzho/peek/videos (#25983)
* Add basics of VideoPreviewer to build on

* WIP

* Minimal working code, todo next:dimension + MTC

* Nits

* Change back to GetImageSize as it indeed doesn't work with videos

* Add win32 helper methods to get video size; Refactor get size operation;

* Remove unused code

* Set VideoTask; Add message error for HR result;

* Add open read only for filestream

* Remove unused code

* Update expect.txt

* Remove comment

* Cleanup code

* Force pause videopreview on previewer change

---------

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Samuel Chapleau 🌈 <sachaple@microsoft.com>
2023-05-15 14:06:08 -07:00
Niels Laute
5aa58bf922
[Settings]Peek settings UX consistency (#26012) 2023-05-15 17:22:10 +01:00
Samuel Chapleau
d50f092403
[Peek] Remove WIC project and only keep used ComImport (#25968)
* Peek (#22498)

* Add peek dll project

* add spacebar preview and launch on hotkey press

* add todo

* add process handle to handle continuous press of hotkey

* add tool to stop all powertoys processes

* Add a blank Peek page and update nav menu

* Add some initial content to Peek page including a toggle

* refactor settings parsing

* rename spacebar peek to peek viewer

* rename script to stop powertoys processes

* remove tool

* Adding FileUtils for retrieving selected file in File Explorer

* Remove unnecessary SndPeekSettings

* Add shortcut setting

* Set the shortcut to ctrl+space

* Launching viewer with selected FE file

* Add PeekUI WinUI3 project with interop events

* Moving FileTypeUtils into PeekFileUtils project

* execute winui3 app on hotkey

* Fix paths with spaces

* remove winui3 project

* Resolve comment

* add wpf app with toggle visibility on hotkey

* fix visibility on startup

* remove window properties and add todos

* Fixed hidden extension and system file handling

* wip

* Add working WPF app with FileExplorer querying

* remove c++ projects

* Move native awaiter

* Working Image control with image files

* Resize and move window based on explorer monitor

* Image render, window positioning and sizing clean up

* add window management logic and selection logic

* add extension methods to add circular iterating capability to linkedlistnode

* Add OnArrowKeyPresshandler

* Added titlebar with file name and scaling with titlebar height

* fix flashing window on startup and process kept alive when powertoys exits

* remove wait for debugger loop in ui

* Add KeyIsDown method

* Fix KeyDown issue with Key handled and check for repeat

* Add thumbnail logic

* Add all folder items if only one item is selected

* File type helper

* Using hresult

* Add cancellation and rotation handling

* Use extension instead of path

* fIX CONFLICTS

* Fixing some file type checks

* Add new icon for Peek

* Update page with the new Peek icon

* Initialize IsEnabled and hook ActivationShortcut to dllmain

* add icon to taskbar and titlebar

* Add theme sensitive backgrounds

* rename event handlers

* add settings image

* Move window data into obserable object

* Refactor viewmodel, interop and helpers

* Clean up

* Add loading spinner

* Add todos

* Fix conflicts

* Move native code into its own folder

* Add peek to installer

* Fix building peek and peekui projects

* Replace UWP namespaces to WinAppSDK

* Working WASDK placeholder project

* Add exit when powertoys runner exit

* Working winui3 with image display

* Add WIC project with <TreatWarningAsErros> false for now

* Fit content to window

* Use Size from Windows.Foundation

* Change order

* Add some todos

* Refactored native/interop code and added helpers to imagepreviewer

* Rename projects

* Move some code

* Remove using

Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>

* Bump Microsoft.Windows.SDK.BuildTools version

* [Peek] Plugin pattern to enable any file type previewing (#22475)

* [Peek] Fetching image size through PropertyStore (#22530)

* Fetching metadata from PropertySTore

* Releasing objects to fix crash

* Creating new PropertyHelper

Co-authored-by: Daniel Chau <dancha@microsoft.com>

* Juliata/filetypes (#22538)

* Using the same list of file extensions as Lightbox's AppxManifest, and ensuring we convert file extension to lowercase

* Add IsFileTypeSupported to IPreviewer

* respond to PR comments

* Add scale awareness to window centering (#22541)

* [Peek] Fix installer builds, project configs and update assets (#22540)

* Update installer

* Fix installer errors

* Fix peek vcxproj

* Add package signing

* Add peek to arm64

* Add back ARM64 toMeasureToolUI

* Add versions to project

* Update assets and icons

* Add correct icon

* [Peek] Enable PropertyStore for offline files (#22567)

* Enabling PropertyStore for offline files

Co-authored-by: Daniel Chau <dancha@microsoft.com>

* [Peek] Adding unsupported file previewer (#22598)

* Unsupported file previewer

* Fix file display info

* Fix property store calls

* Update TODO

* [Peek] Add WebView2 integration (#22506)

* First commit with WIP logic to support WV2 in Peek module

* Minor code cleanup and try/catch block

* Added control to wrap WebView2 logic

* Cleanup

* Added logic to handle HTML previewing
Properly update FilePreview according to file type

* Code cleanup
Updated comments

* Updated comment

* Removed comment

* Code cleanup

* Improved opening of web browser preview to avoid "blank" or "seeing previous page" issue
Removed unused method
Added xaml fallback to guarantee default/starting state

* Removed folder

* Updated factory logic to match master

* address code review

* addressed PR review

* address PR review

* Address PR review

* address PR review

* Address PR review

* [Peek] Add basic file querying and navigation (#22589)

* Refactor to facilitate file data initialization

* Extract file-related code to new FileManager class

* Add temp basic version

* Clean + add todo for cancellations

* Fix various nav-related issues

* Temp - start moving iteration-related code to bg thread

* Minor tweaks

* Add FEHelper todo

* Rename FileManager + various tweaks

* Add basic throttling

* Improve bg thread synchronization

* Clean

* Clean

* Rename based on feedback

* Rename FileQuery

* Rename properties

* Rename remaining fields

* Add todos for nav success/failures

Co-authored-by: Esteban Margaron <emargaron@microsoft.com>

* [Peek] Add customized title bar  (#22600)

* Add basic button UI

* Add function to get default app name and to open file in default app

* Correct error output

* Add filename to titlebar

* Remove titlebar text from Resw

* Add basic button UI

* Add function to get default app name and to open file in default app

* Add filename to titlebar

* Correct error output

* Remove titlebar text from Resw

* Add SetDragRectangles

* Correct logic, update function name

* Add localization

* Cleanup and adaptive width

* Add fileIndex/NumberOfFiles for multiple files activation

* Refine titlebar styles

* Update error message; Return HResult from native methods; Update variable initialisation and string null testing

* Titlebar height and adaptive width refinement

* Add fallback to launch app picker if fail to open default app

* Temp change to hide AppTitle_FileCount

* Update launch button to command; Add keyboard accelerator

* Update titlebar inactive background color

* Update tooltip to add keyboard accelerator

* Add comments to resw file

* Fix accidental deletion from previous merge

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>

* Fix crash

* Fix wrong thread exception

* Make CurrentItemIndex setter private

* Update titlebar filecount text

* Fix titlebar draggable region and interactive region (bump WinAppSdk to latest)

* [Peek] Unsupported File Previewer - Formatting string from resources (#22609)

* Moving to string resource usage

* Moving ReadableStringHelper to common project

* Fix comments

* [Peek] Fix foregrounding (#22633)

* Fixing foregrounding

* Get window handle inside BringToForeground extension method

Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] ImagePreviewer - Handle error states (#22637)

* add better preview state handling

* add error handling in imagepreviewer and better state handling

* fix error handling so exception is not bubbled up

* improve performance and hook up unsupported previewer on error

* remove commented code

* address pr comments

* [Peek] add PDF viewing support (#22636)

* [Peek] add PDF viewing support

* Fixed issue which would redirect some HTML and PDF files to external browser

* Fixed refactored interface name

* [Peek] Refine titlebar adaptive width (#22642)

* Adjust adaptive width of titlebar

* Remove visualstate setters for AppTitle_FileCount

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>

* [Peek] New File Explorer tabs break Shell API to get selected files (#22641)

* fix FE tab bug

* remove unnecessary unsafe keyword

* [Peek] add extra logic to properly render PNG files with transparency (#22613)

* [Peek] added extra logic to render PNG files with proper transparency

* Moved logic to ThumbnailHelper
Cleanup

* Created a separated previewer for PNG to only load the preview image with thumbnail logic

* removed unused code

* Updated state loading change

* [Peek] Unsupported File Previewer - Setting Window Size (#22645)

* Adding setting for unsupported file window

* Fix

* [Peek] Add tooltip to File (#22640)

* Add tooltip to File

* Add placeholder text for no tooltip

* Address comments

* Use StringBuilder

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>

* Add full image quality support (#22654)

* [Peek] Window foregrounding simplification and fixes + keep window visible if FE single selection changed (#22657)

* Use different apis to bring to foreground removing remote thread wait and work as well as library loading

* Keep window open if single selected file in FE is different

* Removed unused methods

* [Peek] Add cancellation token OnFilePropertyChanged (#22643)

* Cancel file loading before opening another file

* Add omitted cancellation checks

* Catch task cancelled exception; Add more cancellation checkpoints

* Add cancellation checkpoint beofre GetBitmapFromHBitmapAsync

* Correct typo

* Update to pass cancellation token individually to each async methods

* Add lost cancellationToken source

* Add cancellation token to PngPreviewer

Co-authored-by: Yawen Hou <yawenhou@microsoft.com>

* [Peek] Unsupported File Previewer - Preserve Transparency For File Icons (#22650)

* Preserving transparency or icons

* Remove TODO

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Update some installer build steps + assets update (#22683)

* Fix settings & peek.ui.wpf

* Add back missing icon

* Add missing files and actions to installer

* Keep window open if the selected file in explorer is different (only works for single file selection)

* Undo last

* [Peek] Add copy keyboard accelerator (#22647)

* add copy keyboard accelerator

* Fix comments

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] add WV2 improvements (behavior and UX) (#22685)

* [Peek] added logic to get max monitor size for opening WebView2

* Removed ununsed dependency property

* Added workaround for cases where the web page would not finish navigating in a quick timing, for example google.com.

* Remove window extensions from common and use nullable size argument instead

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Merge main, self-contained .NET and fix WebView2 user data dir issue (#22899)

* Merge remote-tracking branch 'origin/main' into peek

* Test sc

* Set WebView2 user data dir

* spellcheck

* Fix comment

* Move check if higher quality image is already loaded to the exact line where we change the Preview bitmap (#23083)

* Fix opening Peek when FE window is set to full name path (#23082)

* Move check for png thubmnail loading priority

* Remove Peek.UI.WPF project

* Remove duplicated method in powertoys setup

* [Peek] Fix selecting files from the correct focused opened File Explorer tab & from Desktop (#23489)

* Get file based on active tab handle instead of window title

* Refactor code to get active tab

* Getting all items from the shell API working again, except for desktop

* Refactor and cleanup com & native code

* Add back removed peek xaml assets in Product.wxs

* Remove some dependencies that do not seem necessary in Product.wxs

* [Peek] Small images (#23554)

* change stretch value

* compare with actual window size

* consider scaling factor

* set max size

* clean up

* clean up

* clean up previewers

* scaling factor in bitmap previewer

* max image size property

* [Peek]Handle errors for HEIC/HEIF and fall back to default previewer if there is no thumbnail (#22684)

* Handle errors when getting filesize by falling back to default previewer

* Bringing back other file types that are fixed with these code changes

---------

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Add unsupported file icon fallback (#23735)

* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback

* Add svg to assets in installer

* [Peek] Refactoring of file system models, removal of PngPreviewer, retrieving of folder size via Scripting com reference and other fixes (#23955)

* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback

* Add svg to assets in installer

* - Refactor File class into IFileSystemItem, FileItem & FolderItem
- Display size for folders using Scripting namespace
- Remove default app buttons for files or folders not supporting it

* Add better content type via storage apis

* Add check for storagefile in PngPreviewer

* Fix png stretching

* Remove png previewer

* Rename ThumbnailOptions.None to ThumbnailOptions.ResizeToFit

* [Peek] Removed monitor percentage evaluation for the UnsupportedFilePreview control (#24002)

* Remove settings for percentage of windows and keep default min size.

* Fix margin on unsupported control

* Use nullable Size for image size & open file on background thread (#24004)

* [Peek] SVG support (#24237)

* svg previewer

* svg size

* set scaling factor

* set image size

* changed image source type

* non nullable image size

* notify svg previewer changed

* uncomment

* rename BitmapPreviewer

* move svg support

* remove svg previewer

* [Peek] Implementation of a performant and reliable Neighboring Files Query (#24943)

* Use IShellItemArray as the backing array of item

* Finalize and cleanup NFQ implementation

* Cleanup remainder of the code

* Remove unused using

* [Peek] Pin the window position  (#24927)

* [Peek] Telemetry and logging (#25231)

* text preview

* scrolling

* changed size

* Handle errors more gracefuly

* webview2 preview

* common preview project

* previewpane: use common project

* peek: use common

* previewpane: moved md

* peek: md

* previewpane: clean up

* clean up

* moved monaco files

* moved formatters

* rename

* moved common monaco helper

* dev files support

* installer

* removed versions

* warnings: culture info

* warnings: names

* clean up

* warnings: dispose

* warnings: default values

* warnings

* warnings: charset

* warnings: exceptions

* suppress warning

* installer: added peek

* changed peek guid

* monaco folders

* peek deps

* peek files

* peek resources

* removed additional monaco folder

* set host name

* Update installer

* hardcode monaco path

* leave single webview control

* moved path to common

* project

* more meaningful todos

* moved temp folder cleanup

* todo

* extension check

* spell: monaco

* spellcheck

* spellcheck

* fix id

* fix spelling

* key to spelling

* id fix

* Fix monaco resolution at install time

* Fix user install. Add needed files

* installer: remove peek localization files. It's a WinUI app

* installer:fix signing

* removed unused

* settings: flyout enable/disable for Peek

* simplify string

* property changed handle

* [Peek][Settings] Peek OOBE page (#25895)

* Add placeholder error icon

* Only open FilStream in read-only mode; Release propertyStore handle after getting the file properties

(cherry picked from commit 3b1481da2c)

* Update calls to PropertyStoreHelper

* Add disposable property store

* Make GetPropertyStoreFromPath return Disposable property store

* correct typo

* correct typo

* Remove nullable in DisposablePropertyStore

* Add property getters

* Remove usued method

* Correct typo

* Correct typo again...

* Update description

* Add cleaner fallback error

* Fix build

* Cleanup code

* Fix indents

* Delete WIC project and keep only necessary WIC comimport

* Fix spellcheck

---------

Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
Co-authored-by: Daniel Chau <d.chau@alumni.ubc.ca>
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: jth-ms <73617023+jth-ms@users.noreply.github.com>
Co-authored-by: Robson <rp.pontin@gmail.com>
Co-authored-by: estebanm123 <49930791+estebanm123@users.noreply.github.com>
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Jojo Zhou <39350350+Joanna-Zhou@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-05-15 08:58:39 -07:00
Den
0c5113e908
[Awake]QOL changes - New build ATRIOX_04132023 (#25486)
* Update control to make interaction responsive

* Rip out NLog in favor of standard logging

* Continuing to cleanup NLog stuff

* Simplifying the code more

* Instantly let go of power settings once cancellation requested.

* Cleanup and using built-in native constructs

* Update the API

* Moving towards using a queue instead of tasks

* Code cleanup

* Thread should be flagged as background

* Clean up constants, add docs

* Code cleanup

* Cleanup

* Cleanup

* Remove unnecessary using

* Fix package definition

* Fix NuGet packages

* Update expect.txt

* Remove NLog reference and add a build update in the planning doc

* Cleanup based on report

* More cleanup

* Adding back because the word is clearly somewhere, just not anywhere
I am able to find.

* Revert .net dependency upgrades
2023-05-14 19:42:38 +01:00
Seraphima Zykova
a3227da634
[Peek] fixes and enhancements (#25963) 2023-05-12 15:34:20 +02:00
gokcekantarci
912061d100
[FZEditor]Mark headings for accessibility (#25897)
* [FancyZones Editor - Edit layout] New HeadingTextBlock style is added and applied to FZ headers.

* [FancyZones Editor - Edit layout] Loaded event added.

* [Fancy zones editor - Edit layout] Two texts in FZEditor changed to header.

* [FancyZones Editor - Edit layout] Heading level property added for new headingtextblock.
2023-05-12 09:15:04 +01:00
Samuel Chapleau
50984fcd47
[Peek] Enhance failed preview UX (#25949)
* Peek (#22498)

* Add peek dll project

* add spacebar preview and launch on hotkey press

* add todo

* add process handle to handle continuous press of hotkey

* add tool to stop all powertoys processes

* Add a blank Peek page and update nav menu

* Add some initial content to Peek page including a toggle

* refactor settings parsing

* rename spacebar peek to peek viewer

* rename script to stop powertoys processes

* remove tool

* Adding FileUtils for retrieving selected file in File Explorer

* Remove unnecessary SndPeekSettings

* Add shortcut setting

* Set the shortcut to ctrl+space

* Launching viewer with selected FE file

* Add PeekUI WinUI3 project with interop events

* Moving FileTypeUtils into PeekFileUtils project

* execute winui3 app on hotkey

* Fix paths with spaces

* remove winui3 project

* Resolve comment

* add wpf app with toggle visibility on hotkey

* fix visibility on startup

* remove window properties and add todos

* Fixed hidden extension and system file handling

* wip

* Add working WPF app with FileExplorer querying

* remove c++ projects

* Move native awaiter

* Working Image control with image files

* Resize and move window based on explorer monitor

* Image render, window positioning and sizing clean up

* add window management logic and selection logic

* add extension methods to add circular iterating capability to linkedlistnode

* Add OnArrowKeyPresshandler

* Added titlebar with file name and scaling with titlebar height

* fix flashing window on startup and process kept alive when powertoys exits

* remove wait for debugger loop in ui

* Add KeyIsDown method

* Fix KeyDown issue with Key handled and check for repeat

* Add thumbnail logic

* Add all folder items if only one item is selected

* File type helper

* Using hresult

* Add cancellation and rotation handling

* Use extension instead of path

* fIX CONFLICTS

* Fixing some file type checks

* Add new icon for Peek

* Update page with the new Peek icon

* Initialize IsEnabled and hook ActivationShortcut to dllmain

* add icon to taskbar and titlebar

* Add theme sensitive backgrounds

* rename event handlers

* add settings image

* Move window data into obserable object

* Refactor viewmodel, interop and helpers

* Clean up

* Add loading spinner

* Add todos

* Fix conflicts

* Move native code into its own folder

* Add peek to installer

* Fix building peek and peekui projects

* Replace UWP namespaces to WinAppSDK

* Working WASDK placeholder project

* Add exit when powertoys runner exit

* Working winui3 with image display

* Add WIC project with <TreatWarningAsErros> false for now

* Fit content to window

* Use Size from Windows.Foundation

* Change order

* Add some todos

* Refactored native/interop code and added helpers to imagepreviewer

* Rename projects

* Move some code

* Remove using

Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>

* Bump Microsoft.Windows.SDK.BuildTools version

* [Peek] Plugin pattern to enable any file type previewing (#22475)

* [Peek] Fetching image size through PropertyStore (#22530)

* Fetching metadata from PropertySTore

* Releasing objects to fix crash

* Creating new PropertyHelper

Co-authored-by: Daniel Chau <dancha@microsoft.com>

* Juliata/filetypes (#22538)

* Using the same list of file extensions as Lightbox's AppxManifest, and ensuring we convert file extension to lowercase

* Add IsFileTypeSupported to IPreviewer

* respond to PR comments

* Add scale awareness to window centering (#22541)

* [Peek] Fix installer builds, project configs and update assets (#22540)

* Update installer

* Fix installer errors

* Fix peek vcxproj

* Add package signing

* Add peek to arm64

* Add back ARM64 toMeasureToolUI

* Add versions to project

* Update assets and icons

* Add correct icon

* [Peek] Enable PropertyStore for offline files (#22567)

* Enabling PropertyStore for offline files

Co-authored-by: Daniel Chau <dancha@microsoft.com>

* [Peek] Adding unsupported file previewer (#22598)

* Unsupported file previewer

* Fix file display info

* Fix property store calls

* Update TODO

* [Peek] Add WebView2 integration (#22506)

* First commit with WIP logic to support WV2 in Peek module

* Minor code cleanup and try/catch block

* Added control to wrap WebView2 logic

* Cleanup

* Added logic to handle HTML previewing
Properly update FilePreview according to file type

* Code cleanup
Updated comments

* Updated comment

* Removed comment

* Code cleanup

* Improved opening of web browser preview to avoid "blank" or "seeing previous page" issue
Removed unused method
Added xaml fallback to guarantee default/starting state

* Removed folder

* Updated factory logic to match master

* address code review

* addressed PR review

* address PR review

* Address PR review

* address PR review

* Address PR review

* [Peek] Add basic file querying and navigation (#22589)

* Refactor to facilitate file data initialization

* Extract file-related code to new FileManager class

* Add temp basic version

* Clean + add todo for cancellations

* Fix various nav-related issues

* Temp - start moving iteration-related code to bg thread

* Minor tweaks

* Add FEHelper todo

* Rename FileManager + various tweaks

* Add basic throttling

* Improve bg thread synchronization

* Clean

* Clean

* Rename based on feedback

* Rename FileQuery

* Rename properties

* Rename remaining fields

* Add todos for nav success/failures

Co-authored-by: Esteban Margaron <emargaron@microsoft.com>

* [Peek] Add customized title bar  (#22600)

* Add basic button UI

* Add function to get default app name and to open file in default app

* Correct error output

* Add filename to titlebar

* Remove titlebar text from Resw

* Add basic button UI

* Add function to get default app name and to open file in default app

* Add filename to titlebar

* Correct error output

* Remove titlebar text from Resw

* Add SetDragRectangles

* Correct logic, update function name

* Add localization

* Cleanup and adaptive width

* Add fileIndex/NumberOfFiles for multiple files activation

* Refine titlebar styles

* Update error message; Return HResult from native methods; Update variable initialisation and string null testing

* Titlebar height and adaptive width refinement

* Add fallback to launch app picker if fail to open default app

* Temp change to hide AppTitle_FileCount

* Update launch button to command; Add keyboard accelerator

* Update titlebar inactive background color

* Update tooltip to add keyboard accelerator

* Add comments to resw file

* Fix accidental deletion from previous merge

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>

* Fix crash

* Fix wrong thread exception

* Make CurrentItemIndex setter private

* Update titlebar filecount text

* Fix titlebar draggable region and interactive region (bump WinAppSdk to latest)

* [Peek] Unsupported File Previewer - Formatting string from resources (#22609)

* Moving to string resource usage

* Moving ReadableStringHelper to common project

* Fix comments

* [Peek] Fix foregrounding (#22633)

* Fixing foregrounding

* Get window handle inside BringToForeground extension method

Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] ImagePreviewer - Handle error states (#22637)

* add better preview state handling

* add error handling in imagepreviewer and better state handling

* fix error handling so exception is not bubbled up

* improve performance and hook up unsupported previewer on error

* remove commented code

* address pr comments

* [Peek] add PDF viewing support (#22636)

* [Peek] add PDF viewing support

* Fixed issue which would redirect some HTML and PDF files to external browser

* Fixed refactored interface name

* [Peek] Refine titlebar adaptive width (#22642)

* Adjust adaptive width of titlebar

* Remove visualstate setters for AppTitle_FileCount

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>

* [Peek] New File Explorer tabs break Shell API to get selected files (#22641)

* fix FE tab bug

* remove unnecessary unsafe keyword

* [Peek] add extra logic to properly render PNG files with transparency (#22613)

* [Peek] added extra logic to render PNG files with proper transparency

* Moved logic to ThumbnailHelper
Cleanup

* Created a separated previewer for PNG to only load the preview image with thumbnail logic

* removed unused code

* Updated state loading change

* [Peek] Unsupported File Previewer - Setting Window Size (#22645)

* Adding setting for unsupported file window

* Fix

* [Peek] Add tooltip to File (#22640)

* Add tooltip to File

* Add placeholder text for no tooltip

* Address comments

* Use StringBuilder

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>

* Add full image quality support (#22654)

* [Peek] Window foregrounding simplification and fixes + keep window visible if FE single selection changed (#22657)

* Use different apis to bring to foreground removing remote thread wait and work as well as library loading

* Keep window open if single selected file in FE is different

* Removed unused methods

* [Peek] Add cancellation token OnFilePropertyChanged (#22643)

* Cancel file loading before opening another file

* Add omitted cancellation checks

* Catch task cancelled exception; Add more cancellation checkpoints

* Add cancellation checkpoint beofre GetBitmapFromHBitmapAsync

* Correct typo

* Update to pass cancellation token individually to each async methods

* Add lost cancellationToken source

* Add cancellation token to PngPreviewer

Co-authored-by: Yawen Hou <yawenhou@microsoft.com>

* [Peek] Unsupported File Previewer - Preserve Transparency For File Icons (#22650)

* Preserving transparency or icons

* Remove TODO

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Update some installer build steps + assets update (#22683)

* Fix settings & peek.ui.wpf

* Add back missing icon

* Add missing files and actions to installer

* Keep window open if the selected file in explorer is different (only works for single file selection)

* Undo last

* [Peek] Add copy keyboard accelerator (#22647)

* add copy keyboard accelerator

* Fix comments

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] add WV2 improvements (behavior and UX) (#22685)

* [Peek] added logic to get max monitor size for opening WebView2

* Removed ununsed dependency property

* Added workaround for cases where the web page would not finish navigating in a quick timing, for example google.com.

* Remove window extensions from common and use nullable size argument instead

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Merge main, self-contained .NET and fix WebView2 user data dir issue (#22899)

* Merge remote-tracking branch 'origin/main' into peek

* Test sc

* Set WebView2 user data dir

* spellcheck

* Fix comment

* Move check if higher quality image is already loaded to the exact line where we change the Preview bitmap (#23083)

* Fix opening Peek when FE window is set to full name path (#23082)

* Move check for png thubmnail loading priority

* Remove Peek.UI.WPF project

* Remove duplicated method in powertoys setup

* [Peek] Fix selecting files from the correct focused opened File Explorer tab & from Desktop (#23489)

* Get file based on active tab handle instead of window title

* Refactor code to get active tab

* Getting all items from the shell API working again, except for desktop

* Refactor and cleanup com & native code

* Add back removed peek xaml assets in Product.wxs

* Remove some dependencies that do not seem necessary in Product.wxs

* [Peek] Small images (#23554)

* change stretch value

* compare with actual window size

* consider scaling factor

* set max size

* clean up

* clean up

* clean up previewers

* scaling factor in bitmap previewer

* max image size property

* [Peek]Handle errors for HEIC/HEIF and fall back to default previewer if there is no thumbnail (#22684)

* Handle errors when getting filesize by falling back to default previewer

* Bringing back other file types that are fixed with these code changes

---------

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Add unsupported file icon fallback (#23735)

* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback

* Add svg to assets in installer

* [Peek] Refactoring of file system models, removal of PngPreviewer, retrieving of folder size via Scripting com reference and other fixes (#23955)

* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback

* Add svg to assets in installer

* - Refactor File class into IFileSystemItem, FileItem & FolderItem
- Display size for folders using Scripting namespace
- Remove default app buttons for files or folders not supporting it

* Add better content type via storage apis

* Add check for storagefile in PngPreviewer

* Fix png stretching

* Remove png previewer

* Rename ThumbnailOptions.None to ThumbnailOptions.ResizeToFit

* [Peek] Removed monitor percentage evaluation for the UnsupportedFilePreview control (#24002)

* Remove settings for percentage of windows and keep default min size.

* Fix margin on unsupported control

* Use nullable Size for image size & open file on background thread (#24004)

* [Peek] SVG support (#24237)

* svg previewer

* svg size

* set scaling factor

* set image size

* changed image source type

* non nullable image size

* notify svg previewer changed

* uncomment

* rename BitmapPreviewer

* move svg support

* remove svg previewer

* [Peek] Implementation of a performant and reliable Neighboring Files Query (#24943)

* Use IShellItemArray as the backing array of item

* Finalize and cleanup NFQ implementation

* Cleanup remainder of the code

* Remove unused using

* [Peek] Pin the window position  (#24927)

* [Peek] Telemetry and logging (#25231)

* text preview

* scrolling

* changed size

* Handle errors more gracefuly

* webview2 preview

* common preview project

* previewpane: use common project

* peek: use common

* previewpane: moved md

* peek: md

* previewpane: clean up

* clean up

* moved monaco files

* moved formatters

* rename

* moved common monaco helper

* dev files support

* installer

* removed versions

* warnings: culture info

* warnings: names

* clean up

* warnings: dispose

* warnings: default values

* warnings

* warnings: charset

* warnings: exceptions

* suppress warning

* installer: added peek

* changed peek guid

* monaco folders

* peek deps

* peek files

* peek resources

* removed additional monaco folder

* set host name

* Update installer

* hardcode monaco path

* leave single webview control

* moved path to common

* project

* more meaningful todos

* moved temp folder cleanup

* todo

* extension check

* spell: monaco

* spellcheck

* spellcheck

* fix id

* fix spelling

* key to spelling

* id fix

* Fix monaco resolution at install time

* Fix user install. Add needed files

* installer: remove peek localization files. It's a WinUI app

* installer:fix signing

* removed unused

* settings: flyout enable/disable for Peek

* simplify string

* property changed handle

* [Peek][Settings] Peek OOBE page (#25895)

* Add placeholder error icon

* Only open FilStream in read-only mode; Release propertyStore handle after getting the file properties

(cherry picked from commit 3b1481da2c)

* Update calls to PropertyStoreHelper

* Add disposable property store

* Make GetPropertyStoreFromPath return Disposable property store

* correct typo

* correct typo

* Remove nullable in DisposablePropertyStore

* Add property getters

* Remove usued method

* Correct typo

* Correct typo again...

* Update description

* Add cleaner fallback error

* Fix build

* Cleanup code

* Fix indents

---------

Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
Co-authored-by: Daniel Chau <d.chau@alumni.ubc.ca>
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: jth-ms <73617023+jth-ms@users.noreply.github.com>
Co-authored-by: Robson <rp.pontin@gmail.com>
Co-authored-by: estebanm123 <49930791+estebanm123@users.noreply.github.com>
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Jojo Zhou <39350350+Joanna-Zhou@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-05-11 14:46:39 -07:00
Jaime Bernardo
dab3326520
[Deps]Update winAppSdk to 1.3.1 (#25958) 2023-05-11 12:51:10 +01:00
Yawen Hou
9a2a8598d5
Update pin glyphs (#25948) 2023-05-10 19:50:35 -04:00
Yawen Hou
83574c578a
[Peek] Open file in Read only (#25945)
* Only open FilStream in read-only mode; Release propertyStore handle after getting the file properties

(cherry picked from commit 3b1481da2c)

* Update calls to PropertyStoreHelper

* Add disposable property store

* Make GetPropertyStoreFromPath return Disposable property store

* correct typo

* correct typo

* Remove nullable in DisposablePropertyStore

* Add property getters

* Remove usued method

* Correct typo

* Correct typo again...

* Update description
2023-05-10 19:00:13 -04:00
Samuel Chapleau
648f30d1ab
[Peek] Powertoys Peek MVP (#25922)
* Peek (#22498)

* Add peek dll project

* add spacebar preview and launch on hotkey press

* add todo

* add process handle to handle continuous press of hotkey

* add tool to stop all powertoys processes

* Add a blank Peek page and update nav menu

* Add some initial content to Peek page including a toggle

* refactor settings parsing

* rename spacebar peek to peek viewer

* rename script to stop powertoys processes

* remove tool

* Adding FileUtils for retrieving selected file in File Explorer

* Remove unnecessary SndPeekSettings

* Add shortcut setting

* Set the shortcut to ctrl+space

* Launching viewer with selected FE file

* Add PeekUI WinUI3 project with interop events

* Moving FileTypeUtils into PeekFileUtils project

* execute winui3 app on hotkey

* Fix paths with spaces

* remove winui3 project

* Resolve comment

* add wpf app with toggle visibility on hotkey

* fix visibility on startup

* remove window properties and add todos

* Fixed hidden extension and system file handling

* wip

* Add working WPF app with FileExplorer querying

* remove c++ projects

* Move native awaiter

* Working Image control with image files

* Resize and move window based on explorer monitor

* Image render, window positioning and sizing clean up

* add window management logic and selection logic

* add extension methods to add circular iterating capability to linkedlistnode

* Add OnArrowKeyPresshandler

* Added titlebar with file name and scaling with titlebar height

* fix flashing window on startup and process kept alive when powertoys exits

* remove wait for debugger loop in ui

* Add KeyIsDown method

* Fix KeyDown issue with Key handled and check for repeat

* Add thumbnail logic

* Add all folder items if only one item is selected

* File type helper

* Using hresult

* Add cancellation and rotation handling

* Use extension instead of path

* fIX CONFLICTS

* Fixing some file type checks

* Add new icon for Peek

* Update page with the new Peek icon

* Initialize IsEnabled and hook ActivationShortcut to dllmain

* add icon to taskbar and titlebar

* Add theme sensitive backgrounds

* rename event handlers

* add settings image

* Move window data into obserable object

* Refactor viewmodel, interop and helpers

* Clean up

* Add loading spinner

* Add todos

* Fix conflicts

* Move native code into its own folder

* Add peek to installer

* Fix building peek and peekui projects

* Replace UWP namespaces to WinAppSDK

* Working WASDK placeholder project

* Add exit when powertoys runner exit

* Working winui3 with image display

* Add WIC project with <TreatWarningAsErros> false for now

* Fit content to window

* Use Size from Windows.Foundation

* Change order

* Add some todos

* Refactored native/interop code and added helpers to imagepreviewer

* Rename projects

* Move some code

* Remove using

Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>

* Bump Microsoft.Windows.SDK.BuildTools version

* [Peek] Plugin pattern to enable any file type previewing (#22475)

* [Peek] Fetching image size through PropertyStore (#22530)

* Fetching metadata from PropertySTore

* Releasing objects to fix crash

* Creating new PropertyHelper

Co-authored-by: Daniel Chau <dancha@microsoft.com>

* Juliata/filetypes (#22538)

* Using the same list of file extensions as Lightbox's AppxManifest, and ensuring we convert file extension to lowercase

* Add IsFileTypeSupported to IPreviewer

* respond to PR comments

* Add scale awareness to window centering (#22541)

* [Peek] Fix installer builds, project configs and update assets (#22540)

* Update installer

* Fix installer errors

* Fix peek vcxproj

* Add package signing

* Add peek to arm64

* Add back ARM64 toMeasureToolUI

* Add versions to project

* Update assets and icons

* Add correct icon

* [Peek] Enable PropertyStore for offline files (#22567)

* Enabling PropertyStore for offline files

Co-authored-by: Daniel Chau <dancha@microsoft.com>

* [Peek] Adding unsupported file previewer (#22598)

* Unsupported file previewer

* Fix file display info

* Fix property store calls

* Update TODO

* [Peek] Add WebView2 integration (#22506)

* First commit with WIP logic to support WV2 in Peek module

* Minor code cleanup and try/catch block

* Added control to wrap WebView2 logic

* Cleanup

* Added logic to handle HTML previewing
Properly update FilePreview according to file type

* Code cleanup
Updated comments

* Updated comment

* Removed comment

* Code cleanup

* Improved opening of web browser preview to avoid "blank" or "seeing previous page" issue
Removed unused method
Added xaml fallback to guarantee default/starting state

* Removed folder

* Updated factory logic to match master

* address code review

* addressed PR review

* address PR review

* Address PR review

* address PR review

* Address PR review

* [Peek] Add basic file querying and navigation (#22589)

* Refactor to facilitate file data initialization

* Extract file-related code to new FileManager class

* Add temp basic version

* Clean + add todo for cancellations

* Fix various nav-related issues

* Temp - start moving iteration-related code to bg thread

* Minor tweaks

* Add FEHelper todo

* Rename FileManager + various tweaks

* Add basic throttling

* Improve bg thread synchronization

* Clean

* Clean

* Rename based on feedback

* Rename FileQuery

* Rename properties

* Rename remaining fields

* Add todos for nav success/failures

Co-authored-by: Esteban Margaron <emargaron@microsoft.com>

* [Peek] Add customized title bar  (#22600)

* Add basic button UI

* Add function to get default app name and to open file in default app

* Correct error output

* Add filename to titlebar

* Remove titlebar text from Resw

* Add basic button UI

* Add function to get default app name and to open file in default app

* Add filename to titlebar

* Correct error output

* Remove titlebar text from Resw

* Add SetDragRectangles

* Correct logic, update function name

* Add localization

* Cleanup and adaptive width

* Add fileIndex/NumberOfFiles for multiple files activation

* Refine titlebar styles

* Update error message; Return HResult from native methods; Update variable initialisation and string null testing

* Titlebar height and adaptive width refinement

* Add fallback to launch app picker if fail to open default app

* Temp change to hide AppTitle_FileCount

* Update launch button to command; Add keyboard accelerator

* Update titlebar inactive background color

* Update tooltip to add keyboard accelerator

* Add comments to resw file

* Fix accidental deletion from previous merge

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>

* Fix crash

* Fix wrong thread exception

* Make CurrentItemIndex setter private

* Update titlebar filecount text

* Fix titlebar draggable region and interactive region (bump WinAppSdk to latest)

* [Peek] Unsupported File Previewer - Formatting string from resources (#22609)

* Moving to string resource usage

* Moving ReadableStringHelper to common project

* Fix comments

* [Peek] Fix foregrounding (#22633)

* Fixing foregrounding

* Get window handle inside BringToForeground extension method

Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] ImagePreviewer - Handle error states (#22637)

* add better preview state handling

* add error handling in imagepreviewer and better state handling

* fix error handling so exception is not bubbled up

* improve performance and hook up unsupported previewer on error

* remove commented code

* address pr comments

* [Peek] add PDF viewing support (#22636)

* [Peek] add PDF viewing support

* Fixed issue which would redirect some HTML and PDF files to external browser

* Fixed refactored interface name

* [Peek] Refine titlebar adaptive width (#22642)

* Adjust adaptive width of titlebar

* Remove visualstate setters for AppTitle_FileCount

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>

* [Peek] New File Explorer tabs break Shell API to get selected files (#22641)

* fix FE tab bug

* remove unnecessary unsafe keyword

* [Peek] add extra logic to properly render PNG files with transparency (#22613)

* [Peek] added extra logic to render PNG files with proper transparency

* Moved logic to ThumbnailHelper
Cleanup

* Created a separated previewer for PNG to only load the preview image with thumbnail logic

* removed unused code

* Updated state loading change

* [Peek] Unsupported File Previewer - Setting Window Size (#22645)

* Adding setting for unsupported file window

* Fix

* [Peek] Add tooltip to File (#22640)

* Add tooltip to File

* Add placeholder text for no tooltip

* Address comments

* Use StringBuilder

Co-authored-by: Jojo Zhou <yizzho@microsoft.com>

* Add full image quality support (#22654)

* [Peek] Window foregrounding simplification and fixes + keep window visible if FE single selection changed (#22657)

* Use different apis to bring to foreground removing remote thread wait and work as well as library loading

* Keep window open if single selected file in FE is different

* Removed unused methods

* [Peek] Add cancellation token OnFilePropertyChanged (#22643)

* Cancel file loading before opening another file

* Add omitted cancellation checks

* Catch task cancelled exception; Add more cancellation checkpoints

* Add cancellation checkpoint beofre GetBitmapFromHBitmapAsync

* Correct typo

* Update to pass cancellation token individually to each async methods

* Add lost cancellationToken source

* Add cancellation token to PngPreviewer

Co-authored-by: Yawen Hou <yawenhou@microsoft.com>

* [Peek] Unsupported File Previewer - Preserve Transparency For File Icons (#22650)

* Preserving transparency or icons

* Remove TODO

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Update some installer build steps + assets update (#22683)

* Fix settings & peek.ui.wpf

* Add back missing icon

* Add missing files and actions to installer

* Keep window open if the selected file in explorer is different (only works for single file selection)

* Undo last

* [Peek] Add copy keyboard accelerator (#22647)

* add copy keyboard accelerator

* Fix comments

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] add WV2 improvements (behavior and UX) (#22685)

* [Peek] added logic to get max monitor size for opening WebView2

* Removed ununsed dependency property

* Added workaround for cases where the web page would not finish navigating in a quick timing, for example google.com.

* Remove window extensions from common and use nullable size argument instead

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Merge main, self-contained .NET and fix WebView2 user data dir issue (#22899)

* Merge remote-tracking branch 'origin/main' into peek

* Test sc

* Set WebView2 user data dir

* spellcheck

* Fix comment

* Move check if higher quality image is already loaded to the exact line where we change the Preview bitmap (#23083)

* Fix opening Peek when FE window is set to full name path (#23082)

* Move check for png thubmnail loading priority

* Remove Peek.UI.WPF project

* Remove duplicated method in powertoys setup

* [Peek] Fix selecting files from the correct focused opened File Explorer tab & from Desktop (#23489)

* Get file based on active tab handle instead of window title

* Refactor code to get active tab

* Getting all items from the shell API working again, except for desktop

* Refactor and cleanup com & native code

* Add back removed peek xaml assets in Product.wxs

* Remove some dependencies that do not seem necessary in Product.wxs

* [Peek] Small images (#23554)

* change stretch value

* compare with actual window size

* consider scaling factor

* set max size

* clean up

* clean up

* clean up previewers

* scaling factor in bitmap previewer

* max image size property

* [Peek]Handle errors for HEIC/HEIF and fall back to default previewer if there is no thumbnail (#22684)

* Handle errors when getting filesize by falling back to default previewer

* Bringing back other file types that are fixed with these code changes

---------

Co-authored-by: Samuel Chapleau <sachaple@microsoft.com>

* [Peek] Add unsupported file icon fallback (#23735)

* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback

* Add svg to assets in installer

* [Peek] Refactoring of file system models, removal of PngPreviewer, retrieving of folder size via Scripting com reference and other fixes (#23955)

* Refactor icon retrieval, refactor hbitmap to bitmap conversion, add icon fallback

* Add svg to assets in installer

* - Refactor File class into IFileSystemItem, FileItem & FolderItem
- Display size for folders using Scripting namespace
- Remove default app buttons for files or folders not supporting it

* Add better content type via storage apis

* Add check for storagefile in PngPreviewer

* Fix png stretching

* Remove png previewer

* Rename ThumbnailOptions.None to ThumbnailOptions.ResizeToFit

* [Peek] Removed monitor percentage evaluation for the UnsupportedFilePreview control (#24002)

* Remove settings for percentage of windows and keep default min size.

* Fix margin on unsupported control

* Use nullable Size for image size & open file on background thread (#24004)

* [Peek] SVG support (#24237)

* svg previewer

* svg size

* set scaling factor

* set image size

* changed image source type

* non nullable image size

* notify svg previewer changed

* uncomment

* rename BitmapPreviewer

* move svg support

* remove svg previewer

* [Peek] Implementation of a performant and reliable Neighboring Files Query (#24943)

* Use IShellItemArray as the backing array of item

* Finalize and cleanup NFQ implementation

* Cleanup remainder of the code

* Remove unused using

* [Peek] Pin the window position  (#24927)

* [Peek] Telemetry and logging (#25231)

* text preview

* scrolling

* changed size

* webview2 preview

* common preview project

* previewpane: use common project

* peek: use common

* previewpane: moved md

* peek: md

* previewpane: clean up

* clean up

* moved monaco files

* moved formatters

* rename

* moved common monaco helper

* dev files support

* installer

* removed versions

* warnings: culture info

* warnings: names

* clean up

* warnings: dispose

* warnings: default values

* warnings

* warnings: charset

* warnings: exceptions

* suppress warning

* installer: added peek

* changed peek guid

* monaco folders

* peek deps

* peek files

* peek resources

* removed additional monaco folder

* set host name

* Update installer

* hardcode monaco path

* leave single webview control

* moved path to common

* project

* more meaningful todos

* moved temp folder cleanup

* todo

* extension check

* spell: monaco

* spellcheck

* spellcheck

* fix id

* fix spelling

* key to spelling

* id fix

* Fix monaco resolution at install time

* Fix user install. Add needed files

* installer: remove peek localization files. It's a WinUI app

* installer:fix signing

* removed unused

* settings: flyout enable/disable for Peek

* simplify string

* property changed handle

* [Peek][Settings] Peek OOBE page (#25895)

* [Peek] GPO (#25918)

* Add Native methods file to exception

* Fix merge issue on solution file

* Adjust spellcheck

* Remove boilerplate code

* Add module interface telemetry

* Remove change to README.md

* Add entry to README

* Clean up some non-changes

* Fix order of Peek in Settings menu

* [Settings] Make peek descriptions more descriptive

---------

Co-authored-by: Michael Salmon <miksalmon@users.noreply.github.com>
Co-authored-by: Michael Salmon 🐟 <michaelpsalmon@outlook.com>
Co-authored-by: Alireza Ebadi Ghajari <alirezae@microsoft.com>
Co-authored-by: Jessie Su <Jessie.Su@microsoft.com>
Co-authored-by: sujessie <102062556+sujessie@users.noreply.github.com>
Co-authored-by: Daniel Chau <d.chau@alumni.ubc.ca>
Co-authored-by: Daniel Chau <dancha@microsoft.com>
Co-authored-by: jth-ms <73617023+jth-ms@users.noreply.github.com>
Co-authored-by: Robson <rp.pontin@gmail.com>
Co-authored-by: estebanm123 <49930791+estebanm123@users.noreply.github.com>
Co-authored-by: Esteban Margaron <emargaron@microsoft.com>
Co-authored-by: Yawen Hou <Sytta@users.noreply.github.com>
Co-authored-by: Jojo Zhou <yizzho@microsoft.com>
Co-authored-by: Yawen Hou <yawenhou@microsoft.com>
Co-authored-by: Jojo Zhou <39350350+Joanna-Zhou@users.noreply.github.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>
Co-authored-by: Seraphima Zykova <zykovas91@gmail.com>
Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-05-10 10:43:03 -07:00
Jay
5aed67bc0d
Adjust font: size family; few corner-radii (#25358)
* SettingsCard ActionIcon 16

* Font Family + Size

* CornerRadius

* Misc

* extras

* Revert size 16 - 14

To be dealt with via Community

* other improvs

* other improvs

* try to adjust height to fit text

* adjust Border sizes to fit text

* undo
2023-05-09 16:40:18 +02:00
ひよどりBasist
39ea16a7e7
[Tests]Fix test file encoding from Latin-1 to UTF-8 (#25838) 2023-05-08 12:59:00 +01:00
Jaime Bernardo
9004f17f71
[Deps]Upgrade winAppSDK to 1.3 (#25876) 2023-05-08 12:11:15 +01:00
gokcekantarci
9c712760f9
[FZEditor]Gain focus after launching the editor (#25827)
* [Power Toys - Fancy Zones] Focus problem when activating layour editor is solved.

* haveTriedToGetFocusAlready variable added for focusing one time.

* [Power Toys - Fancy Zones] Functions are added to NativeMethods.cs
2023-05-05 16:46:27 +01:00