Commit Graph

133 Commits

Author SHA1 Message Date
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
Yevhenii Holovachov
690208fd4e
Fixed info for powerrename, previewpane and shortcutguide (#4447) 2020-06-24 18:08:55 +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
Clint Rutkas
67c8d80190
Safeguarding end user links in settings (#4226)
* first adjustment to wiki move

* Image Resizer and deleting imgs for FZ

* updating stuff to aka links

* updating app to leverage aka links

* moving files to wiki

* KBM adjustment

* updating

* getting PT Run moved over

* Shortcut guide and fixing launcher's readme text

* Update README.md

* img for shortcut guide moved to wiki

* updated setting img to be aka link as well
2020-06-11 10:16:39 -07:00
Josh Soref
21929b1db2
Spelling misc (#4199)
* spelling: accessibility

* spelling: occurrences
2020-06-08 22:43:59 +02:00
Enrico Giordani
8f3b863edd
[PowerRename] fix for documentation (#3952) 2020-06-01 14:05:52 +02: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
Josh Soref
30dff09d7e
spelling: toggle (#3749) 2020-05-26 20:12:20 +02:00
Clint Rutkas
85f7d19eb2
upgrade to cppwinrt after the last merge conflict (#3745) 2020-05-26 10:53:46 -07:00
Josh Soref
b1554ebf37
Spelling: ... src/modules (#3712) 2020-05-26 16:56:25 +02: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
yuyoyuppe
4e18c67ec5 chore: fix linking warnings 2020-04-11 11:24:33 +03: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
PrzemyslawTusinski
f9a756d1ff
FancyZones editor display zone numbers & PowerRename fix (#1726)
* Fix for issue #1218

Design Change: Default Enter Action

* Fix for issue #1085

* change zone's number color and font
remove the light blue background

* Fix for disappearing zone number in editor

* Grid layout reversed order fix

Co-authored-by: sqrlmn <sqrlmn@users.noreply.github.com>
Co-authored-by: Enrico Giordani <enrico.giordani@gmail.com>
2020-03-27 13:07:19 +01:00
stefansjfw
b835716e36
Set PowerRename context menu hotkey to 'w' (#1673) 2020-03-25 11:12:38 +01: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
Clint Rutkas
6662cf6245
Verbage changes, including #1274 (#1629)
* verbage changes

* lower cased extention

* fixing oops
2020-03-20 11:31:59 -07:00
pi1024e
bea8e647d9
Remove unused check for pClassFactory (#1419)
* Update dllmain.cpp

* Update dllmain.cpp
2020-03-07 16:25:12 -08: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
84fbdba9f5 MSIX: use com_object_factory for powerrename 2020-03-05 10:41:36 +03:00
stefansjfw
e2026aedbc
Fix typo in powerrenamer README (#1378) 2020-02-26 16:33:50 -08:00
yuyoyuppe
9607888fc5 PowerRename: bring the rename dialog to foreground 2020-02-17 18:38:14 +03: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
Chris Davis
679b26cde4
Set the rename button to the default button on the dialog. Prior to this change, users would setup the rename inputs and hit return only to discover the cancel button had the key focus and all work would be lost. (#1271) 2020-02-11 11:33:30 -08:00
Andrey Nekrasov
f963d28ba8
MSIX: keep PowerRename local COM server in memory (#1222) 2020-02-07 14:21:10 +03:00
yuyoyuppe
f8bcf52741
MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (#1139) 2020-01-23 14:42:28 +03:00
Alekhya Kommuru
9c743acd2d Removed some IDs from resource file. Changed SHIFT to Shift 2020-01-20 11:52:46 -08:00
Alekhya Kommuru
653a84d3a9 reverting formatting of files 2020-01-17 14:38:41 -08:00
Alekhya Kommuru
197286c21e moved app name to constructor to init only once 2020-01-17 14:23:07 -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
44ac22c0de Added new lines to the end of the file 2020-01-17 11:12:23 -08:00
Alekhya Kommuru
df1c6b9b0b Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar* 2020-01-17 11:06:57 -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
Alekhya Kommuru
8f2b2aba12 localized powerRenameExt 2020-01-14 15:23:21 -08:00
Alekhya Kommuru
0b1232b65d localized dllmain powerrename 2020-01-14 15:17:08 -08:00
Alekhya Kommuru
969abe015c added the helper functions 2020-01-14 15:00:05 -08:00
Chris Davis
3ffd007cc0
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.
2020-01-04 00:39:02 -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
Clint Rutkas
06b1e43492
Update for #980
clearly stating when "Match all" needs to be enabled
2019-12-20 15:49:14 -08:00
yuyoyuppe
303d1fef6b
PCH: remove headers which are actually could be changed (#950) 2019-12-17 11:21:46 +03:00
ryanbodrug-microsoft
c6e839271a This test brake was introduced in the following fix:
1efe5bff9f

It looks to me like the test cases just was also wrong and just wasn't updated with the fix.

I've modified some of the test cases to verify the expected behavior:
1) Slight refactor of the tests to pass in the SearchReplaceExpected and flags for the tests.
2) Using Assert::AreEqual instead of Assert::IsTrue for better error meesaging when failed.
3) Verifying that the behavior is the same with or without match all occurances when using *.
4) Verifying that without the `UseRegularExpressionsFlag` the `.*` characters get replaced, including when MatchAllOccurances is set.
2019-12-10 10:11:21 -08:00
yuyoyuppe
1760af50c8
Format unittests (#906) 2019-12-10 10:28:24 +03:00
yuyoyuppe
7357e40d3f
Use WinRT JSON parser instead of custom cpprestsdk solution (#822) 2019-12-06 11:40:23 +03:00
Chris Davis
8e8be502fd
Handle DPI change gracefully (#786)
* Ensure icon in context menu is not leaked

* Hande theme/dpi size change gracefully
2019-11-26 19:45:18 -08:00
Chris Davis
b490a72c1d
Ensure icon in context menu is not leaked (#709) 2019-11-13 14:13:14 -08:00
Chris Davis
3c0b479669
Merge pull request #697 from chrdavis/master
Update to PowerRename
2019-11-12 14:16:10 -08:00
Chris Davis
c9ad09226b Remove call to save_to_settings_file 2019-11-12 13:56:12 -08:00
vldmr11080
be86cd4028 Customize system menu items through dedicated API (#677)
Document new interface changes.
2019-11-12 11:48:14 +01:00
Chris Davis
3ddbe92f37 Fix incorrect setting type in set_config handler 2019-11-11 23:28:31 -08: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
997ea3a2f5 A couple minor bug fixes 2019-11-09 00:30:00 -08:00
Chris Davis
389590e45d Ensure columns are resized when the dialog is resized. Also switch to a modeless experience instead of modal for the dialog. We no longer disable the parent window. 2019-11-03 22:22:35 -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
cc7a706f52 Fix painting issue with buttons after resize 2019-11-01 08:52:54 -07:00
Chris Davis
d4256dad30 Allow resizing of PowerRename dialog 2019-10-31 23:57:42 -07:00
Chris Davis
d9320b7c05
Update README.md
Add example for appending an extension to files that do not have an extension
2019-10-31 11:20:50 -07:00
Chris Davis
27c9a4a6a9
Update README.md
Add example to append an extension for files that do not have an extension
2019-10-31 11:05:23 -07:00
Bartosz Sosnowski
6f241ef001
Now working on 0.13.0 (#617) 2019-10-31 17:51:20 +01:00
Chris Davis
296be2fbd5
Update README.md
Added more info about regular expression usage
2019-10-31 09:14:30 -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
Enrico Giordani
78a2c325c3
Remove whitespace in "Power Rename" (#570)
Use PT version number
2019-10-28 21:48:52 +01: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
70ce6705dd
Update README.md
More details on usage and demo gif addition
2019-10-26 22:47:47 -07:00
Chris Davis
5cee2e8a53
Delete foo 2019-10-26 22:28:10 -07:00
Chris Davis
484c902cf1
Add PowerRename demo gif 2019-10-26 22:25:09 -07:00
Chris Davis
b8f202642d
Create foo 2019-10-26 22:24:35 -07:00
Enrico Giordani
5fb59cd64a
Add PowerRename icon (#537)
remove unused icons.
2019-10-21 13:28:21 +02: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