* 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
* Implement basic functionality
* Change approach.
move filter controls to manager
edit redrawing to always work with new GetVisibleItemCount() and GetVisibleItemByIndex() calls
* Fix performance issues. Some refactoring.
* Handle toggleAll correctly
* Handle dangling elements when filter is on
Make an item visible if it has at least one visible subitem
* Support filtering for selected and shouldRename
* Refactor for readability, remove useless member from PowerRenameUI
* Change variable names in PowerRenameUI for clarity
Use wrapper function RedrawItems() and SetItemCount() for consistency
* Handle result value properly in getVisibleItemByIndex()
* Add FlagsApplicable filter
* Add visual indication of filters
* Improve performance
Check if no filter is selected
Call SetItemCount() only when necessary
* Refactor for readability
* Get lock in setVisible()
* Change function names to camel case
* Change function names to start with uppercase
* Change filter behaviour when search area is empty
Show all elements when search area is empty and ShouldRename filter is selected
Avoid warnings
* Resolve conflicts
* 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
* updated to Microsoft.Windows.CppWinRT.2.0.200729.8
* actually adding in packages.config and updating
Co-authored-by: Clint Rutkas <crutkas@microsoft.com>
* 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
* 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.
* 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.
* 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