[Analyzers] Update .editorconfig with rules to relax IDE errors (#36095)
* [Analyzers] Remove duplicate pascal case style from .editorconfig
* [Analyzers] Configured severity for individual IDE and CA rules showing as errors in VS
Set severity for IDE0005, IDE0008, IDE0016, IDE0018, IDE0019, IDE0021, IDE0022, IDE0023, IDE0025, IDE0027, IDE0028, IDE0029, IDE0031, IDE0032, IDE0034, IDE0036, IDE0039, IDE0042, IDE0044, IDE0045, IDE0046, IDE0047, IDE0057, IDE0051, IDE0052, IDE0054, IDE0055, IDE0056, IDE0057, IDE0059, IDE0060, IDE0061, IDE0063, IDE0071, IDE0073, IDE0074, IDE0075, IDE0077, IDE0078, IDE0083, IDE0090, IDE0100, IDE0130, IDE160, IDE180, IDE0200, IDE0240, IDE0250, IDE0251, IDE0260, IDE0270, IDE0290, IDE0300, IDE0301, IDE0305, IDE1005, IDE1006, CA1859, CA2022, CA2263
* [Analyzers] Fix mismatched analyzer descriptions
* [Analyzers] Fix misspelling
* Update .editorconfig
Made the following style rules `silent` instead of `suggestion`:
- Use explicit type instead of 'var'
- Use expression body for ...
- Use block-scoped namespace
* [Analyzers] Set IDE0290 to silent
* [Analyzers] Remove IDE1006 configuration from .editorconfig in favor of making exclusions for the few entries
* [Analyzers][Indexer] Add IDE1006 suppressions
* [Analyzers][Peek] Add IDE1006 suppression
* [Analyzers][MWB] Add IDE1006 suppression.
* [Analyzers][Plugins] Add IDE1006 suppression
* [Analyzers][ImageResizer] Suppress IDE0073 to retain original copyright
* [Analyzers] Remove IDE0073 severity change in .editorconfig
---------
Co-authored-by: Ani <115020168+drawbyperpetual@users.noreply.github.com>
2024-12-04 12:58:36 -05:00
|
|
|
|
#pragma warning disable IDE0073
|
|
|
|
|
|
// Copyright (c) Brice Lambson
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
// The Brice Lambson licenses this file to you under the MIT license.
|
|
|
|
|
|
// See the LICENSE file in the project root for more information. Code forked from Brice Lambson's https://github.com/bricelam/ImageResizer/
|
[Analyzers] Update .editorconfig with rules to relax IDE errors (#36095)
* [Analyzers] Remove duplicate pascal case style from .editorconfig
* [Analyzers] Configured severity for individual IDE and CA rules showing as errors in VS
Set severity for IDE0005, IDE0008, IDE0016, IDE0018, IDE0019, IDE0021, IDE0022, IDE0023, IDE0025, IDE0027, IDE0028, IDE0029, IDE0031, IDE0032, IDE0034, IDE0036, IDE0039, IDE0042, IDE0044, IDE0045, IDE0046, IDE0047, IDE0057, IDE0051, IDE0052, IDE0054, IDE0055, IDE0056, IDE0057, IDE0059, IDE0060, IDE0061, IDE0063, IDE0071, IDE0073, IDE0074, IDE0075, IDE0077, IDE0078, IDE0083, IDE0090, IDE0100, IDE0130, IDE160, IDE180, IDE0200, IDE0240, IDE0250, IDE0251, IDE0260, IDE0270, IDE0290, IDE0300, IDE0301, IDE0305, IDE1005, IDE1006, CA1859, CA2022, CA2263
* [Analyzers] Fix mismatched analyzer descriptions
* [Analyzers] Fix misspelling
* Update .editorconfig
Made the following style rules `silent` instead of `suggestion`:
- Use explicit type instead of 'var'
- Use expression body for ...
- Use block-scoped namespace
* [Analyzers] Set IDE0290 to silent
* [Analyzers] Remove IDE1006 configuration from .editorconfig in favor of making exclusions for the few entries
* [Analyzers][Indexer] Add IDE1006 suppressions
* [Analyzers][Peek] Add IDE1006 suppression
* [Analyzers][MWB] Add IDE1006 suppression.
* [Analyzers][Plugins] Add IDE1006 suppression
* [Analyzers][ImageResizer] Suppress IDE0073 to retain original copyright
* [Analyzers] Remove IDE0073 severity change in .editorconfig
---------
Co-authored-by: Ani <115020168+drawbyperpetual@users.noreply.github.com>
2024-12-04 12:58:36 -05:00
|
|
|
|
#pragma warning restore IDE0073
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Concurrent;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.IO;
|
2020-11-02 18:33:43 +01:00
|
|
|
|
using System.IO.Abstractions;
|
2022-06-30 22:10:14 +02:00
|
|
|
|
using System.IO.Pipes;
|
|
|
|
|
|
using System.Text;
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
using System.Threading;
|
|
|
|
|
|
using System.Threading.Tasks;
|
2024-09-16 16:09:43 -04:00
|
|
|
|
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
using ImageResizer.Properties;
|
|
|
|
|
|
|
|
|
|
|
|
namespace ImageResizer.Models
|
|
|
|
|
|
{
|
|
|
|
|
|
public class ResizeBatch
|
|
|
|
|
|
{
|
2020-11-02 18:33:43 +01:00
|
|
|
|
private readonly IFileSystem _fileSystem = new FileSystem();
|
|
|
|
|
|
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
public string DestinationDirectory { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
public ICollection<string> Files { get; } = new List<string>();
|
|
|
|
|
|
|
|
|
|
|
|
public static ResizeBatch FromCommandLine(TextReader standardInput, string[] args)
|
|
|
|
|
|
{
|
|
|
|
|
|
var batch = new ResizeBatch();
|
2022-06-30 22:10:14 +02:00
|
|
|
|
const string pipeNamePrefix = "\\\\.\\pipe\\";
|
|
|
|
|
|
string pipeName = null;
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
|
2020-10-01 11:33:23 -07:00
|
|
|
|
for (var i = 0; i < args?.Length; i++)
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
{
|
|
|
|
|
|
if (args[i] == "/d")
|
|
|
|
|
|
{
|
|
|
|
|
|
batch.DestinationDirectory = args[++i];
|
|
|
|
|
|
continue;
|
|
|
|
|
|
}
|
2022-06-30 22:10:14 +02:00
|
|
|
|
else if (args[i].Contains(pipeNamePrefix))
|
|
|
|
|
|
{
|
|
|
|
|
|
pipeName = args[i].Substring(pipeNamePrefix.Length);
|
|
|
|
|
|
continue;
|
|
|
|
|
|
}
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
|
|
|
|
|
|
batch.Files.Add(args[i]);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-06-30 22:10:14 +02:00
|
|
|
|
if (string.IsNullOrEmpty(pipeName))
|
|
|
|
|
|
{
|
|
|
|
|
|
// NB: We read these from stdin since there are limits on the number of args you can have
|
|
|
|
|
|
string file;
|
|
|
|
|
|
if (standardInput != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
while ((file = standardInput.ReadLine()) != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
batch.Files.Add(file);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
using (NamedPipeClientStream pipeClient =
|
|
|
|
|
|
new NamedPipeClientStream(".", pipeName, PipeDirection.In))
|
|
|
|
|
|
{
|
|
|
|
|
|
// Connect to the pipe or wait until the pipe is available.
|
|
|
|
|
|
pipeClient.Connect();
|
|
|
|
|
|
|
|
|
|
|
|
using (StreamReader sr = new StreamReader(pipeClient, Encoding.Unicode))
|
|
|
|
|
|
{
|
|
|
|
|
|
string file;
|
|
|
|
|
|
|
|
|
|
|
|
// Display the read text to the console
|
|
|
|
|
|
while ((file = sr.ReadLine()) != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
batch.Files.Add(file);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
return batch;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-10-01 11:33:23 -07:00
|
|
|
|
public IEnumerable<ResizeError> Process(Action<int, double> reportProgress, CancellationToken cancellationToken)
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
{
|
|
|
|
|
|
double total = Files.Count;
|
[ImageResizer] Fix issue where settings could be changed during a batch resize (#42163)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
This fixes an issue where the Image Resizer settings were reloaded for
every resize operation in a multi-file batch. This could result in
inconsistent resize results if the Settings application or the user
interacted with the settings and the properties were changed, even
temporarily.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] Closes: #42116, #35114
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [x] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
Corrects an issue in `ResizeBatch.Execute()` where `Settings.Default`
was used:
```csharp
protected virtual void Execute(string file)
=> new ResizeOperation(file, DestinationDirectory, Settings.Default).Execute();
```
Unfortunately, `Settings.Default` is poorly named, and is not a constant
property. Instead it actually calls `Reload()`, which loads the settings
JSON file and re-processes it fully:
```csharp
[JsonIgnore]
public static Settings Default
{
get
{
defaultInstance.Reload();
return defaultInstance;
}
}
```
If the settings are changed part-way through a resize batch operation
(even scrolling through the presets will set `selectedIndex` and save it
back to disk), the batch resize operation may switch to a different
resize behaviour, giving inconsistent results. The chances of this
occurring increase with the length of the batch operation.
### Solution
The solution is to set the `Settings` outside of the main loop and use
that for every resize operation, which is what this PR does.
`Process` is altered to load the `Settings` at the start and pass that
to `Execute` on each iteration of the batch loop:
```csharp
public IEnumerable<ResizeError> Process(Action<int, double> reportProgress, CancellationToken cancellationToken)
{
double total = Files.Count;
int completed = 0;
var errors = new ConcurrentBag<ResizeError>();
var settings = Settings.Default;
...
Execute(file, settings);
```
`Execute` is updated to accept a `Settings` object instead of using
`Settings.Default`:
```csharp
protected virtual void Execute(string file, Settings settings)
=> new ResizeOperation(file, DestinationDirectory, settings).Execute();
```
### Additional changes
The batch-related unit tests failed after the above change. I updated
the Mock `Execute` to reflect the use of the `Settings` parameter. Also,
the `Settings` class was unfortunately bound to the WPF UI, and could
not be instantiated during unit testing. I've refactored this so it can
be instantiated with or without an `App.Current.Dispatcher`. Ther's a
new `ReloadCore()` method which just contains the extracted property
setting code.
None of the unit tests currently use the settings themselves, but at
least the capability is now there.
I also removed the setting of the `MaxDegreeOfParallelism` option in the
`Parallel.For()`. When left at its default, the runtime will use the
appropriate number of threads, and the heuristic it uses may not
necessarily equal the number of processor cores in the system.
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Ensured all existing unit tests passed.
- Tested with multiple runs of resizing 200 image files while browsing
and changing the settings. This was no longer able to alter the ongoing
resize operations.
- Checked that the settings could still be amended via the Settings app.
---------
Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-11-06 11:55:47 +00:00
|
|
|
|
int completed = 0;
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
var errors = new ConcurrentBag<ResizeError>();
|
|
|
|
|
|
|
[ImageResizer] Fix issue where settings could be changed during a batch resize (#42163)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
This fixes an issue where the Image Resizer settings were reloaded for
every resize operation in a multi-file batch. This could result in
inconsistent resize results if the Settings application or the user
interacted with the settings and the properties were changed, even
temporarily.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] Closes: #42116, #35114
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [x] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
Corrects an issue in `ResizeBatch.Execute()` where `Settings.Default`
was used:
```csharp
protected virtual void Execute(string file)
=> new ResizeOperation(file, DestinationDirectory, Settings.Default).Execute();
```
Unfortunately, `Settings.Default` is poorly named, and is not a constant
property. Instead it actually calls `Reload()`, which loads the settings
JSON file and re-processes it fully:
```csharp
[JsonIgnore]
public static Settings Default
{
get
{
defaultInstance.Reload();
return defaultInstance;
}
}
```
If the settings are changed part-way through a resize batch operation
(even scrolling through the presets will set `selectedIndex` and save it
back to disk), the batch resize operation may switch to a different
resize behaviour, giving inconsistent results. The chances of this
occurring increase with the length of the batch operation.
### Solution
The solution is to set the `Settings` outside of the main loop and use
that for every resize operation, which is what this PR does.
`Process` is altered to load the `Settings` at the start and pass that
to `Execute` on each iteration of the batch loop:
```csharp
public IEnumerable<ResizeError> Process(Action<int, double> reportProgress, CancellationToken cancellationToken)
{
double total = Files.Count;
int completed = 0;
var errors = new ConcurrentBag<ResizeError>();
var settings = Settings.Default;
...
Execute(file, settings);
```
`Execute` is updated to accept a `Settings` object instead of using
`Settings.Default`:
```csharp
protected virtual void Execute(string file, Settings settings)
=> new ResizeOperation(file, DestinationDirectory, settings).Execute();
```
### Additional changes
The batch-related unit tests failed after the above change. I updated
the Mock `Execute` to reflect the use of the `Settings` parameter. Also,
the `Settings` class was unfortunately bound to the WPF UI, and could
not be instantiated during unit testing. I've refactored this so it can
be instantiated with or without an `App.Current.Dispatcher`. Ther's a
new `ReloadCore()` method which just contains the extracted property
setting code.
None of the unit tests currently use the settings themselves, but at
least the capability is now there.
I also removed the setting of the `MaxDegreeOfParallelism` option in the
`Parallel.For()`. When left at its default, the runtime will use the
appropriate number of threads, and the heuristic it uses may not
necessarily equal the number of processor cores in the system.
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Ensured all existing unit tests passed.
- Tested with multiple runs of resizing 200 image files while browsing
and changing the settings. This was no longer able to alter the ongoing
resize operations.
- Checked that the settings could still be amended via the Settings app.
---------
Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-11-06 11:55:47 +00:00
|
|
|
|
// NOTE: Settings.Default is captured once before parallel processing.
|
|
|
|
|
|
// Any changes to settings on disk during this batch will NOT be reflected until the next batch.
|
|
|
|
|
|
// This improves performance and predictability by avoiding repeated mutex acquisition and behaviour change results in a batch.
|
|
|
|
|
|
var settings = Settings.Default;
|
|
|
|
|
|
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
// TODO: If we ever switch to Windows.Graphics.Imaging, we can get a lot more throughput by using the async
|
|
|
|
|
|
// APIs and a custom SynchronizationContext
|
|
|
|
|
|
Parallel.ForEach(
|
|
|
|
|
|
Files,
|
|
|
|
|
|
new ParallelOptions
|
|
|
|
|
|
{
|
|
|
|
|
|
CancellationToken = cancellationToken,
|
|
|
|
|
|
},
|
|
|
|
|
|
(file, state, i) =>
|
|
|
|
|
|
{
|
|
|
|
|
|
try
|
|
|
|
|
|
{
|
[ImageResizer] Fix issue where settings could be changed during a batch resize (#42163)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
This fixes an issue where the Image Resizer settings were reloaded for
every resize operation in a multi-file batch. This could result in
inconsistent resize results if the Settings application or the user
interacted with the settings and the properties were changed, even
temporarily.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] Closes: #42116, #35114
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [x] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
Corrects an issue in `ResizeBatch.Execute()` where `Settings.Default`
was used:
```csharp
protected virtual void Execute(string file)
=> new ResizeOperation(file, DestinationDirectory, Settings.Default).Execute();
```
Unfortunately, `Settings.Default` is poorly named, and is not a constant
property. Instead it actually calls `Reload()`, which loads the settings
JSON file and re-processes it fully:
```csharp
[JsonIgnore]
public static Settings Default
{
get
{
defaultInstance.Reload();
return defaultInstance;
}
}
```
If the settings are changed part-way through a resize batch operation
(even scrolling through the presets will set `selectedIndex` and save it
back to disk), the batch resize operation may switch to a different
resize behaviour, giving inconsistent results. The chances of this
occurring increase with the length of the batch operation.
### Solution
The solution is to set the `Settings` outside of the main loop and use
that for every resize operation, which is what this PR does.
`Process` is altered to load the `Settings` at the start and pass that
to `Execute` on each iteration of the batch loop:
```csharp
public IEnumerable<ResizeError> Process(Action<int, double> reportProgress, CancellationToken cancellationToken)
{
double total = Files.Count;
int completed = 0;
var errors = new ConcurrentBag<ResizeError>();
var settings = Settings.Default;
...
Execute(file, settings);
```
`Execute` is updated to accept a `Settings` object instead of using
`Settings.Default`:
```csharp
protected virtual void Execute(string file, Settings settings)
=> new ResizeOperation(file, DestinationDirectory, settings).Execute();
```
### Additional changes
The batch-related unit tests failed after the above change. I updated
the Mock `Execute` to reflect the use of the `Settings` parameter. Also,
the `Settings` class was unfortunately bound to the WPF UI, and could
not be instantiated during unit testing. I've refactored this so it can
be instantiated with or without an `App.Current.Dispatcher`. Ther's a
new `ReloadCore()` method which just contains the extracted property
setting code.
None of the unit tests currently use the settings themselves, but at
least the capability is now there.
I also removed the setting of the `MaxDegreeOfParallelism` option in the
`Parallel.For()`. When left at its default, the runtime will use the
appropriate number of threads, and the heuristic it uses may not
necessarily equal the number of processor cores in the system.
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Ensured all existing unit tests passed.
- Tested with multiple runs of resizing 200 image files while browsing
and changing the settings. This was no longer able to alter the ongoing
resize operations.
- Checked that the settings could still be amended via the Settings app.
---------
Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-11-06 11:55:47 +00:00
|
|
|
|
Execute(file, settings);
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
}
|
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
|
{
|
2020-11-02 18:33:43 +01:00
|
|
|
|
errors.Add(new ResizeError { File = _fileSystem.Path.GetFileName(file), Error = ex.Message });
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Interlocked.Increment(ref completed);
|
|
|
|
|
|
reportProgress(completed, total);
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
return errors;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
[ImageResizer] Fix issue where settings could be changed during a batch resize (#42163)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request
This fixes an issue where the Image Resizer settings were reloaded for
every resize operation in a multi-file batch. This could result in
inconsistent resize results if the Settings application or the user
interacted with the settings and the properties were changed, even
temporarily.
<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist
- [x] Closes: #42116, #35114
- [ ] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [x] **Tests:** Added/updated and all pass
- [ ] **Localization:** All end-user-facing strings can be localized
- [ ] **Dev docs:** Added/updated
- [ ] **New binaries:** Added on the required places
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** If checked, please file a pull request
on [our docs
repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys)
and link it here: #xxx
<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments
Corrects an issue in `ResizeBatch.Execute()` where `Settings.Default`
was used:
```csharp
protected virtual void Execute(string file)
=> new ResizeOperation(file, DestinationDirectory, Settings.Default).Execute();
```
Unfortunately, `Settings.Default` is poorly named, and is not a constant
property. Instead it actually calls `Reload()`, which loads the settings
JSON file and re-processes it fully:
```csharp
[JsonIgnore]
public static Settings Default
{
get
{
defaultInstance.Reload();
return defaultInstance;
}
}
```
If the settings are changed part-way through a resize batch operation
(even scrolling through the presets will set `selectedIndex` and save it
back to disk), the batch resize operation may switch to a different
resize behaviour, giving inconsistent results. The chances of this
occurring increase with the length of the batch operation.
### Solution
The solution is to set the `Settings` outside of the main loop and use
that for every resize operation, which is what this PR does.
`Process` is altered to load the `Settings` at the start and pass that
to `Execute` on each iteration of the batch loop:
```csharp
public IEnumerable<ResizeError> Process(Action<int, double> reportProgress, CancellationToken cancellationToken)
{
double total = Files.Count;
int completed = 0;
var errors = new ConcurrentBag<ResizeError>();
var settings = Settings.Default;
...
Execute(file, settings);
```
`Execute` is updated to accept a `Settings` object instead of using
`Settings.Default`:
```csharp
protected virtual void Execute(string file, Settings settings)
=> new ResizeOperation(file, DestinationDirectory, settings).Execute();
```
### Additional changes
The batch-related unit tests failed after the above change. I updated
the Mock `Execute` to reflect the use of the `Settings` parameter. Also,
the `Settings` class was unfortunately bound to the WPF UI, and could
not be instantiated during unit testing. I've refactored this so it can
be instantiated with or without an `App.Current.Dispatcher`. Ther's a
new `ReloadCore()` method which just contains the extracted property
setting code.
None of the unit tests currently use the settings themselves, but at
least the capability is now there.
I also removed the setting of the `MaxDegreeOfParallelism` option in the
`Parallel.For()`. When left at its default, the runtime will use the
appropriate number of threads, and the heuristic it uses may not
necessarily equal the number of processor cores in the system.
<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed
- Ensured all existing unit tests passed.
- Tested with multiple runs of resizing 200 image files while browsing
and changing the settings. This was no longer able to alter the ongoing
resize operations.
- Checked that the settings could still be amended via the Settings app.
---------
Co-authored-by: Gordon Lam (SH) <yeelam@microsoft.com>
2025-11-06 11:55:47 +00:00
|
|
|
|
protected virtual void Execute(string file, Settings settings)
|
|
|
|
|
|
=> new ResizeOperation(file, DestinationDirectory, settings).Execute();
|
Merge ImageResizer into master (#1469)
* Import Image Resizer for Windows
* getting code analysis and stylecop hooked in
* upgrading to 4.7.2
* adding copyright
* getting stuff to work
headers and trailing commas
adding braces
updated encoder
* Revert "getting stuff to work"
This reverts commit 5310866120f3c59dc51395dd8f1c6a3b8db57f93.
* update to .net 4.7.2
* access modifier
* zero errors
* Fixed unit tests not running issue
* Fixed ImageResizer.Test stylecop warning
* Formatted ShellExtensions project with clang-format
* Fixed annotation warnings
* Suppressed 6031 and 26812 warnings for specific lines
* Shifting ImageResizer projects to PowerToys solution (#1054)
* Shifted ImageResizer projects to PowerToys solution: Builds, all tests pass, ImageResizer C# project works independently
* Deleted extra files
* Deleted nuget config file and fixed code analysis paths
* Convert ImageResizer to a PowerToy (#1073)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed missing braces
* Fixed call_custom_action
* Add ImageResizer to msi installer (dev/imageResizer) (#1094)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Fixed comment on conditions to close explorer.exe
* Sync dev/imageResizer with master (#1105)
* tweaking language
* adjusting elevated permission verbiage to match Windows
* npm audit fix to update stuff
* slight bump for fabric ui
* Remove unwanted files (#1037)
Add temp build files to gitignore
* Ensure previous search and replace texts are evaluated and updated in the UI at startup (#1043)
Ensure stored settings get evaluated after initial enumeration
There was a bug where the list view was not getting updated with the results of the search and replace on launch when we are using a stored search or replace text from a previous session.
* adding fancy zone opacity setting, enhancement #631 (#1008)
* adding fancy zone opacity setting, enhancement #631
* applying zone opacity setting to all zones during zone selection
* changing opacity setting to percentage
* runner: show message box when restarting with different elevation fails (#1061)
Also make the message box appear on top of the settings window.
* Fix misaligned display of zones in layout priview and grid editor (#1010)
Fix misaligned display of zones in layout preview and grid editor
* MSIX: Extract MSIX building functionality from msix_reinstall.ps1 to a separate script (#1068)
* MSIX: label PowerToys as Preview (#1090)
* MSIX: Code sign msixbundle (#1093)
* Update to MSIX README.md (#1095)
* Update README.md
few adjustments
* Update README.md
* Update README.md
* adding in privacy statement, removing About in dialog (#1087)
* adding in privacy statement, removing About in dialog
* added Preview
* Revert "Fix misaligned display of zones in layout priview and grid editor (#1010)" (#1097)
This reverts commit d03690cffd6503ae6d5d1b359cca5fc89c4bad38.
* Fix reversed order of zones in layout (#1071)
* Shifted three functions to common (#1101)
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
* Revert "Sync dev/imageResizer with master (#1105)"
This reverts commit db7f15541f452f20296cce6c8b06a06e49c3671e.
* Added icon to Resize pictures context menu entry (dev/imageResizer) (#1113)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Fixed typo
* Merged with dev/imageResizer
* Renamed Advanced Options to Settings and removed About tab (dev/imageResizer) (#1123)
* Removed about tab, renamed advanced opt to settings, changed assembly info
* Restored Resource designer file
* Reverted changes on AssemblyInfo
* MSI: Fix ImageResizer menu item position (dev/imageResizer) (#1114)
* Updated vcxproj file with common project references and cpp version flags
* Added module template code to dllmain and updated headers for successful build
* Removed unnecessary include
* Added dll to runner and add fixes to show up in PT Settings
* Added settings file
* Added support for enabling/disabling based on PowerRename codebase
* Fixed solution file configurations
* Removed Any CPU from ImageResizer csprojs
* Renamed registry writing and removed build time registry addition
* Added ImageResizer installation details to msi
* Shifted to MII, TODO: Fix position
* Incorporated ImageResizer Icon in context menu entry
* Changed registry entries to SystemFileAssociations and added index changes in InsertMenuItem
* Fixed extra newline
* Fixed merge conflict
* Refactor ImageResizer code base naming to match PowerRename (#1121)
* Created empty README file
* Renamed dll project
* Removed ShellExtensions references in src
* Fixed ImageResizerUI assembly name and added changes to MSI
* added the helper functions
* localized dllmain powerrename
* localized powerRenameExt
* localized the settings file
* built the proj
* Modified resourceIDs for strings in the table
* added common as a reference project
* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*
* Added new lines to the end of the file
* Removed string resources from the settings.cpp file
* rebuilt project PowerRename
* moved app name to constructor to init only once
* updated formatting of common.cpp
* reverting formatting of files
* Removed some IDs from resource file. Changed SHIFT to Shift
* Localizing C# Project of FancyZones (FancyZonesEditor) (#199) (#1122)
* removed hardcoded strings from CanvasEditorWindow.xaml
* removed hardcoded strings from GridEditorWindow.xaml
* loc
* Localized MainWindow
* reverting MainWindow.xaml as it is not rendering the window as expected
* Changed the resource settings from internal to public
* the culture is set based on the culture of the system UI set in the system settings
* Removed the french resource files used for testing
* Localized canvasWindow and mainwindow
* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI
* Removed redundant header file
* Localize the Shortcut guide PowerToy (#199) (#1126)
* Localized shortcut_guide.cpp
* localized overlay_window.cpp
* formatting changes
* Localize overlay window
* removed the README link from the set of localized resources
* Typo: changed upper to lower
* Localize C++ Projects of FancyZones (#1130)
* localized dllmain.cpp of fancyzones project
* localized FancyZones.cpp
* format fancyzones.rc file
* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name
* reverted changes for window name
* Formatted fancyzones rc file
* Align zone dimensions from layout preview with those from grid editor (#1115)
* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139)
* Runner: fix restarting with same elevation (#1133)
* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases
* Telemetry: add WebView init failure errors
* Settings: initialize COM security to allow communication between elevated Settings and WebView
* Common: implement on_scope_exit helper and typed_storage
* Changes for #1140 and #569 (#1152)
* MSIX build instructions adjustmnet (#1170)
* MSIX: hide the "Run at Startup" option if running as packaged
* MSIX: update identity name and publisher (#1176)
* Runner: fix startup task state setting for MSIX (#1181)
* Add ImageResizer to MSIX installer and make the code MSIX-compatible (#1219)
* Removed ImageResizer.exe location registry key
* Added working resize pictures to MSIX context menu without icon
* Fixed missing icon on MSIX build
* Added comments
* Changed to single context handler entry
* Made changes as per PR comments
* Localize ImageResizer (#1261)
* Removed hardcoded strings
* Added resource dlls to MSIX installer
* Save ImageResizer settings in JSON format (#1258)
* Combined settings files
* Added JSON settings functionality in PowerToys format with thread safety
* Reverting changes to csproj file
* Removed settings.settings and designer file and added target sdk tools to fix warning
* Added NewtonSoft Json package
* Added 3 tests
* Added propertychanged test
* Removed unused libraries
* Removed additional allocation statements in test
* Added comments on test
* Added one-time setup code
* Added Newtonsoft.Json.dll to MSI and MSIX installer
* Fixed copyright header
* Fixed folder location in MSIX
* Renamed jsonMutex to _jsonMutex
* Fixed line endings
* Created private setup functions and added Arrange, Act, Assert comments
* Created private setup functions and added Arrange, Act, Assert comments
* Suppressed copyright warning on AppFixture and enabled treat warnings as errors
* Added comments on Reload/AppFixture and added constructor andispose
* Added telemetry to ImageResizer Shell Extension code (dev/imageResizer) (#1272)
* Added telemetry to C++ ImageResizerExt
* Added Register and unregister calls
* Changed default enable setting
* Set startup location to center of the screen (ImageResizer) (#1452)
* Added ImageResizer resources.dlls to the MSI installer (#1448)
* Implemented fix for foreground issue for ImageResizer (#1434)
* Fixed conflict in installer README.md file
* Fixed conflict in bundle.js
* Auto-generate AssemblyInfo in ImageResizer (#1467)
* Updated assembly info
* Added auto-generation of AssemblyInfo.cs
* Fixed minor issues
* Remove the License file since Notice.md have been added
* Fix errors due to resolving merge conflicts
Co-authored-by: Brice Lambson <brice@bricelam.net>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
Co-authored-by: Arjun Balgovind <arbalgov@microsoft.com>
Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
Co-authored-by: Chris Davis <chrisdavis@outlook.com>
Co-authored-by: Yosef Durr <yodurr@microsoft.com>
Co-authored-by: Bartosz Sosnowski <bzoz@users.noreply.github.com>
Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com>
Co-authored-by: yuyoyuppe <yuyoyuppe@users.noreply.github.com>
Co-authored-by: Alekhya Kommuru <alkommur@microsoft.com>
Co-authored-by: Alekhya <reddykalekhya@gmail.com>
Co-authored-by: yuyoyuppe <a.yuyoyuppe@gmail.com>
Co-authored-by: Udit Singh <udsing@microsoft.com>
2020-03-12 12:02:34 -04:00
|
|
|
|
}
|
|
|
|
|
|
}
|