Commit Graph

89 Commits

Author SHA1 Message Date
Chris Davis
3acc96cab1 Check the shell attributes of the items to see if we should show the Power Rename menu item and or perform a rename. Also fix a unit test for the SVG Thumbnail Provider. (#5158) 2020-07-22 13:27:58 -07: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
a8153dd8db [PowerRename] Using File Date Time Attributes Feature (#4722)
* Add basic using file attributes functionality

* Correctly return result

* Refactor

* Move retrieving date attribute to get function

* Cover various milliseconds patterns, retrieve file attributes only when needed

* Correctly check if date/time pattern is used. Remove wstring cast

* Use correct flags on CreateFile call to handle directories

* rebase to master

* Perform transform operation at last to make it not mess with date/time variables

* Refactor, remove extra space
2020-07-16 14:24:49 +03: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
Mehmet Murat Akburak
30f442d774 [PowerRename] upper/lower/titlecase transform feature (#4183)
* Add basic transform functionality

* Add basic transform functionality

* Change toupper/tolower/isspace to towupper/towlower/towisspace. For loops omitted if possible.

* Avoid wcslen() in for statement

* Avoid wcslen() in for statement

* Add basic transform functionality

* Change toupper/tolower/isspace to towupper/towlower/towisspace. For loops omitted if possible.

* Avoid wcslen() in for statement

* Avoid wcslen() in for statement

* Add basic transform functionality

* Change toupper/tolower/isspace to towupper/towlower/towisspace. For loops omitted if possible.

* Avoid wcslen() in for statement

* Adjust Powerrename Interface

* Add trimming rename string

* Remove leading and trailing spaces from rename string

* Add support for transforming only item name or extension. Temporarily remove trimming to refactor. Change CAPITALIZED to TITLECASE

* Fix bug when search for area is empty

* Add trimming back with refactor(leading spaces, trailing spaces, trailing dots)

* Now supports transforming when search area is empty

* Add smarter titlecase

Transformation breaks when new filename contains an unusable character (\/?:*?"<>|)
These characters need to be removed from new name anyway.

* minor bugfix

* Add unittests, contains failing tests

* Remove unnecessary/failing tests

* remove generated file

* some code formatting and fix memory leak issues

* Use proper allocation, change int to size_t

* Refactor. Move transforming to Helpers.cpp

* Refactor. Move trimming to Helpers.cpp

* Change StrDup to SHStrDup. Some refactoring.

* Fix memery leak, add proper result controls, use newNameToUse in functon calls becaause it is where the final form of the string is tracked

* Change declarations of strings, add proper result controls

* Slightly widen the labels to cover the whole text

* Add extended characters support

* Rename a variable

* Correctly identify the last word for titlecase

* Add empty line to last line of resource.h
2020-07-02 11:52:01 +03:00
Mehmet Murat Akburak
014f3b9873 [PowerRename] capturing groups fix (#4181)
* Fix capturing group bug when Match All Occurrences is not checked

* Capture groups are now available when Match All Occurences option is not selected

* Bug fix when capture group is indicated with leading zeros. $01 should be considered as $1 etc

* Use flags in regex_replace() when Match All Occurences is not selected

Now the behaviour is consistent with how regex works when Match All Occurences is selected.
2020-06-16 11:04:14 +03: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
vldmr11080
41935aa9aa Split general module settings and UI flags to separate files. (#2613) 2020-05-05 12:39:15 +02:00
vldmr11080
2b4b23f726 [ImageResizer] Migrate settings from registry to JSON. (#2604)
* Migrate ImageResizer settings from registry to JSON.

* Update last loaded time read/write IO operations.

* Rename registry helper functions.
2020-05-05 09:00:50 +02:00
vldmr11080
64df515c63 [PowerRename] Use int type instead of long in PowerRename Settings (#2502)
* Fix signed/unsigned comparison in power rename Settings.

* Use int instead of long (same on 64-bit windows).
2020-05-01 13:26:38 +02: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
vldmr11080
aa6cb7d650 Migrate power rename MRU lists from registry to JSON (#2090)
* Handle most recently used search/replace strings within settings.

* Check for last modified time of json file and reload it if needed.

* Handle changes in MRU search / replace lists size.

* Improve handling of changes in MRU list size.

* Don't check for last modified time in every getter method. Load only when starting application.

* Add const identifier to getter methods.

* Address PR comments: Add const to reg and json file paths and set them in constructor initializer. Check pushIdx validity. Move implementation to cpp of PowerRenameUI constructor.

* Add error checking when getting values from registry.
2020-04-15 23:14:17 +02:00
vldmr11080
c355a2b61e Use JSON data file for storing PowerRename settings instead of registry (#1909)
* Use JSON data file for storing PowerRename settings instead of registry

* Address PR comments and made several improvements

* Remove WindowsApp.lib dependencies in test app and unit tests

* Revert changes in vcxproj for unit test

* Solve linker warnings generated while linking WindowsApp.lib

* Don't migrate enabled flag. Always read / write from registry.
2020-04-08 19:12:46 +02:00
pi1024e
6f2801cea8 C++ headers (#1660) 2020-03-24 08:51:23 +01: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
Seraphima
59d218d623 Add telemetry event for PowerRename settings (#1279)
* moved MAX_INPUT_STRING_LEN constant
* added settings changed event log
2020-02-13 12:44:03 +03:00
Alekhya Kommuru
653a84d3a9 reverting formatting of files 2020-01-17 14:38:41 -08:00
Alekhya Kommuru
bf48729354 rebuilt project PowerRename 2020-01-17 11:57:53 -08:00
Alekhya Kommuru
a504a75166 Removed string resources from the settings.cpp file 2020-01-17 11:25:42 -08:00
Alekhya Kommuru
bde0e0b86a Merge remote-tracking branch 'upstream/master' into locPowerRename 2020-01-16 13:58:59 -08:00
Arjun Balgovind
c1232a7001 Shifted three functions to common (#1101) 2020-01-15 23:06:22 -08:00
Alekhya Kommuru
12c4dbf0e5 added common as a reference project 2020-01-15 16:44:18 -08:00
Alekhya Kommuru
31a01ab227 Modified resourceIDs for strings in the table 2020-01-15 13:57:05 -08:00
Alekhya Kommuru
d0648d1754 built the proj 2020-01-14 16:40:40 -08:00
Alekhya Kommuru
1e3486af94 localized the settings file 2020-01-14 16:39:03 -08:00
yuyoyuppe
62c65659cc format changed files 2019-12-24 17:06:10 +03:00
yuyoyuppe
249addebff powerrename: implement shellext support for UWP 2019-12-24 17:06:10 +03:00
yuyoyuppe
303d1fef6b PCH: remove headers which are actually could be changed (#950) 2019-12-17 11:21:46 +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
1e89054897 * Ensure rename dialog is centered
* Ensure children are renamed before parent items
* Add settings handler
* Replace old text referencing smart rename with power rename
2019-11-11 11:00:42 -08:00
Chris Davis
1efe5bff9f Fix single regex search replace
Fix an issue where regular expression search and replace was not being done correctly when MatchAllOccurences is not specified.
2019-11-01 23:56:29 -07:00
Chris Davis
c1957272ea Bug Fixes for PowerRename (#614)
* Bug Fixes

Fixes include:
* Pass parent HWND to UI so dialog is no longer appearing in top corner all the time
* Fix duplicate entries for PowerRename in context menu for shortcuts
* Fix crashing bug due to telemetry not getting unregistered on unload
* Ensure we show the file extension in the UI even if extensions are hidden in Windows Explorer

* Update PowerRenameExt.cpp

Fix missed line to set parent HWND
2019-10-31 06:57:38 -07:00
Chris Davis
b892e731d9 Add new icon as well as telemetry (#563)
* Update icon and add telemetry calls

This change adds the new PowerRename icon and includes telemetry calls

* Ensure string is freed

* Update event naming convention

* Delete PowerRenameDemo.gif

Deleting this gif as I added it with a separate commit with the README.md update for PowerRename
2019-10-28 10:14:59 -07: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