Commit Graph

185 Commits

Author SHA1 Message Date
Stefan Markovic
e637902892
[PowerRename][ImageResizer] Tier1 Win11 Context menu (#19000)
* Test win11 tier1 context menu

* Try to test signing

* Cleanup

* Cleanup project file

* Sign dll
Add PowerToys preffix
Add assets to installer

* expect.txt

* Switch to named pipes
Unregister package on uninstall
Remove unneeded files
Cleanup

* Bring back check if package registered but use per-user method

* Fix win11 check

* expect.txt

* Check if package already registered

* Revert "Check if package already registered"

FindPackages() method needs admin privileges.

This reverts commit 5af584fed4.

* Fix PowerRename args checking

* Cleanup assets

* Tier1 context menu ImageResizer
Minor cleanups
Move logic to package.h

* [WIP] Signing and installer
Expect.txt

* Localized context menu title

* Retarget everything 10.0.18362.0 -> 10.0.19041.0

* Address PR comments
 - check if selection renamable
 - minor cleanup
 - struct initialization

* Fix ImageResizerLib project configuration

* More Windows version updates

* Remove unneeded file & try fix resource build error

* Add Microsoft.PowerToys prefix to packages

* Test

* Fix convert-resx-to-rc.ps1 script issue causing resource files compile error

Don't generate empty STRINGTABLE for resx files without data

* Avoid duplicate context menu items

* [BugReportTool] Report installed context menu packages
2022-06-30 22:10:14 +02:00
Jaime Bernardo
3b542d2fdf
[chore]Force specific Newtonsoft.Json version (#19093) 2022-06-28 20:47:53 +01:00
Jaime Bernardo
f8c624a62d
[test][chore]Update test sdk to 17.2.0 (#19059)
* [test][chore]Update test sdk to 17.2.0

* Add timezone unit tests to CI
2022-06-28 14:30:03 +01:00
Davide Giacometti
b33bc2ecd0
[NetAnalyzers]CA1031 suppressions cleanup (#18706) 2022-06-12 14:11:52 +01:00
Adam Childers
61805aada2
[ImageResizer]Don't update metadata if image wasn't changed (#17880)
* Update ResizeOperation.cs

Add a new boolean to check if the image was resized, skip modifying the metadata if the image was not modified.

* Simplify code to prevent un-needed metadata work when the image isn't changed

Simplify code to prevent un-needed metadata work when the image isn't changed. Thanks Crutkas for the guidance.
2022-05-24 15:58:38 +01:00
Jaime Bernardo
13750188fd
[ARM64]CI and build pipelines (#18337)
* [ARM64]Build pipelines

* Fix localization in pipelines (no arm64 al.exe)

* Use lowercase arm64 for CI

* Build installer to arm64 folder and arm64 name

* Don't run arm64 tests, as there's no agent for it

* Fix pipeline conditions

* Divide symbol files by platform
2022-05-19 14:02:08 +01:00
Andrey Nekrasov
3443c73d0e
[ARM64] Installer Bootstrapper (#18241)
* [ARM64] Cleanup PowerToys solution configuration

* [ARM64] Add Bootstrapper support

known issues:
- wix doesn't have arm platform -> using x86 instead, resulting in wrong default installation dir and inability to detect 605
- current winappsdk 1.0.3 installer is corrupted -> contains x64 packages
- we're still using hardcoded vcredist for some modules

* Remove duplicate Stylecop PackageReference

* [ARM64] Cleanup StylesReportTool configuration

* [ARM64] fix configurations for bootstrapper

* fixes

* [ARM64] VCM fix

* [ARM64] Fix LinkIncremental conditional in StylesReportTool

* fix #2

* perfect forwarding

* [ARM64] Switch to call vformat to compile with later MSVC toolkits

* Updated expect

Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
2022-05-13 16:55:39 +01:00
Stefan Markovic
90ecd5e10f
[PowerRename] Move to WinAppSDK WinUI3 Unpackaged & ARM64 Support (#18171)
* Migrate PowerRename to Unpackaged WinUI3

* [ARM64] PowerRename (#18002)

* Migrate PowerRename to Unpackaged WinUI3

* Removed Project Config and update PlatformToolset to v143

* Updated solution config

* Migrate PowerRename to Unpackaged WinUI3

* Fixed configs changed from ARM64 build

* Left one project out of fix

Co-authored-by: Stefan Markovic <stefan@janeasystems.com>
Co-authored-by: Stefan Markovic <57057282+stefansjfw@users.noreply.github.com>

* Minor fixes

* Remove PowerRenameUILib from signing list - doesn't exist anymore

* Remove PowerRenameUILib from move_uwp_resources.ps1

* Bring back old dir name to see if localization is preserved
Remove move_uwp_resources.ps1 - not needed anymore

* Remove UWP localization docs part

* Fix minor UI quirk

Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
2022-05-11 16:38:12 +02:00
Andrey Nekrasov
6a2d9e4e39
Arm64 pending modules (#17972)
* [ARM64] Add arm64 configurations to tools projects

* [ARM64] Add arm64 configurations to FZ projects

* [ARM64] Add arm64 configurations to Awake project

* [ARM64] Add arm64 configurations to PowerRename projects

* [ARM64] Add arm64 configurations to update-related projects

* [ARM64] Add arm64 configurations to VCM projects

* [ARM64] Add arm64 configurations to ShortcutGuide project

* [ARM64] Add arm64 configurations to PreviewPane projects

* [ARM64] Add arm64 configurations to FindMyMouse projects

* [ARM64] Add arm64 configurations to KBM projects

* Project cleanup

Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
2022-05-11 11:35:18 +01:00
Jeremy Sinclair
5bcd767d49
[ARM64] ImageResizer (#17846)
* ImageResizer project cleanup

* Updated PowerToys solution

* Added Platforms and PlatformTarget
2022-04-21 10:00:04 +01:00
Stefan Markovic
88517bfdf7
[FileExplorerPreview] Move everything from WebBrowser to WebView2 (#17588)
* Move MarkdownPreviewHandler from WebBrowser to WebView2

* Disable context menu
Open links in default browser

* Update expect.txt

* Move SvgPreviewHandler from WebBrowser to WebView2

* Migrate SvgThumbnailProvider from WebBrowser to WebView2

* Migrate CustomControlTest to WebView2
Remove WebBrowser related stuff

* Update tests

* Revert GetThumbnail return value
Disable javascript dialogs in WebView2 for Svg thumbnail and preview

* expect.txt

* Increase timeout for Markdown tests

* Add sleeps

* Add zero check
2022-04-14 16:27:22 +01:00
Josh Soref
52709ddc4a
[spellchecker] Spelling fixes (#17655)
* spelling: microphone

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: position

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: property

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: serialization

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: settings

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: testprocess

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* Ignore rotating

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-04-12 16:13:22 +01:00
CleanCodeDeveloper
2e3a2b3f96
[meta]common csproj/vcxproj settings to Directory.Build.props (#17067)
* Add common csproj/vcxproj settings to Directory.Build.props

* Set TreatWarningsAsErrors to true for all c# projects

* Minor fixes in unit test projects where Analyzers where not enabled before

* Clean up Directory.Build.props

* Remove properties from ImageResizer csprojs files
2022-03-18 16:47:18 +00:00
CleanCodeDeveloper
2b747d02d3
[ImageResizer] Enable analyzer and fix warnings (#16512) 2022-02-22 22:01:48 +00:00
CleanCodeDeveloper
4572f62ce5
[meta]Update nuget packages (#16379)
* Update nuget packages

* try to fix build (Microsoft.UI.Xaml)

* Removed dlls because there are not needed anymore

* Add binaries System.Text.Json.dll (5x) to wxs file

* Downgrade System.IO.Abstractions.* due to breaking changes

* Update Microsoft.NET.Test.Sdk

* Revert MSTest.* to 2.2.3
2022-02-18 14:19:40 +00:00
Aaron Junker
3ede2a6467
[meta]Change copyright date to 2022 (#16279) 2022-02-17 18:41:30 +00:00
CleanCodeDeveloper
f0d084c59c
[meta]replace FxCopAnalyzers by Microsoft.CodeAnalysis.NetAnalyzers (#16210)
* Replace Microsoft.CodeAnalysis.FxCopAnalyzers by Microsoft.CodeAnalysis.NetAnalyzers

* fix error CA2101: Specify marshaling for P/Invoke string arguments

Microsoft.CodeAnalysis.NetAnalyzers treats CA2101 as an error

* Removed obsolete Analyzer Microsoft.NetCore.Analyzers

* Removed obsolete Analyzer Microsoft.NetFramework.Analyzers

* Removed obsolete Analyzer Microsoft.CodeQuality.Analyzers

* Removed obsolete Analyzer Microsoft.CodeAnalysis.VersionCheckAnalyzer

* fix error CA2101: Specify marshaling for P/Invoke string arguments

Microsoft.CodeAnalysis.NetAnalyzers treats CA2101 as an error
2022-02-11 16:42:17 +00:00
Davide Giacometti
e284b07da7
[Common]fix fancy zones exclusion (#16041)
replace WS_POPUP with WS_EX_TOOLWINDOW
2022-02-07 19:16:36 +00:00
Clint Rutkas
c46ccce373
[build]Update to .net 6 framework and VS 2022 (#15741)
* Update release.yml

* Update ColorPickerUI.csproj

* Update release.yml

adding in .net6 sdk and moving stuff sooner

* Update release.yml

* Update release.yml

* fixing test

* Forcing vs17 and adding in .net 6 sdk

* forcing pool

* fixing issues in each pipeline

* moving release .net up

* fixing diff on agent version for nuget installer

* Removing system.text.json.dll as included now

* getting unit tests it looks like to work

* updating everythign to .net 6 minus wxs for runtime

* unit test still have

* getting 6.0 stuff up and going.  Terminal Unit tests have file max length issue ....

* found i think the last .net 5 issue

* looks like i wasn't aggressive enough with the 6.0 upgrade

* Getting stuff .net 6 buildable again

* tweaking with new stuff for installer

* Update newly added merged projects to .net 6

* Fix HeatDirectory bug on VS 2022

* Settings still needs JSON dependency

* Revert "getting 6.0 stuff up and going.  Terminal Unit tests have file max length issue ...."

This reverts commit b9cb4586dc.

* Update sln version

* supress obsolete warning, since this is not a new development

* Partially Revert "Getting stuff .net 6 buildable again"

This reverts commit 42b4201c6b.

* supress another obsolete warning, since this is not a new development

* Reduce the unit test project name to avoid MAX PATH in CI

* Upgrade project's toolset in the main solution

* Some TODOs to review HttpClient usage

* Upgrade project toolsets from other solutions

* Install .net 6 instead of .net 5

* Fix issue when disabling PowerToys Run on .net framework 6

* Update docs for Visual Studio 2022

* PR comments: manually upgrade missing VS 2019 references

* Discard no discard values to solve compiler warnings

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2022-02-07 14:08:30 +00:00
CleanCodeDeveloper
8bb0772ae5
[ImageResizer] Fix bug "Operation caused an invalid state" (#15852)
* Add metadata check to ensure valid metadata

* Thank you Mister Spellbot
2022-02-04 16:59:33 +00:00
CleanCodeDeveloper
2ccf492707
[ImageResizer]Fix regression: Too much metadata (#15548) 2022-01-24 13:37:25 +00:00
CleanCodeDeveloper
ac4f725433
[ImageRsizer] Add support for blanks in height/width fields (#15368) 2022-01-21 17:42:50 +00:00
Stefan Markovic
a1643b0a2e
Upgrade .NET Core 3.1 to .NET 5 (#15591)
* Common.UI

* ColorPicker

* PT Run

* File Explorer Add-ons

* Awake

* FZ Editor

* ImageResizer

* Interop

* Docs

* Installer

* Fix test not being run - Downgrade MSTest.TestAdapter & MSTest.TestFramework

* Update expect.txt

* Test run fix
2022-01-18 15:52:22 +01:00
Dustin L. Howett
4484727c69
Remove all vestiges of the old CDPx pipeline and old loc data (#15242)
This pull request removes build steps and localization files that we no longer need.

Related: #15243
2022-01-03 17:51:56 -06:00
CleanCodeDeveloper
d39c4121a9
fix regression #14715 by adding an additional check for the newly build metadata object (#15198) 2021-12-29 09:01:31 -08:00
Stefan Markovic
073caffef4
[Settings, Common.UI, runner exe] Unify exe/dll naming (#15005)
* Unify exe/dll naming - PowerToys.Runner

Align naming with other exes - PowerToys Runner -> PowerToys.Runner

* Unify exe/dll naming - Microsoft.PowerToys.Common.UI

Project name - Microsoft.PowerToys.Common.UI -> Common.UI
dll name - Microsoft.PowerToys.Common.UI.dll -> PowerToys.Common.UI.dll

* Unify exe/dll naming - Settings

Project names - Microsoft.PowerToys.Settings* -> Settings*
Dll names - Microsoft.PowerToys.Settings*.dll -> PowerToys.Settings*.dll

* Revert file autoformat

* [Docs] Update paths to settings projects/files

* Fix tests - Update path
2021-12-15 12:56:52 +01:00
CleanCodeDeveloper
9152ea8f1c
[Image Resizer]Try to recover metadata even when the metadata data structure is invalid (#14914)
* metadata.Clone() fails also for situations where we still can recover metadata

metadata.Clone() is also an expensive operation (deep copy) and it is not necessary anymore as we build up the metadata object from scratch anyway

* If an exception is throw here something is seriously wrong with the metadata structure

We take all metadata we have read so far an write it to the resized image

* add log statement

* Adjust test written for #2447 as we are able to copy the metadata now

* Improve documentation
2021-12-10 13:54:05 +00:00
Stefan Markovic
dfe9169e39
[modules] Unify exe & dll naming (#14903)
* Unify exe/dll naming - AwakeModuleInterface

* Unify exe/dll naming - ColorPicker.dll & ColorPickerUI.exe

* Unify exe/dll naming - FancyZones, FancyZonesEditor & FancyZonesModuleInterface

* Unify exe/dll naming - ImageResizerExt & ImageResizer.exe

* Unify exe/dll naming - KeyboardManager.dll

* Unify exe/dll naming - FindMyMouse & MouseHighlighter

* Unify exe/dll naming - PowerRename.dll, PowerRenameUIHost & PowerRenameUILib

* Unify exe/dll naming - File Explorer add-ons

* Unify exe/dll naming - ShortcutGuide

* Unify exe/dll naming - VCM

* Unify exe/dll naming - PT Run

* Unify exe/dll naming - *.resources.dll

* [Fix] Unify exe/dll naming - VideoConferenceProxyFilter_x86
2021-12-10 10:50:46 +01:00
CleanCodeDeveloper
e6428da21f
[ImageResizer]fix colorspace metadata regression (#14867) 2021-12-06 19:28:57 +00:00
Stefan Markovic
88ec74d81e
Unify dll/exe naming - interop (#14795) 2021-12-06 16:27:54 +01:00
Stefan Markovic
87f6278bf9
Standardize Image Resizer naming (#14694)
* Standardize Image Resizer naming

* Use no-throw methods

* Do not move if new dir already exist

* Update test files paths
2021-12-02 09:08:43 +01:00
CleanCodeDeveloper
6452369351
[Image Resizer] Fix image resizer unexpected property type or value (#14475)
* fixes issue #9885, image 2 and 3

* fixes issue #9885, image 1

* fixes issue #9885, image 2 and 3 (refactoring)

* try to get past the spell checker

* Loop over all metadata and try to read the actual value. Remove metadata item if exception is thrown on reading the value.

* Add debug utils which will help to troubleshoot further metadata bugs

* Revert "try to get past the spell checker"

This reverts commit 34aa0728b5.

* I gave up on fiddling with individual metadata decided to  build up the metadata object from the scratch

* Improved log messages, add comments, renamed variables
2021-11-23 11:19:09 +00:00
Jaime Bernardo
c2adab0716
[ImageResizer]Sanitize target file name (#14040)
* [ImageResizer] Sanitize target file name

* Add a test

* Avoid not recommended file names
2021-11-08 16:43:50 +00:00
CleanCodeDeveloper
9ca32aa3ea
[Image Resizer] Add option to remove metadata (#14176)
* Implements option to remove metadata (see #1928)

* Add unit test

* renamed settings switch, update ui text

* Fix exception type, add justification for swallowing exception

* Add unit test to check handling if no metadata is there in targetfile

* Reordered the checkboxes as suggested by @htcfreek

* Reduced size of test image
2021-11-03 18:05:35 +00:00
Stefan Markovic
5cfbd72fa8
[PowerRename] Fluent UX (#13678)
* PowerRename new UI

* Add scrollviewer

* Don't deploy PowerRenameUI_new

* Visual updates

* Visual updates

* Updates

* Update Resources.resw

* Added docs button

* Update MainWindow.xaml

* Wire Docs button

* RegEx -> regular expressions

* Update Show only renamed list on search/replace text changed

* Update Show only renamed list on search/replace text changed - proper fix
Set searchTerm to NULL when cleared - fix Show only renamed files on clear searchTerm

* Files/folders input error handling

* Fix renaming with keeping UI window opened

After renaming folder, all of it's children need path update.
Without path update, further renaming of children items would
fail.

* Update only children, not all items with greater depth

* Fix dictionary false positives

* Remove .NET dep

* Rename PowerRenameUI_new to PowerRenameUILib
Rename executable PowerRenameUIHost to PowerRename

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-25 14:40:19 +01:00
Niels Laute
4803180bcf
[Image Resizer] Add settings button (#13773)
* Add deeplink

* Update InputPage.xaml

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-12 13:23:06 +02:00
csigs
9d3c5e50d6
LEGO: check in for master to temporary branch. (#13610) 2021-10-04 18:16:09 +01:00
Jaime Bernardo
b0d35f5ef8
Fix for WPF DPI issue on .net 3.1.19 (#13551) 2021-10-01 14:03:04 +01:00
csigs
6e4a5a4bb6
LEGO: check in for master to temporary branch. (#13461) 2021-09-27 15:20:23 +01:00
Niels Laute
d199b41937
[Image Resizer] ComboBox UI (#13321)
* UI updates

* Added combobox

* Updated UI

* Updated UI

Co-authored-by: Niels Laute <niels9001@hotmail.com>
2021-09-21 18:44:48 +02:00
csigs
ee69dc5e44
LEGO: check in for master to temporary branch. (#12952) 2021-09-03 10:56:44 +01:00
Davide Giacometti
d197ddeb15
handling malformed json (#12942) 2021-08-30 20:37:04 +02:00
Jaime Bernardo
39d46074d6
[Image Resizer] Add warning for gif files (#12892) 2021-08-25 16:50:35 +01:00
Roy
ea25bd91b0
Standardize .NET JSON on System.Text.Json (#12805)
* Implement System.Text.Json for Community.PowerToys.Run.Plugin.VSCodeWorkspaces (#11697)

* Implement System.Text.Json for Community.PowerToys.Run.Plugin.VSCodeWorkspaces

* Cleanup property names

* Implement System.Text.Json for Microsoft.PowerToys.Settings.UI (#11702)

* Implement System.Text.Json for Powerlauncher (#11699)

* Implement System.Text.Json for Wox.Infrastructure

* Implement System.Text.Json for Powerlauncher

* Implement System.Text.Json for Microsoft.Plugin.Folder

* Implement System.Text.Json for Wox.Plugin

* Remove Newtonsoft.Json from launcherInstallComponent

* Update properties with private setter
Format JSON output

* Serialize Get with private set property

* Implement System.Text.Json for ImageResizerUI (#11847)

* Implement System.Text.Json for ImageRezierUI

* Change Newtonsoft.Json.dll to System.Text.Json in ImageResizer

* Add  writefile to spelling whitelist

* Fix installer

* Fix bad merge

Co-authored-by: mykhailopylyp <17161067+mykhailopylyp@users.noreply.github.com>
2021-08-20 14:36:29 +01:00
Davide Giacometti
e96c0da265
Test frameworks consolidated (#12672) 2021-08-16 14:25:06 +01:00
csigs
3116cb073c
LEGO: check in for master to temporary branch. (#12700) 2021-08-12 12:28:34 +01:00
Clint Rutkas
03eb9c3f5c
checking for NaN, not just zero (#12058) 2021-06-30 17:16:45 -07:00
Clint Rutkas
0f19d675f5
moving apps to 0.9.4 that were not. (#11604)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2021-06-08 10:16:04 -07:00
Davide Giacometti
4a65aa3d0e
minimum size width and height (#11380) 2021-05-21 15:58:57 +02:00
csigs
088b23f09a
LEGO: check in for master to temporary branch. (#11039) 2021-05-03 06:28:40 +02:00