Commit Graph

39 Commits

Author SHA1 Message Date
David Federman
c39e306784 [Build]Unify PCH usage (#31055)
* Unify PCH usage

* Add back CIBuild property

* Add back CIBuild property
2024-03-22 10:29:14 +00:00
Jaime Bernardo
5b692438b7 [Deps]Upgrade CppWinRT to 2.0.240111.5 (#31396)
* [Deps]Update CppWinRT to 2.0.240111.5

* Apply fix for robmikh.common incompatibility with cppwinrt

* Add CppWinRT to projects that were missing it

* Fix spellcheck
2024-02-13 13:55:14 +00:00
Clint Rutkas
ee22581913 [Deps]Upgrade boost to 1.84 (#30504)
* Upgrading boost
2023-12-18 13:32:27 +00:00
John Erickson
5e2733ece9 [Build]Add missing dependencies on version.h (#28619)
* Fix version.h dependencies

* fix for build_vcm_x86
2023-10-03 16:31:14 +01:00
Dongle
937e7b0c00 [Deps]Upgrade to WinAppSDK 1.4 (#28310)
* Update to WASDK 1.4

* Remove redundant title bar styles.

* Update notice

* Update C++ projects as well

* Upgrade CppWinRT too

* Add exception to WASDK file version set to 1.0.0.0

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2023-09-07 09:36:47 +01:00
Jaime Bernardo
864b862952 [General]Reduce installer size by flattening application paths (#27451)
* Flatten everything and succeed build

* Figure out Settings assets

* Remove UseCommonOutputDirectory tag

* Proper settings app path

* [VCM] Fix assets location

* Fix some runtime paths

* [RegistryPreview]Use MRTCore specific pri file

* [Hosts]Use MRTCore specific pri file

* [Settings]Use MRTCore specific pri file

* [Peek]Use MRTCore specific pri file

* [FileLocksmith]Use MRTCore specific pri file

* [ScreenRuler]Use MRTCore specific pri file

* [PowerRename]Use MRTCore specific pri file

* [Peek]Move assets to own folder

* [FileLocksmith] Use own Assets path

* [Hosts]Use own assets folder

* [PowerRename]Use own assets dir

* [MeasureTool] Use its own assets folder

* [ImageResizer]Use its own assets path

* Fix spellcheck

* Fix tab instead of space in project files

* Normalize target frameworks and platforms

* Remove WINRT_NO_MAKE_DETECTION flag. No longer needed?

* Fix AOT and Hosts locations

* Fix Dll version differences on dependency

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

* Update ControlzEx to normalize dll versions

* Update System.Management version to 7.0.2

* Add GPOWrapper to Registry Preview to fix dll versions

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

* Fix remaining output paths / dll version conflicts

* [KeyboardManager]Executables still on their own directories

* Fix Monaco paths

* WinAppSDK apps get to play outside again

* Enable VCM settings again

* Fix KBM Editor path again

* [Monaco]Set to own Assets dir

* Fix installer preamble; Fix publish. remove unneeded publishes

* Remove Hardlink functions

* Installer builds again (still needs work to work)

* Readd Monaco to spellcheck excludes

* Fix spellcheck and call publish.cmd again

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

* [Installer] Refactor Power Launcher

* [Installer] Refactor Color Picker

* [Installer] Refactor Monaco assets

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

* [Installer]Refactor FileLocksmith

* [Installer] Refactor Hosts

* [Installer]Refactor Image Resizer

* [Installer]Refactor MouseUtils

* [Installer]Refactor MWB

* [Installer]Refactor MeasureTool

* [Installer]Refactor Peek

* [Installer]Refactor PowerRename and registry fixes

* [Installer]Refactor RegistryPreview

* [Installer]Refactor ShortcutGuide

* [Installer]Refactor Settings

* [Installer]Clean up some unused stuff

* [Installer]Clean up stuff for user install

* [Installer]Fix WinUi3Apps wxs

* [Installer]Fix misplaced folders

* [Installer]Move x86 VCM dll to right path

* Fix monaco language list location

* [Installer]Fix VCM directory reference

* [CI]Fix signing

* [Installer] Fix resources folder for release CI

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

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

* [RegistryPreview]Move XAML files to own path

* [RegistryPreview]Fix app icon

* [Hosts]Move XAML files to their own path

* [FileLocksmith]Move XAML files to their own path

* [Peek]Move XAML files to own path

* [ScreenRuler]Move XAML files to its own path

* [Settings]Move XAML to its own path

* [ColorPicker]Move Resources to Assets

* [ShortcutGuide]Move svgs to own Assets path

* [Awake]Move images to assets path

* [Runner]Remove debug checks for PowerToys Run assets

* [PTRun]Move images to its own assets path

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

* [PowerRename]Move ico to its own path

* Remove unneeded intermediary directories

* Remove further int dirs

* Move tests to its own output path

* Fix spellcheck

* spellcheck: remove warnings

* [CppAnalyzers]Ignore rule in a tool

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

* fix spellcheck

* [ci]Fix task identation

* [ci]Add script to guard against asset conflicts

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

* Add xbf to spellcheck expects

* Fix typo in asset conflict check scripts

* Fix some more dependency conflicts

* Downgrade CsWinRT to have the same dll version as sdk

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

* Fix spellcheck error inside comment

* [ci]Fix asset script error

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

* [ci]Improve deps json verify script output

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

* Also upgrade CsWinRT in NOTICE.MD

* [PowerRename]Move XAML files to own path

* [Common]Fix Settings executable path

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

* [installer]Fix firewall path

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

* [Monaco]Fix paths for new files after merge

* [Feedback]Removed unneeded build conditions

* [Feedback]Clear vcxproj direct reference to frameworks

* [Feedback]RunPlugins name to hold PTRun plugins

* [Feedback]Remove unneeded foreach

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

* [Feedback]Fix spellcheck
2023-07-20 00:12:46 +01:00
Rose
792c09167b Update Windows.CppRT to latest version (#21157) 2022-10-12 11:19:01 +03:00
Stefan Markovic
e637902892 [PowerRename][ImageResizer] Tier1 Win11 Context menu (#19000)
* Test win11 tier1 context menu

* Try to test signing

* Cleanup

* Cleanup project file

* Sign dll
Add PowerToys preffix
Add assets to installer

* expect.txt

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

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

* Fix win11 check

* expect.txt

* Check if package already registered

* Revert "Check if package already registered"

FindPackages() method needs admin privileges.

This reverts commit 5af584fed4.

* Fix PowerRename args checking

* Cleanup assets

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

* [WIP] Signing and installer
Expect.txt

* Localized context menu title

* Retarget everything 10.0.18362.0 -> 10.0.19041.0

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

* Fix ImageResizerLib project configuration

* More Windows version updates

* Remove unneeded file & try fix resource build error

* Add Microsoft.PowerToys prefix to packages

* Test

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

Don't generate empty STRINGTABLE for resx files without data

* Avoid duplicate context menu items

* [BugReportTool] Report installed context menu packages
2022-06-30 22:10:14 +02:00
Stefan Markovic
90ecd5e10f [PowerRename] Move to WinAppSDK WinUI3 Unpackaged & ARM64 Support (#18171)
* Migrate PowerRename to Unpackaged WinUI3

* [ARM64] PowerRename (#18002)

* Migrate PowerRename to Unpackaged WinUI3

* Removed Project Config and update PlatformToolset to v143

* Updated solution config

* Migrate PowerRename to Unpackaged WinUI3

* Fixed configs changed from ARM64 build

* Left one project out of fix

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

* Minor fixes

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

* Remove PowerRenameUILib from move_uwp_resources.ps1

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

* Remove UWP localization docs part

* Fix minor UI quirk

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

* [ARM64] Add arm64 configurations to FZ projects

* [ARM64] Add arm64 configurations to Awake project

* [ARM64] Add arm64 configurations to PowerRename projects

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

* [ARM64] Add arm64 configurations to VCM projects

* [ARM64] Add arm64 configurations to ShortcutGuide project

* [ARM64] Add arm64 configurations to PreviewPane projects

* [ARM64] Add arm64 configurations to FindMyMouse projects

* [ARM64] Add arm64 configurations to KBM projects

* Project cleanup

Co-authored-by: Jeremy Sinclair <4016293+snickler@users.noreply.github.com>
2022-05-11 11:35:18 +01:00
Clint Rutkas
c46ccce373 [build]Update to .net 6 framework and VS 2022 (#15741)
* Update release.yml

* Update ColorPickerUI.csproj

* Update release.yml

adding in .net6 sdk and moving stuff sooner

* Update release.yml

* Update release.yml

* fixing test

* Forcing vs17 and adding in .net 6 sdk

* forcing pool

* fixing issues in each pipeline

* moving release .net up

* fixing diff on agent version for nuget installer

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

* getting unit tests it looks like to work

* updating everythign to .net 6 minus wxs for runtime

* unit test still have

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

* found i think the last .net 5 issue

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

* Getting stuff .net 6 buildable again

* tweaking with new stuff for installer

* Update newly added merged projects to .net 6

* Fix HeatDirectory bug on VS 2022

* Settings still needs JSON dependency

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

This reverts commit b9cb4586dc.

* Update sln version

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

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

This reverts commit 42b4201c6b.

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

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

* Upgrade project's toolset in the main solution

* Some TODOs to review HttpClient usage

* Upgrade project toolsets from other solutions

* Install .net 6 instead of .net 5

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

* Update docs for Visual Studio 2022

* PR comments: manually upgrade missing VS 2019 references

* Discard no discard values to solve compiler warnings

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
2022-02-07 14:08:30 +00:00
Stefan Markovic
dfe9169e39 [modules] Unify exe & dll naming (#14903)
* Unify exe/dll naming - AwakeModuleInterface

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

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

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

* Unify exe/dll naming - KeyboardManager.dll

* Unify exe/dll naming - FindMyMouse & MouseHighlighter

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

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

* Unify exe/dll naming - ShortcutGuide

* Unify exe/dll naming - VCM

* Unify exe/dll naming - PT Run

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

* [Fix] Unify exe/dll naming - VideoConferenceProxyFilter_x86
2021-12-10 10:50:46 +01:00
Stefan Markovic
079a3b49de Add logging for PowerRename (#14249)
* Add logging for PowerRename

Move call tracer to common/utils/logger
Add logging to both PowerRename dll and PowerRenameUIHost
Add PowerRename to BugReportTool event viewer collection

* Log more errors and exceptions
2021-11-08 13:02:56 +01:00
Stefan Markovic
5cfbd72fa8 [PowerRename] Fluent UX (#13678)
* PowerRename new UI

* Add scrollviewer

* Don't deploy PowerRenameUI_new

* Visual updates

* Visual updates

* Updates

* Update Resources.resw

* Added docs button

* Update MainWindow.xaml

* Wire Docs button

* RegEx -> regular expressions

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

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

* Files/folders input error handling

* Fix renaming with keeping UI window opened

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

* Update only children, not all items with greater depth

* Fix dictionary false positives

* Remove .NET dep

* Rename PowerRenameUI_new to PowerRenameUILib
Rename executable PowerRenameUIHost to PowerRename

Co-authored-by: Laute <Niels.Laute@philips.com>
2021-10-25 14:40:19 +01:00
Andrey Nekrasov
063e704321 build: Treat warnings as errors in the remaining projects (#8689)
* build: remove #pragma comment(lib

* build: treat warnings as errors for all src projects
2020-12-21 18:51:48 +03:00
Enrico Giordani
3a3cb27b36 Fix passing project folder path to localization script (#8663) 2020-12-18 12:37:40 +01:00
Andrey Nekrasov
212ea2de30 common: refactor common library pt2 (#8588)
- remove common lib
- split settings, remove common-md
- move ipc interop/kb_layout to interop
- rename core -> settings, settings -> old_settings
- os-detect header-only; interop -> PowerToysInterop
- split notifications, move single-use headers where they're used
- winstore lib
- rename com utils
- rename Updating and Telemetry projects
- rename core -> settings-ui and remove examples folder
- rename settings-ui folder + consisent common/version include
2020-12-15 15:16:09 +03:00
Andrey Nekrasov
5fa4ee4942 Cpp build: factor out common project props & prepare for common split (#8509)
* make common include paths format consistent
* build: introduce common Cpp.Build.props
2020-12-14 15:20:45 +03:00
Andrey Nekrasov
06984ff317 CI: disable multiple msbuild instances (#8253)
* CI: disable multiple msbuild instances

* make MultiProcessorCompilation option consistent

* KBM: increase compiler limit again
2020-11-27 14:18:23 +03:00
Raphael Horber
8c7f2b6a74 PowerRename: Add Lookbehind (#7571)
* Add boost-regex library

* If enabled use boost lib for regex

Add property `_useBoostLib` to `CPowerRenameRegEx`. If enabled for
replacements with regular expressions the Boost Library is used instead
of the Standard Library.

* Extend signatures to create RegEx with Boost

Extend create and constructor singatures of `CPowerRenameRegEx` with an
option to enable (or disabled, which is default) the Boost Library.

* Verify Lookbehind fails with STD library

To verify that the boost library is disabled as expected, check if a
lookbehind fails.

* Add Unit tests for RegEx with Boost

Add unit tests to verify regex replacement with Boost Library. They are
copied and adapted from the Standard Library tests.

* Improve verify capturing groups test with Boost

It is possible to use a capturing group followed by numbers as
replacement if the group number is enclosed in curly braces.
Added test cases based on the Standard Library tests.

* Add useBoostLib to settings interface

* Get library option from settings object

* Reduce signatures of RegEx by "useBoost"

Remove the parameter added in 19105cf, as it became obsolete.

* Settings: Read useBoostLib from JSON file

* Add UseBoostLib Option to UI

* Boost Lib label states the regex syntax difference

* Fix Regex with Boost Lib tests

- Do not load settings another time in CPowerRenameRegEx ctor
- Set flag correctly in standard library regex tests

* Add "lookbehind" to dictionary

* change Library to lowercase, and also add a comment

As suggested by @enricogior.

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>

* Change Library to lowercase and add a comment

 As suggested by @enricogior.

Co-authored-by: Enrico Giordani <enricogior@users.noreply.github.com>
2020-11-09 19:13:43 +01:00
Mehmet Murat Akburak
1a64597fca [PowerRename] Fix warnings and turn on treat warnings as errors (#7840)
* Fix 2 mentioned warnings

* Turn on treat warnings as errors

* Remove win32 configurations
2020-11-04 14:13:07 +03:00
Divyansh Srivastava
280d1907d8 Non localized module name (#7170)
* Added get_key to powertoysmodule interface

* Replace get_name with get_key

* Implement get_key function in modules

* Make key global constant in each module

* Update settings v1 to use key to load and save files

* Fixed fancyzones and preview pane unit tests

* Removed setings unit test as the case is not covered anymore

* Add constant files for modules and use it to reference module key

* Add constant string files to colorpicker, launcher and shortcut guide

* correct sunction signature in settings helper

* Fix powerpreview merge conflicts

* nit fix with include statement location

* add check for fields in from_json_string

* Updated preview pane tests with correct from_json_string signature

* Correct Image resizer naming

* Roll back changes for adding check for property and version

* Fix image resizer not working
2020-10-19 16:07:02 -07:00
Arjun Balgovind
3ede1a0b53 [Localization] Migrate resources to resx for PowerRename (#6112)
* Added localization code to pipeline and created one LocProject json for Settings

* Fixed typo

* Reordered nuget source

* Moved nuget install to restore step

* Added FZ.rc file to LocProj

* Added FZ resx file and modified rc file

* Fixed file names

* Changed to check folder for LocProject files

* Updated folder

* Changed directory

* Changed to src directory

* Changed language set and name format, removed rc file localization

* Added all projects with resx/resw files

* Added newline to end of file

* Removed nuget source as it is not used

* Updated comments

* Updated keyboard manager to use resx file

* Tweaked resources.resx and added it to project files

* Added comments and added in string table to resx script

* Remove change from bad merge

* Fix syntax error in convert stringtable

* Changed file type to None

* Migrated color picker's resources

* Migrated resources for Microsoft.Launcher

* Migrated resources for fancy zones

* Revert fancyzones changes

* Migrated resources for ImageResizer and modified script to add language specific code

* Added try catch and checks for modification to avoid unnecessary file creation

* Changed tab insertion to 4 spaces to avoid mixed file types in rc file

* Migrated resources for power preview project

* Added LocProject.json file for 5 projects

* added resgen exception check

* Moved non-localizable strings out of resx for powerpreview

* Move out hardcoded strings from dialog box and set them at runtime from string table

* Migrated resources for powerrename

* Added locproj

* Added missing ImageBase extern declaration

* Added build script in UWP UI project since PowerRenameExt is not referenced

* Resolved merge conflicts
2020-08-24 17:51:48 -07:00
Clint Rutkas
5b02ee5169 updated to Microsoft.Windows.CppWinRT.2.0.200729.8 (#5306)
* updated to Microsoft.Windows.CppWinRT.2.0.200729.8

* actually adding in packages.config and updating

Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-30 11:37:15 -07:00
Andrey Nekrasov
47cb34d26b chore: enable multiprocessor compilation (#5272) 2020-07-28 17:20:01 +03:00
Clint Rutkas
4f45cf1386 Upgrading CppWinRT and adding in new packages.config (#5134)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-22 00:35:39 -07:00
Mehmet Murat Akburak
c9fd409650 Add trailing slash to OutDir (#4708) 2020-07-03 19:37:16 +03:00
Clint Rutkas
44c41d52b2 upgrading wincppwinrt across the board (#4669)
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
2020-07-02 09:42:51 -07:00
vldmr11080
1cbcd41b17 [PowerRename] Move PowerRename module installation into separate folder (#3821)
* Move PowerRename module installation into separate folder.

* Update build pipeline.

* Correct order between modules.
2020-05-28 16:53:16 +02:00
Clint Rutkas
85f7d19eb2 upgrade to cppwinrt after the last merge conflict (#3745) 2020-05-26 10:53:46 -07:00
Andrey Nekrasov
c923e96f3e sln: do not use PCH on CI (#3106) 2020-05-25 10:59:05 +03:00
Arjun Balgovind
58f1a8e916 Fix failing build pipeline (#2932)
* Add extra libpath load statement

* Add QSpectre flags on Release

* Revert cmd change

* Added spectre flag for debug

* added flag for more projects
2020-05-12 20:52:02 -07:00
Rafael Rivera
d16ebba9e0 Move from sdk-provided cppwinrt-1.x to cppwinrt-2.x nuget package (#2246) 2020-04-29 22:02:18 +02:00
yuyoyuppe
4e18c67ec5 chore: fix linking warnings 2020-04-11 11:24:33 +03:00
Andrey Nekrasov
e52c5d38d3 Cleanup project output/intermediate dirs (#1640)
* sln: set output dir prefix to "modules\" for all modules

* sln: CopyToOutputDirectory only when necessary

* sln: intermediate dir for csprojs

* sln: intermediate dir for vcxprojs

* sln: add PT as runner project deps + remove nonexisting project confs

* sln: remove AnyCPU for win-app-driver project
2020-03-20 21:41:48 +03:00
stefansjfw
6a0061dde3 Fix PowerRename UI doesn't handling DPI changes (#1424)
* Fix PowerRename UI doesn't handling DPI changes

* Address PR comments

* Address PR comments
2020-03-05 10:21:25 +01:00
yuyoyuppe
249addebff powerrename: implement shellext support for UWP 2019-12-24 17:06:10 +03:00
Chris Davis
e328c5d505 * Fix crashing bug in event vector cleanup
* Fix warnings in settings.cpp
* Add settings to ui of powertoys
2019-11-11 20:58:39 -08:00
Chris Davis
e1d5dd263a Initial add of PowerRename from SmartRename repo (#499)
* Initial add of PowerRename from SmartRename repo
2019-10-17 20:57:19 -07:00