* Show progress dialog during startup for selection enumeration that can take a long time.
* Updated with better code organization and a timer to ensure the progress dialog does not appear in most cases.
* Update based on PR feedback
* Change progress dialog delay from 1500ms to 2500ms
* Move progress dialog invocation off the main UI thread
Co-authored-by: Chris Davis (EDGE) <chrdavis@microsoft.com>
* Move retrieveing file attibutes to PowerRenameRegex
Move file attributes unit tests to PowerRenameRegexTests
Add file time field to MockPowerRenameItem
* Add file attributes unittests to PowerRenameManagerTests
* Change variable name
* Rearrange function arguments
* Check if file attributes are used only once
* Change variable name LocalTime -> fileTime, date -> time
* Set fileTime as a member of PowerRenameRegEx rather than passing as an argument
* Change function name isFileAttributesUsed() -> isFileTimeUsed()
Check before resetting fileTime
* Fix small bugs
* Fix typos
* Refactor for readability, move free calls to reachable places
* Fix search for area empty bug
searchTerm being empty is not an invalid argument rather it must return OK without any operation
Tests must check if Replace() returns S_OK becuase later it checks its result
* Check return values of method calls in PowerRenameManager
Remove received argments checks from some methods because argument being null or empty string doesnt mean it is invalid or method fails
* Fix formatting. Remove overlooked comment. Fix error message.
* Change HRESULT declarations according to coding style
* Fix unhandled case. Refactor.
* 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>
* 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