* Started work
* Removed bools in favor of an enum, renamed some
* Done something but it still doesn't work
* Settings are now correctly saved
* I'm getting a crash, I need to rebuild from scratch
* Settings page looks alright
* Completed work. Unit tests?
* Use ComboBox instead
* Add telemetry
* Update text
* Fixed screen centering and scaling problem with SVG files
* Little shorter code.
* Improved exception caching
* typo
* fixed upscaling problem
* add CSS that IE6 can support it
* typo
* adding in spelling
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Improve zone selection algorithm
* Thanks, spell checker
* Fix failing test case
* Add error logging
* Added support for different zone selection algorithms
* Revert "Fix failing test case"
This reverts commit 9f31a8a7e6.
* Divide SaveFancyZonesData into two functions
* Removed unused function, continued refactoring
* Use SaveAppZoneHistory in some places
* Revert "Use SaveAppZoneHistory in some places"
This reverts commit 74a4a1e467.
* Only save files if the contents are about to be changed
* Restore FileWatcher
* Don't capture Win+Arrows if there's no zone layout
* Reuse a variable instead of calling
* Renamed a Windows event
* Add an underscore to fix misspelling
* Implement File Watcher in FancyZones
* Simplify code, address PR comments
* Add check to result of CreateEventW
* Rebase fix
Removed unneeded newline. If we keep it now, VS will just remove it some other time.
* 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.
* Converted to SDK Style project and upgraded to .NET Core 3.1
* Cleaned up formatting
* Swapped System.Windows.Interactivity.Wpf for Microsoft.Xaml.Behaviors.Wpf
* More replacements to Xaml Behaviors
* No need for App.config
* Profile file cleanup. Added System.Drawing.Common package
* Moved entry point to a new Program.cs
* Set StartupObject to ColorPicker.Program
* Renamed assembly to ColorPickerUI to resolve conflict with module
* Added proper output path
* Updated list of files needed for installer
* Added InvariantCulture string comparion for ColorToHex.
Updated pipeline.user.windows.yml
* Fixing issue when color picker was frozen because other application was locking clipboard
* Fixed another issue where holding activation keys constantly would trigger show color picker numberous times and it would cause some events to be attached multiple times
* Initial Port of Wox.Plugin.Sys
* Add Unit Tests for Microsoft.Plugin.Sys
* Modified Microsoft.Plugin.Sys.UnitTests Properties
* Microsoft.Plugin.Sys x64 Launch
* Fix Styling for Microsoft.Plugin.Sys.UnitTests
* Fixed Misspelling
* Remove Any CPU from Configuration Manager
* Removed Old Icons and Added New Images
* Updated Titles for Localization and Added & Updated Light/Dark Theme Icons
* Added Light/Dark Icon Theme Unit Tests
* Updated QueryTest Expected Results for Microsoft.Plugin.Sys.UnitTests
* Added Spell-Check Expects for Microsoft.Plugin.Sys
* Updated Spell-Check Expects for Microsoft.Plugin.Sys
* Corrected Format in Microsoft.Plugin.Sys
* Corrected Descriptions and Added Comments for Localization
* Added StyleCop and Version Props
* Corrected Format of Microsoft.Plugin.Sys.Main
* Updated Unit Tests for Microsoft.Plugin.Sys
* Updated Spell-Check Expects for Microsoft.Plugin.Sys
* fixing build issue
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Ground base for WPF version of V2 color picker
* Added theming support
* Layout fixes, added UWP listview styling
* Updated UI
* Added theming and Fluent to colorpicker. Styles cleanup
* Added animation for "color copied" message
* Added color format control, testing transparency
* Added roll-over behaviour, selectable textbox and right-click context menu
* Revert "Added roll-over behaviour, selectable textbox and right-click context menu"
This reverts commit af35a23532.
* Delete context menu, mouse-over clipboard button and selectable text
* Implemented remove color command, set color editor topmost
* Missed some changes
* Added all currently supported color formats into editor, added support for future custom formats
* Added missed file
* Reverted WindowStyle = None
* Added drag and drop reorder behavior for color formats
* Removed custom close button, UI cleanup, added scrollviewer to colorformats
* Added close button
* Added color picker color control to configure current color
* Added possibility to add and remove color representations, commented out drag&drop reorder behavior
* Calculate color variations of the current color, on click adds a new color into the history
* Fixed reopening of editor, added rgb textboxes into color picker control, moved add color formats button at bottom
* Improved color schemes, similiar to Windows 10X
* Updated icon, window name and XAML cleanup
* Moved strings to Resources file
* Added Narrator support
* Accesibility stuff
* Revamped color picker color - now 3 sliders to configure color - hue, saturation, value, added bidirectional of setting values HEX/RGB/Sliders, validation of rgb and hex input
* UX improvements
* Removed color format management
* Removed colorformat hide context menu
* Improved colorpicker UI
* Added colorformats XAML to Settings
* Reverted runner change
* Margin fix
* Updated height of colorpicking tooltip
* Using dynamic width for color picker based on a content
* Fixed build
* Added H,S,V labels in front of gradient sliders in color picker control
* Color shades borders are now buttons, improved narrator support
* Added tabindexes
* Accesiblity improvements
* UI bugfix
* Fixed issue with occasional issue with saving color/removing colors due to locked settings file, decreased number of writes into settings.json, fixed throuttledActionInvoker to run only once, added rangeobservablecollection data type to be able to control notifications in observablecollection
* Updated installer with newly added libs
* Hide settings button since required functionality is not available yet
* Added comments to resource file
* Added reorder and enable/disable color formats from settings,
* Show message when colors history empty, open color editor in the center of screen
* Styling updates to now color selected popup
* Added horizontal gripper icon on pointerover
* Typo fix
* Added new color formats into editor
* Added 3 different activation actions to choose from
* Added new color formats into settings for editor
* Update src/core/Microsoft.PowerToys.Settings.UI/Strings/en-us/Resources.resw
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
* Updated expect.txt
* Removed MahApps
* Removed MahApps from installer for Color Picker module
* Updated settings page
* Typo fix and moved string to Resources
* Typo fixes and string improvements
* Fixing build
* Replacing DispatcherTimer with Timer from System.Timers
* Fixing tests
* adjustments
* adjustments
* removed periods
* Fixing build
* unifiying language
* Added using statement in tests
* Disabled drop shadow for Color Picker and Zoom Window due to poor performance
* Stylecop fixes
Co-authored-by: Niels Laute <niels.laute@live.nl>
Co-authored-by: Niels Laute <niels9001@hotmail.com>
Co-authored-by: htcfreek <61519853+htcfreek@users.noreply.github.com>
Co-authored-by: Clint Rutkas <clint@rutkas.com>
* Update primary desktop data after virtual desktop switch
* Don't remove zeroed-GUID inside RemoveDeletedDesktops method
* Minor refactoring in VirtualDesktopUtils
* Use std::vector::empty check instead of comparing size with 0
* fix compilation issues for VS 16.8.* release
* - VS 16.8 changed its template instantiation model, so now the compiler checks the syntax used in template even when it's not instantiated. we were relying on that behavior to declare the list of required localized strings from a shared header => replacing that template with a macro.
* - fix 3 C++ `const auto&` bugs the new compiler was able to uncover
* - enabled /Zc:twoPhase- for bootstrapper and PowerToysSetupCustomActions to workaround 10.0.17134.0 headers' issue.
- PowerToysSetupCustomActions.vcxproj now uses 10.0.17134.0 instead of "latest" SDK
* - PowerToysSetupCustomActions project leverages `goto` operator's power extensively, and the new compiler was able to uncover new uninitialized variables behavior, restructured declarations and changed `NULL`s to `nullptr`s.
* - Fix unit FZ unit test compiler error
* - format FZS unit test source file
* fixup fz tests
* use /Zc:twoPhase- for common-md as well
* 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>
* Started work
* Good progress on D2D
* Visuals are good, functionality - almost there
* Opacity fix
* Animation works, WM_PAINT still doesn't
* Simplify code, remove flashZones, remove unused code
* Kinda works, but it's a bit laggy
* Works great, but needs refactoring/performance improvements
* Move code from .h to .cpp
* Polished the functionality
* Fix issue with changing monitors
* Rebase fix
* Finalize PR before review
* Couple two members of ZoneWindowDrawing
* Also request a low latency lock when hiding the zone window
* Move textFormat and textBrush out of the loop
* Thread-safe initialization
* Rebase fix: zone numbers
* Make zone borders crispy
* Fix offsets
* Another rebase fix
* Fix DPI bug
* CA1052: Static holder types should be Static or NotInheritable
* CA1041: Provide ObsoleteAttribute message
* CA1062: Validate arguments of public methods
* CA1304: Specify CultureInfo / CA1305: Specify IFormatProvider / CA1307: Specify StringComparison for clarity
* CA1802: Use Literals Where Appropriate
* CA1820: Test for empty strings using string length
* CA1707: Identifiers should not contain underscores
* CA1805: Do not initialize unnecessarily.
* CA1822: Mark members as static
* CA2227: Collection properties should be read only
* CA1054: URI parameters should not be strings
* CA1031: Do not catch general exception types
* CA1060: Move P/Invokes to NativeMethods class
* CA1308: Normalize strings to uppercase
* CA2000: Dispose objects before losing scope / CA2234: Pass System.Uri objects instead of strings
* CA2234: Pass System.Uri objects instead of strings
* CA1044: Properties should not be write only
* CA1716: Identifiers should not match keywords
* CA2007: Do not directly await a Task
* CA2007: Do not directly await a Task (Suppressed)
* CA5350: Do Not Use Weak Cryptographic Algorithms (Suppressed)
* CA1724: Type names should not match namespaces (renamed Settings.cs to PowerToysRunSettings.cs)
* CA1033: Interface methods should be callable by child types (Added sealed modifier to class)
* CA1724: Type names should not match namespaces (Renamed Plugin.cs to RunPlugin.cs)
* CA1724: Type names should not match namespaces (Renamed Http.cs to HttpClient.cs)
* CA5364: Do not use deprecated security protocols (Remove unused code)
* Enabled FxCopAnalyzer for Wox.Infrastructure
* fixed comment
* Addressed comments
- Changed Ordinal to InvariantCulture
- Added comments
- Removed unused obsolete code
- Removed unused method (CA2007: Do not directly await a Task)
* Addressed comments - fixed justification for CA1031 suppression
* Addressed comments - Fixed justification for CA1031 suppression in Wox.Core/Wox.Plugin
* indexer drive detection helper code to not show the warning for a single drive
* removed interface from the namespace due to stylecop
* removed interfac which no longer exists
* filter out only fixed drives in the system and ignore the removable drives
* changed text to not all files are indexed, from not all drives are idnexed
* add additional info in the comment
* Added CultureInfo (CA1307: Specify StringComparison for clarity / CA1304: Specify CultureInfo)
* Check arguments and throw ArgumentNullException (CA1062: Validate arguments of public methods)
* Changed url parameter from string to System.Uri and added null checks (CA1054: URI parameters should not be strings)
* Rethrow exception without specifying the exception explicitly (CA2200: Rethrow to preserve stack details)
* Changed from Collection property to methods for PluginMetadata::ActionKeywords (CA2227: Collection properties should be read only)
* Changed from Collection property to methods for Result::GetTitleHighlightData (CA2227: Collection properties should be read only)
* Made Collection property read-only and added parameter in constructor for Result::SubTitleHighlightData (CA2227: Collection properties should be read only)
* Made Collection property read only and added parameter in constructor for ResultUpdatedEventArgs::Results (CA2227: Collection properties should be read only)
* CA1507: Use nameof in place of string
* Removed initialization for ThemeManager::_disposed (CA1805: Do not initialize unnecessarily)
* Changed Query::Terms array property to ReadOnlyCollection and added private set (CA1819: Properties should not return arrays)
* CA1060: Move P/Invokes to NativeMethods class
* CA1806: Do not ignore method results
* CA2101: Specify marshaling for P/Invoke string arguments
* Removed unnecessary empty interface IFeatures (CA1040: Avoid empty interfaces)
- Removed IFeatures interface and references
- Renamed IFeatures.cs to IContextMenu.cs according to guidelines
* Added comments for CultureInfo (CA1307: Specify StringComparison for clarity / CA1304: Specify CultureInfo)
* Added localization for Wox.Plugin and localized strings in FilesFolders.cs
* Align zone numbers between Editor and FancyZonesLib
Use zoneId on win+arrow
* Update tests
* Fix crash
* ZoneId starts from 0
* Define ZonesMap type
IFACEMETHOD_ macro is having trouble processing
std::map template when expanding, so return type needs
to be predefined
* Address PR comment
* Address more PR comments
* Handle .at
* Moved Logger/Log.cs from Wox.Infrastructure to Wox.Plugin
- Installed Logger dependency in Wox.Plugin: NLog.Extensions.Logging
- Moved file Log.cs from Wox.Infrastructure/Logger/ to Wox.Plugin/Logger
- Moved file Constant.cs from Wox.Infrastructure to Wox.Plugin: This file was moved since Log.cs depends on this class
- Copied Wox.Infrastructure.Helper.NonNull to Wox.Plugin.Constant since Constant.cs depends on this method
- Replaced all "using Wox.Infrastructure.Logger" to "using Wox.Plugin.Logger" in all files as needed
- Replaced Wox.Infrastructure.Constant to Wox.Plugin.Constant in all files as needed
* Removed Nlog.Extensions.Logging from Wox.Infrastructure
* Added logging and suppressed general exceptions (CA1031: Do not catch general exception types)
* Resolved fxcop errors introduced by newly added Log.cs
- CA1307: Specify StringComparison for clarity
- CA2000: Dispose objects before losing scope
- CA1062: Validate arguments of public methods
* Replaced Wox.Infrastructure.Logger with Wox.Plugin.Logger
* Rename Interface to Interfaces in namespaces
* Rename Lib to Library in namespaces
* Rename project and directory and enable fxcop
* Add CA2213 suppression
* Minor fixes
* Added InvarientCulture info (CA1305: Specify IFormatProvider)
* Removed underscore from method names (CA1707: Identifiers should not contain underscores)
* Marked members as static (CA1822: Mark members as static)
* Removed initialization for DummyTestClass::IsFunctionCalled (CA1805: Do not initialize unnecessarily)
* Replaced Count with Any (CA1827: Do not use Count/LongCount when Any can be used)
* Changed WoxTest::DummyTestClass to private (CA1034: Nested types should not be visible)
* Suppressed warnings for uninstantiated internal classes used as TestFixtures (CA1812: Avoid uninstantiated internal classes)
* Enabled FxCopAnalyzer for Wox.Test
* Added suppression message for CA1812 in GlobalSuppressions.cs and removed inline supression messages (CA1812: Avoid uninstantiated internal classes)
* Changed InvariantCulture to Ordinal where appropriate
* Addressing comments: Updated justification for CA1812 in GlobalSuppressions.cs (Avoid uninstantiated internal classes)
* remove functions which mages cannot interpret and add in functions which mages can
* set validResult when the result is explicitly created to differentiate it form an empty CalculateResult
* Add condition to check that the input is not ending with a binary operation
* add tests for all the cases
* use valid result while calculating hash as well
* add test for e is valid within regex
* removed i from regex
* remove valid result to use decimal? instead
* remove duplicate rand and exp
* Enable Run as Admin Arguments
* Use a seperate function for both methods which were generating ProcessStartInfo fixes missing LnkResolvedPath missing in contextmenu (E.g. Shortcuts / PWA's).
* Update tests
* Move ProgramArguments to Result class
Co-authored-by: Roy <royvou@hotmailcom>
* Add AutomationProperties.Name to focusable elements
* Add AutomationProperties.Name to focusable elements
* Use AutomationProperties.LabeledBy with buttons / text boxes
* Address PR comments
* Add HSL and HSV color formats + cleanup + docu
* Fix build problem (lang version)
* Add CYMK color + replace float with double values
* ups - fix cmyk text format
* fix wrong settings text + doc typo fix
* Address feedback
* Address feedback + fix to small window size
* adress feedback + more cleanup
* typo fix
* Avoid possible division by zero + unit test
* Address feedback - move all represenation to own helper class + UnitTest
* Address feedback -> switch to mstest framework
* Fix autocomplete text issue on query change
* Update from invariant to ordinal case for exact byte to byte matching
* Add tests for checking when autocomplete should be empty
* 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
* FxCop Fixes- added InvarientCulture info, suppressed warnings for general exception types
* Used IsNullOrEmpty to test for empty strings (CA1820: Test for empty strings using string length)
* Check if arguments are null and throw ArgumentNullException
* Removed unused function argument from PluginsLoader.cs
* Addressing comments- Using attributes to suppress errors for general exception types
* Addressing comments- Using attributes to suppress errors
* Addressed comments and changed InvariantCulture to CurrentCulture/Ordinal where appropriate
* Addressing comments - catching and logging specific exception in FontHelper.cs
* Add action keywords for each plugin
- Added keywords for each plug-in
- Change window walker search to use Query, not RawQuery (to get rid of action keyword)
- Make sure plug-ins that have action keywords as well as are in global list don't get added twice
All tests passed that passed before I started
Addressing issue #5823
* Fix bad formatting from the merge
* Do not add global plug-ins if we have an action keyword
Note side effect: you will not not be able to search for things that start with one of the plug-in keywords.
* Missed merge conflict repair!
* Revert "Do not add global plug-ins if we have an action keyword"
This reverts commit e3b0ecd708.
* Adjust keywords to suggested ones
* No need to ubild a query if we aren't going to use it
Didn't quite get the if statement right the first time I put it in.
* Do not add global plugins if we have an action keyword
This means, especially without a space, that global plugins do not become part of the search. Which really narrows down the search results, nicely.
* Update keywords as requested in the PR