PowerToys/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32Program.cs

908 lines
36 KiB
C#
Raw Normal View History

2020-08-18 01:00:56 +08:00
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
using System;
using System.Collections.Generic;
using System.Diagnostics;
2020-08-18 01:00:56 +08:00
using System.Globalization;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
using System.IO;
using System.Linq;
2020-08-18 01:00:56 +08:00
using System.Reflection;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
using System.Security;
using System.Text;
2020-08-18 01:00:56 +08:00
using System.Text.RegularExpressions;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
using System.Threading.Tasks;
using System.Windows.Input;
using Microsoft.Plugin.Program.Logger;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
using Microsoft.Win32;
using Wox.Infrastructure;
2020-08-18 01:00:56 +08:00
using Wox.Infrastructure.FileSystemHelper;
using Wox.Infrastructure.Logger;
using Wox.Plugin;
2020-08-18 01:00:56 +08:00
namespace Microsoft.Plugin.Program.Programs
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
[Serializable]
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
public class Win32Program : IProgram
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
public string Name { get; set; }
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public string UniqueIdentifier { get; set; }
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public string IcoPath { get; set; }
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public string FullPath { get; set; }
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public string LnkResolvedPath { get; set; }
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public string ParentDirectory { get; set; }
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public string ExecutableName { get; set; }
2020-08-18 01:00:56 +08:00
2020-08-14 06:31:14 +08:00
public string Description { get; set; } = string.Empty;
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public bool Valid { get; set; }
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public bool Enabled { get; set; }
2020-08-18 01:00:56 +08:00
public bool HasArguments { get; set; } = false;
2020-08-18 01:00:56 +08:00
2020-08-14 06:31:14 +08:00
public string Arguments { get; set; } = string.Empty;
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public string Location => ParentDirectory;
2020-08-18 01:00:56 +08:00
public uint AppType { get; set; }
2020-08-18 01:00:56 +08:00
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
// Wrappers for File Operations
2020-08-18 01:00:56 +08:00
public static IFileVersionInfoWrapper FileVersionInfoWrapper { get; set; } = new FileVersionInfoWrapper();
public static IFileWrapper FileWrapper { get; set; } = new FileWrapper();
public static IShellLinkHelper Helper { get; set; } = new ShellLinkHelper();
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
private const string ShortcutExtension = "lnk";
private const string ApplicationReferenceExtension = "appref-ms";
private const string ExeExtension = "exe";
private const string InternetShortcutExtension = "url";
2020-08-18 01:00:56 +08:00
private const string ProxyWebApp = "_proxy.exe";
private const string AppIdArgument = "--app-id";
private enum ApplicationTypes
{
WEB_APPLICATION = 0,
INTERNET_SHORTCUT_APPLICATION = 1,
WIN32_APPLICATION = 2,
RUN_COMMAND = 3,
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
// Function to calculate the score of a result
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
private int Score(string query)
{
var nameMatch = StringMatcher.FuzzySearch(query, Name);
var descriptionMatch = StringMatcher.FuzzySearch(query, Description);
var executableNameMatch = StringMatcher.FuzzySearch(query, ExecutableName);
var score = new[] { nameMatch.Score, descriptionMatch.Score / 2, executableNameMatch.Score }.Max();
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
return score;
}
2020-08-18 01:00:56 +08:00
public bool IsWebApplication()
{
// To Filter PWAs when the user searches for the main application
// All Chromium based applications contain the --app-id argument
// Reference : https://codereview.chromium.org/399045/show
bool isWebApplication = FullPath.Contains(ProxyWebApp, StringComparison.OrdinalIgnoreCase) && Arguments.Contains(AppIdArgument, StringComparison.OrdinalIgnoreCase);
return isWebApplication;
}
// Condition to Filter pinned Web Applications or PWAs when searching for the main application
public bool FilterWebApplication(string query)
{
// If the app is not a web application, then do not filter it
if (!IsWebApplication())
{
return false;
}
// Set the subtitle to 'Web Application'
AppType = (uint)ApplicationTypes.WEB_APPLICATION;
string[] subqueries = query?.Split() ?? Array.Empty<string>();
bool nameContainsQuery = false;
bool pathContainsQuery = false;
// check if any space separated query is a part of the app name or path name
foreach (var subquery in subqueries)
{
if (FullPath.Contains(subquery, StringComparison.OrdinalIgnoreCase))
{
pathContainsQuery = true;
}
if (Name.Contains(subquery, StringComparison.OrdinalIgnoreCase))
{
nameContainsQuery = true;
}
}
return pathContainsQuery && !nameContainsQuery;
}
// Function to set the subtitle based on the Type of application
2020-08-18 01:00:56 +08:00
private string SetSubtitle(IPublicAPI api)
{
if (AppType == (uint)ApplicationTypes.WIN32_APPLICATION)
{
return api.GetTranslation("powertoys_run_plugin_program_win32_application");
}
else if (AppType == (uint)ApplicationTypes.INTERNET_SHORTCUT_APPLICATION)
{
return api.GetTranslation("powertoys_run_plugin_program_internet_shortcut_application");
}
else if (AppType == (uint)ApplicationTypes.WEB_APPLICATION)
{
return api.GetTranslation("powertoys_run_plugin_program_web_application");
}
else if (AppType == (uint)ApplicationTypes.RUN_COMMAND)
{
return api.GetTranslation("powertoys_run_plugin_program_run_command");
}
else
{
return string.Empty;
}
}
2020-08-18 01:00:56 +08:00
public bool QueryEqualsNameForRunCommands(string query)
{
if (query != null && AppType == (uint)ApplicationTypes.RUN_COMMAND
&& !query.Equals(Name, StringComparison.OrdinalIgnoreCase))
{
return false;
}
return true;
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public Result Result(string query, IPublicAPI api)
{
2020-08-18 01:00:56 +08:00
if (api == null)
{
throw new ArgumentNullException(nameof(api));
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
var score = Score(query);
if (score <= 0)
{ // no need to create result if this is zero
return null;
}
2020-08-18 01:00:56 +08:00
if (!HasArguments)
{
var noArgumentScoreModifier = 5;
score += noArgumentScoreModifier;
}
2020-08-18 01:00:56 +08:00
else
{
// Filter Web Applications when searching for the main application
if (FilterWebApplication(query))
{
return null;
}
}
// NOTE: This is to display run commands only when there is an exact match, like in start menu
2020-08-18 01:00:56 +08:00
if (!QueryEqualsNameForRunCommands(query))
{
return null;
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
var result = new Result
{
SubTitle = SetSubtitle(api),
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
IcoPath = IcoPath,
Score = score,
ContextData = this,
Action = e =>
{
var info = new ProcessStartInfo
{
FileName = LnkResolvedPath ?? FullPath,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
WorkingDirectory = ParentDirectory,
UseShellExecute = true,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
};
Main.StartProcess(Process.Start, info);
return true;
},
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
};
2020-08-14 06:31:14 +08:00
// To set the title for the result to always be the name of the application
result.Title = Name;
result.TitleHighlightData = StringMatcher.FuzzySearch(query, Name).MatchData;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
2020-08-18 01:00:56 +08:00
var toolTipTitle = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", api.GetTranslation("powertoys_run_plugin_program_file_name"), result.Title);
var toolTipText = string.Format(CultureInfo.CurrentCulture, "{0}: {1}", api.GetTranslation("powertoys_run_plugin_program_file_path"), FullPath);
result.ToolTipData = new ToolTipData(toolTipTitle, toolTipText);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
return result;
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "Intentially keeping the process alive.")]
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public List<ContextMenuResult> ContextMenus(IPublicAPI api)
{
2020-08-18 01:00:56 +08:00
if (api == null)
{
throw new ArgumentNullException(nameof(api));
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
}
2020-08-18 01:00:56 +08:00
var contextMenus = new List<ContextMenuResult>();
if (AppType != (uint)ApplicationTypes.INTERNET_SHORTCUT_APPLICATION)
{
contextMenus.Add(new ContextMenuResult
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
Title = api.GetTranslation("wox_plugin_program_run_as_administrator"),
Glyph = "\xE7EF",
FontFamily = "Segoe MDL2 Assets",
Somil55/merge wpf to master (#3840) * Basic WPF searchbox working * Updated key navigation and removed coldstart for searhbox * refactored and added code back in commented * Removed XAML Island references * Basic searchbox+listview working * Getting a bit more back * got color there * Result list bit better now * Added image loader for WPF Image * Partially got the context menus rendering again * adjusting coldstart to load, control will load with main form * getting context menus back * mouse over works now * Click now works, started to remove Win.XAML references * being a bit more forcusful on focus * Shadow text is not aligned * fixing focus if listbox was used * small tweak to fix shadow text * inputs don't work but gotta figure out why. commenting out * preview text * adding back in delay * fixed height issue * Applied the correct context button styles * Created custom ItemContainerStyle to fix the blue highlights behind the command buttons * Applied the correct highlight / mouseover styling * Removed vertical scrollbar in listview * fixed for alt-space prompt * Fixed right click focus issue * Somil55/wpf modifier keys (#3378) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Somil55/wpf context menu selection (#3389) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Add trigger to selection on tabbing * Minor shadow adjustments so its more similiar to default shell shadow. Added intro/outro animations * Added UWP-like scrollbar style for the results list * Fixed formating and naming * Removed Powerlauncher UI project * Update PowerToys.sln * Commented out scrollbar and fade in/out animations * Added missing features from UWP branch * Fixed formatting for Product.wxs * Add dragging to WPF window Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: Niels Laute <niels.laute@live.nl>
2020-06-02 03:35:37 +08:00
AcceleratorKey = Key.Enter,
AcceleratorModifiers = ModifierKeys.Control | ModifierKeys.Shift,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
Action = _ =>
{
var info = new ProcessStartInfo
{
FileName = FullPath,
WorkingDirectory = ParentDirectory,
Verb = "runas",
UseShellExecute = true,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
};
Task.Run(() => Main.StartProcess(Process.Start, info));
return true;
},
2020-08-18 01:00:56 +08:00
});
}
contextMenus.Add(
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
Title = api.GetTranslation("wox_plugin_program_open_containing_folder"),
Glyph = "\xE838",
FontFamily = "Segoe MDL2 Assets",
Somil55/merge wpf to master (#3840) * Basic WPF searchbox working * Updated key navigation and removed coldstart for searhbox * refactored and added code back in commented * Removed XAML Island references * Basic searchbox+listview working * Getting a bit more back * got color there * Result list bit better now * Added image loader for WPF Image * Partially got the context menus rendering again * adjusting coldstart to load, control will load with main form * getting context menus back * mouse over works now * Click now works, started to remove Win.XAML references * being a bit more forcusful on focus * Shadow text is not aligned * fixing focus if listbox was used * small tweak to fix shadow text * inputs don't work but gotta figure out why. commenting out * preview text * adding back in delay * fixed height issue * Applied the correct context button styles * Created custom ItemContainerStyle to fix the blue highlights behind the command buttons * Applied the correct highlight / mouseover styling * Removed vertical scrollbar in listview * fixed for alt-space prompt * Fixed right click focus issue * Somil55/wpf modifier keys (#3378) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Somil55/wpf context menu selection (#3389) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Add trigger to selection on tabbing * Minor shadow adjustments so its more similiar to default shell shadow. Added intro/outro animations * Added UWP-like scrollbar style for the results list * Fixed formating and naming * Removed Powerlauncher UI project * Update PowerToys.sln * Commented out scrollbar and fade in/out animations * Added missing features from UWP branch * Fixed formatting for Product.wxs * Add dragging to WPF window Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: Niels Laute <niels.laute@live.nl>
2020-06-02 03:35:37 +08:00
AcceleratorKey = Key.E,
AcceleratorModifiers = ModifierKeys.Control | ModifierKeys.Shift,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
Action = _ =>
{
Main.StartProcess(Process.Start, new ProcessStartInfo("explorer", ParentDirectory));
return true;
},
});
contextMenus.Add(
new ContextMenuResult
{
PluginName = Assembly.GetExecutingAssembly().GetName().Name,
Title = api.GetTranslation("wox_plugin_program_open_in_console"),
Glyph = "\xE756",
FontFamily = "Segoe MDL2 Assets",
2020-08-18 01:00:56 +08:00
AcceleratorKey = Key.C,
AcceleratorModifiers = ModifierKeys.Control | ModifierKeys.Shift,
Action = (context) =>
{
try
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
Wox.Infrastructure.Helper.OpenInConsole(ParentDirectory);
return true;
}
catch (Exception e)
2020-08-18 01:00:56 +08:00
{
Log.Exception($"|Microsoft.Plugin.Program.Win32.ContextMenu| Failed to open {Name} in console, {e.Message}", e);
return false;
}
},
2020-08-18 01:00:56 +08:00
});
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
return contextMenus;
}
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
public override string ToString()
{
return ExecutableName;
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static Win32Program CreateWin32Program(string path)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
try
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var p = new Win32Program
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
Name = Path.GetFileNameWithoutExtension(path),
ExecutableName = Path.GetFileName(path),
IcoPath = path,
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
FullPath = path.ToLower(CultureInfo.CurrentCulture),
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
UniqueIdentifier = path,
ParentDirectory = Directory.GetParent(path).FullName,
Description = string.Empty,
Valid = true,
Enabled = true,
AppType = (uint)ApplicationTypes.WIN32_APPLICATION,
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
};
return p;
}
catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|Win32Program|{path}" +
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
$"|Permission denied when trying to load the program from {path}", e);
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
return new Win32Program() { Valid = false, Enabled = false };
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
}
}
// This function filters Internet Shortcut programs
2020-08-18 01:00:56 +08:00
private static Win32Program InternetShortcutProgram(string path)
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
string[] lines = FileWrapper.ReadAllLines(path);
2020-08-18 01:00:56 +08:00
string iconPath = string.Empty;
string urlPath = string.Empty;
bool validApp = false;
Regex internetShortcutURLPrefixes = new Regex(@"^steam:\/\/(rungameid|run)\/|^com\.epicgames\.launcher:\/\/apps\/");
const string urlPrefix = "URL=";
const string iconFilePrefix = "IconFile=";
foreach (string line in lines)
{
if (line.StartsWith(urlPrefix, StringComparison.OrdinalIgnoreCase))
{
urlPath = line.Substring(urlPrefix.Length);
Uri uri = new Uri(urlPath);
// To filter out only those steam shortcuts which have 'run' or 'rungameid' as the hostname
if (internetShortcutURLPrefixes.Match(urlPath).Success)
{
validApp = true;
}
}
if (line.StartsWith(iconFilePrefix, StringComparison.OrdinalIgnoreCase))
{
iconPath = line.Substring(iconFilePrefix.Length);
}
}
if (!validApp)
{
return new Win32Program() { Valid = false, Enabled = false };
}
try
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var p = new Win32Program
{
Name = Path.GetFileNameWithoutExtension(path),
ExecutableName = Path.GetFileName(path),
IcoPath = iconPath,
FullPath = urlPath,
UniqueIdentifier = path,
ParentDirectory = Directory.GetParent(path).FullName,
Valid = true,
Enabled = true,
AppType = (uint)ApplicationTypes.INTERNET_SHORTCUT_APPLICATION,
};
return p;
}
catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|InternetShortcutProgram|{path}" +
$"|Permission denied when trying to load the program from {path}", e);
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
return new Win32Program() { Valid = false, Enabled = false };
}
2020-08-18 01:00:56 +08:00
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "Unsure of what exceptions are caught here while enabling static analysis")]
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static Win32Program LnkProgram(string path)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var program = CreateWin32Program(path);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
try
{
const int MAX_PATH = 260;
2020-08-18 01:00:56 +08:00
StringBuilder buffer = new StringBuilder(MAX_PATH);
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
string target = Helper.RetrieveTargetPath(path);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
if (!string.IsNullOrEmpty(target))
{
var extension = Extension(target);
if (extension == ExeExtension && File.Exists(target))
{
program.LnkResolvedPath = program.FullPath;
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
program.FullPath = Path.GetFullPath(target).ToLower(CultureInfo.CurrentCulture);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
program.ExecutableName = Path.GetFileName(target);
program.HasArguments = Helper.HasArguments;
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
program.Arguments = Helper.Arguments;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
var description = Helper.Description;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
if (!string.IsNullOrEmpty(description))
{
program.Description = description;
}
else
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var info = FileVersionInfoWrapper.GetVersionInfo(target);
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
if (!string.IsNullOrEmpty(info?.FileDescription))
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
program.Description = info.FileDescription;
}
}
}
}
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
return program;
2020-08-18 01:00:56 +08:00
}
// Only do a catch all in production. This is so make developer aware of any unhandled exception and add the exception handling in.
// Error caused likely due to trying to get the description of the program
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
catch (Exception e)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|LnkProgram|{path}" +
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
"|An unexpected error occurred in the calling method LnkProgram", e);
program.Valid = false;
return program;
}
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static Win32Program ExeProgram(string path)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
try
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var program = CreateWin32Program(path);
var info = FileVersionInfoWrapper.GetVersionInfo(path);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
if (!string.IsNullOrEmpty(info?.FileDescription))
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
program.Description = info.FileDescription;
}
return program;
}
catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|ExeProgram|{path}" +
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
$"|Permission denied when trying to load the program from {path}", e);
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
return new Win32Program() { Valid = false, Enabled = false };
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
}
}
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
// Function to get the Win32 application, given the path to the application
2020-08-18 01:00:56 +08:00
public static Win32Program GetAppFromPath(string path)
{
if (path == null)
{
throw new ArgumentNullException(nameof(path));
}
Win32Program app = null;
const string exeExtension = ".exe";
const string lnkExtension = ".lnk";
const string urlExtenion = ".url";
const string apprefExtension = ".appref-ms";
string extension = Path.GetExtension(path);
if (extension.Equals(exeExtension, StringComparison.OrdinalIgnoreCase))
{
app = ExeProgram(path);
}
else if (extension.Equals(lnkExtension, StringComparison.OrdinalIgnoreCase))
{
app = LnkProgram(path);
}
else if (extension.Equals(apprefExtension, StringComparison.OrdinalIgnoreCase))
{
app = CreateWin32Program(path);
}
else if (extension.Equals(urlExtenion, StringComparison.OrdinalIgnoreCase))
{
app = InternetShortcutProgram(path);
}
// if the app is valid, only then return the application, else return null
if (app?.Valid ?? false)
{
return app;
}
else
{
return null;
}
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static IEnumerable<string> ProgramPaths(string directory, IList<string> suffixes, bool recursiveSearch = true)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
if (!Directory.Exists(directory))
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
return Array.Empty<string>();
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
}
var files = new List<string>();
Somil55/merge wpf to master (#3840) * Basic WPF searchbox working * Updated key navigation and removed coldstart for searhbox * refactored and added code back in commented * Removed XAML Island references * Basic searchbox+listview working * Getting a bit more back * got color there * Result list bit better now * Added image loader for WPF Image * Partially got the context menus rendering again * adjusting coldstart to load, control will load with main form * getting context menus back * mouse over works now * Click now works, started to remove Win.XAML references * being a bit more forcusful on focus * Shadow text is not aligned * fixing focus if listbox was used * small tweak to fix shadow text * inputs don't work but gotta figure out why. commenting out * preview text * adding back in delay * fixed height issue * Applied the correct context button styles * Created custom ItemContainerStyle to fix the blue highlights behind the command buttons * Applied the correct highlight / mouseover styling * Removed vertical scrollbar in listview * fixed for alt-space prompt * Fixed right click focus issue * Somil55/wpf modifier keys (#3378) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Somil55/wpf context menu selection (#3389) * Removed DPI change as it was not required * Global key hooks for context menu items * Updated Key for shell, folder and indexer plugin * Updated key mapping for indexer plugin * Add trigger to selection on tabbing * Minor shadow adjustments so its more similiar to default shell shadow. Added intro/outro animations * Added UWP-like scrollbar style for the results list * Fixed formating and naming * Removed Powerlauncher UI project * Update PowerToys.sln * Commented out scrollbar and fade in/out animations * Added missing features from UWP branch * Fixed formatting for Product.wxs * Add dragging to WPF window Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: Niels Laute <niels.laute@live.nl>
2020-06-02 03:35:37 +08:00
var folderQueue = new Queue<string>();
2020-08-18 01:00:56 +08:00
folderQueue.Enqueue(directory);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
do
{
var currentDirectory = folderQueue.Dequeue();
try
{
foreach (var suffix in suffixes)
{
try
{
files.AddRange(Directory.EnumerateFiles(currentDirectory, $"*.{suffix}", SearchOption.TopDirectoryOnly));
}
catch (DirectoryNotFoundException e)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|ProgramPaths|{currentDirectory}" +
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
"|The directory trying to load the program from does not exist", e);
}
}
}
catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|ProgramPaths|{currentDirectory}" +
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
$"|Permission denied when trying to load programs from {currentDirectory}", e);
}
try
{
// If the search is set to be non-recursive, then do not enqueue the child directories.
2020-08-18 01:00:56 +08:00
if (!recursiveSearch)
{
continue;
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
foreach (var childDirectory in Directory.EnumerateDirectories(currentDirectory, "*", SearchOption.TopDirectoryOnly))
{
folderQueue.Enqueue(childDirectory);
}
}
catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|ProgramPaths|{currentDirectory}" +
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
$"|Permission denied when trying to load programs from {currentDirectory}", e);
}
2020-08-18 01:00:56 +08:00
}
while (folderQueue.Any());
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
return files;
}
private static string Extension(string path)
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var extension = Path.GetExtension(path)?.ToLower(CultureInfo.CurrentCulture);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
if (!string.IsNullOrEmpty(extension))
{
return extension.Substring(1);
}
else
{
return string.Empty;
}
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static ParallelQuery<Win32Program> UnregisteredPrograms(List<ProgramSource> sources, IList<string> suffixes)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
var listToAdd = new List<string>();
sources.Where(s => Directory.Exists(s.Location) && s.Enabled)
.SelectMany(s => ProgramPaths(s.Location, suffixes))
.ToList()
.Where(t1 => !Main.Settings.DisabledProgramSources.Any(x => t1 == x.UniqueIdentifier))
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
.ToList()
.ForEach(x => listToAdd.Add(x));
var paths = listToAdd.Distinct().ToArray();
var programs1 = paths.AsParallel().Where(p => Extension(p) == ExeExtension).Select(ExeProgram);
var programs2 = paths.AsParallel().Where(p => Extension(p) == ShortcutExtension).Select(ExeProgram);
var programs3 = from p in paths.AsParallel()
let e = Extension(p)
where e != ShortcutExtension && e != ExeExtension
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
select CreateWin32Program(p);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
return programs1.Concat(programs2).Concat(programs3);
}
2020-08-18 01:00:56 +08:00
// Function to obtain the list of applications, the locations of which have been added to the env variable PATH
2020-08-18 01:00:56 +08:00
private static ParallelQuery<Win32Program> PathEnvironmentPrograms(IList<string> suffixes)
{
// To get all the locations stored in the PATH env variable
var pathEnvVariable = Environment.GetEnvironmentVariable("PATH");
string[] searchPaths = pathEnvVariable.Split(Path.PathSeparator);
IEnumerable<string> toFilterAllPaths = new List<string>();
bool isRecursiveSearch = true;
foreach (string path in searchPaths)
{
if (path.Length > 0)
{
// to expand any environment variables present in the path
string directory = Environment.ExpandEnvironmentVariables(path);
var paths = ProgramPaths(directory, suffixes, !isRecursiveSearch);
toFilterAllPaths = toFilterAllPaths.Concat(paths);
}
}
var allPaths = toFilterAllPaths
.Distinct()
2020-08-18 01:00:56 +08:00
.ToArray();
var programs1 = allPaths.AsParallel().Where(p => Extension(p).Equals(ShortcutExtension, StringComparison.OrdinalIgnoreCase)).Select(LnkProgram);
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var programs2 = allPaths.AsParallel().Where(p => Extension(p).Equals(ApplicationReferenceExtension, StringComparison.OrdinalIgnoreCase)).Select(CreateWin32Program);
var programs3 = allPaths.AsParallel().Where(p => Extension(p).Equals(InternetShortcutExtension, StringComparison.OrdinalIgnoreCase)).Select(InternetShortcutProgram);
var programs4 = allPaths.AsParallel().Where(p => Extension(p).Equals(ExeExtension, StringComparison.OrdinalIgnoreCase)).Select(ExeProgram);
2020-08-18 01:00:56 +08:00
var allPrograms = programs1.Concat(programs2).Where(p => p.Valid)
.Concat(programs3).Where(p => p.Valid)
.Concat(programs4).Where(p => p.Valid)
.Select(p =>
{
p.AppType = (uint)ApplicationTypes.RUN_COMMAND;
return p;
});
return allPrograms;
}
private static ParallelQuery<Win32Program> IndexPath(IList<string> suffixes, List<string> indexLocation)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
2020-08-18 01:00:56 +08:00
var disabledProgramsList = Main.Settings.DisabledProgramSources;
IEnumerable<string> toFilter = new List<string>();
2020-08-18 01:00:56 +08:00
foreach (string location in indexLocation)
{
var programPaths = ProgramPaths(location, suffixes);
2020-08-18 01:00:56 +08:00
toFilter = toFilter.Concat(programPaths);
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
var paths = toFilter
.Where(t1 => !disabledProgramsList.Any(x => x.UniqueIdentifier == t1))
.Select(t1 => t1)
.Distinct()
.ToArray();
var programs1 = paths.AsParallel().Where(p => Extension(p).Equals(ShortcutExtension, StringComparison.OrdinalIgnoreCase)).Select(LnkProgram);
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var programs2 = paths.AsParallel().Where(p => Extension(p).Equals(ApplicationReferenceExtension, StringComparison.OrdinalIgnoreCase)).Select(CreateWin32Program);
var programs3 = paths.AsParallel().Where(p => Extension(p).Equals(InternetShortcutExtension, StringComparison.OrdinalIgnoreCase)).Select(InternetShortcutProgram);
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
var programs4 = paths.AsParallel().Where(p => Extension(p).Equals(ExeExtension, StringComparison.OrdinalIgnoreCase)).Select(ExeProgram);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
return programs1.Concat(programs2).Where(p => p.Valid)
.Concat(programs3).Where(p => p.Valid)
.Concat(programs4).Where(p => p.Valid);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static ParallelQuery<Win32Program> StartMenuPrograms(IList<string> suffixes)
{
var directory1 = Environment.GetFolderPath(Environment.SpecialFolder.Programs);
2020-08-18 01:00:56 +08:00
var directory2 = Environment.GetFolderPath(Environment.SpecialFolder.CommonPrograms);
List<string> indexLocation = new List<string>() { directory1, directory2 };
2020-08-18 01:00:56 +08:00
return IndexPath(suffixes, indexLocation);
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static ParallelQuery<Win32Program> DesktopPrograms(IList<string> suffixes)
{
var directory1 = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
List<string> indexLocation = new List<string>() { directory1 };
2020-08-18 01:00:56 +08:00
return IndexPath(suffixes, indexLocation);
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static ParallelQuery<Win32Program> AppPathsPrograms(IList<string> suffixes)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
// https://msdn.microsoft.com/en-us/library/windows/desktop/ee872121
const string appPaths = @"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths";
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var programs = new List<Win32Program>();
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
using (var root = Registry.LocalMachine.OpenSubKey(appPaths))
{
if (root != null)
{
programs.AddRange(GetProgramsFromRegistry(root));
}
}
2020-08-18 01:00:56 +08:00
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
using (var root = Registry.CurrentUser.OpenSubKey(appPaths))
{
if (root != null)
{
programs.AddRange(GetProgramsFromRegistry(root));
}
}
var disabledProgramsList = Main.Settings.DisabledProgramSources;
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
var toFilter = programs.AsParallel().Where(p => suffixes.Contains(Extension(p.ExecutableName)));
var filtered = toFilter.Where(t1 => !disabledProgramsList.Any(x => x.UniqueIdentifier == t1.UniqueIdentifier)).Select(t1 => t1);
return filtered;
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static IEnumerable<Win32Program> GetProgramsFromRegistry(RegistryKey root)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
return root
.GetSubKeyNames()
.Select(x => GetProgramPathFromRegistrySubKeys(root, x))
.Distinct()
.Select(x => GetProgramFromPath(x));
}
private static string GetProgramPathFromRegistrySubKeys(RegistryKey root, string subkey)
{
var path = string.Empty;
try
{
using (var key = root.OpenSubKey(subkey))
{
2020-08-18 01:00:56 +08:00
if (key == null)
{
return string.Empty;
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
var defaultValue = string.Empty;
path = key.GetValue(defaultValue) as string;
}
2020-08-18 01:00:56 +08:00
if (string.IsNullOrEmpty(path))
{
return string.Empty;
}
// fix path like this: ""\"C:\\folder\\executable.exe\""
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
return path = path.Trim('"', ' ');
}
catch (Exception e) when (e is SecurityException || e is UnauthorizedAccessException)
{
2020-08-18 01:00:56 +08:00
ProgramLogger.LogException(
2020-08-14 06:31:14 +08:00
$"|Win32|GetProgramPathFromRegistrySubKeys|{path}" +
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
$"|Permission denied when trying to load the program from {path}", e);
return string.Empty;
}
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
private static Win32Program GetProgramFromPath(string path)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
2020-08-18 01:00:56 +08:00
if (string.IsNullOrEmpty(path))
{
return new Win32Program();
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
path = Environment.ExpandEnvironmentVariables(path);
2020-08-18 01:00:56 +08:00
if (!File.Exists(path))
{
return new Win32Program();
}
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var entry = CreateWin32Program(path);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
entry.ExecutableName = Path.GetFileName(path);
return entry;
}
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
// Overriding the object.GetHashCode() function to aid in removing duplicates while adding and removing apps from the concurrent dictionary storage
2020-08-18 01:00:56 +08:00
public override int GetHashCode()
{
return new RemoveDuplicatesComparer().GetHashCode(this);
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
}
2020-08-18 01:00:56 +08:00
public override bool Equals(object obj)
{
return obj is Win32Program win && new RemoveDuplicatesComparer().Equals(this, win);
Functionality to detect Win32 apps which are installed, deleted or renamed while PowerToys is running (#4960) * Added file system wrapper and interface * added win32program repository which would load store app and also handle new apps being added/deleted * Added event handlers to win32 program repo * added paths to monitor and setting FSWs for each location * Events firing as expected * filter extensions added, events fire as expected * override gethashcode so that duplicates don't show up. OnCreated and OnDeleted events trigger as expected * implemented setter for filters in FileSystemWatcher * Rename adds item but does not seem to delete the previous app * catching an exception when a duplicate item is inserted * Removed notify filter for directory because we only need to monitor files * Added exe programs to be indexed in the desktop and startmenu * created a new class to init FileSystemHelpers instead of main * Added fix for shortcut applications to work as expected while renaming and deleting them * Added wrappers for file system operations * Added some tests * Added all tests for appref-ms and added a condition to search in sub directories * Added tests for Exe applications * Added lnk app tests * Added tests for shortcut applications * removed unnecessary wrappers * override Equals for win32 * removed debug statements * Fixed exe issue * Fixed internet shortcut exception * fixed renaming shortcut apps * Added a retry block for ReadAllLines * capitalized method name - RetrieveTargetPath * made naming consistent, helper variables start with underscore * Added the exception condition back * renamed Win32ProgramRepositoryHelper to Win32ProgramFileSystemWatchers * made win32Program repository variable static * changed list to ilist * disposed file system watchers * make retrieveTargetPath upper case in tests
2020-07-18 13:32:21 +08:00
}
2020-08-18 01:00:56 +08:00
private class RemoveDuplicatesComparer : IEqualityComparer<Win32Program>
{
public bool Equals(Win32Program app1, Win32Program app2)
{
if (!string.IsNullOrEmpty(app1.Name) && !string.IsNullOrEmpty(app2.Name)
&& !string.IsNullOrEmpty(app1.ExecutableName) && !string.IsNullOrEmpty(app2.ExecutableName)
&& !string.IsNullOrEmpty(app1.FullPath) && !string.IsNullOrEmpty(app2.FullPath))
{
return app1.Name.Equals(app2.Name, StringComparison.OrdinalIgnoreCase)
&& app1.ExecutableName.Equals(app2.ExecutableName, StringComparison.OrdinalIgnoreCase)
&& app1.FullPath.Equals(app2.FullPath, StringComparison.OrdinalIgnoreCase);
}
return false;
}
// Ref : https://stackoverflow.com/questions/2730865/how-do-i-calculate-a-good-hash-code-for-a-list-of-strings
public int GetHashCode(Win32Program obj)
{
int namePrime = 13;
int executablePrime = 17;
int fullPathPrime = 31;
int result = 1;
result = (result * namePrime) + obj.Name.ToUpperInvariant().GetHashCode(StringComparison.Ordinal);
result = (result * executablePrime) + obj.ExecutableName.ToUpperInvariant().GetHashCode(StringComparison.Ordinal);
result = (result * fullPathPrime) + obj.FullPath.ToUpperInvariant().GetHashCode(StringComparison.Ordinal);
return result;
}
}
// Deduplication code
2020-08-18 01:00:56 +08:00
public static Win32Program[] DeduplicatePrograms(ParallelQuery<Win32Program> programs)
{
var uniqueExePrograms = programs.Where(x => !(string.IsNullOrEmpty(x.LnkResolvedPath) && (Extension(x.FullPath) == ExeExtension) && !(x.AppType == (uint)ApplicationTypes.RUN_COMMAND)));
var uniquePrograms = uniqueExePrograms.Distinct(new RemoveDuplicatesComparer());
return uniquePrograms.ToArray();
}
[System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1031:Do not catch general exception types", Justification = "Keeping the process alive but logging the exception")]
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
public static Win32Program[] All(ProgramPluginSettings settings)
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
{
2020-08-18 01:00:56 +08:00
if (settings == null)
{
throw new ArgumentNullException(nameof(settings));
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
try
{
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
var programs = new List<Win32Program>().AsParallel();
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
var unregistered = UnregisteredPrograms(settings.ProgramSources, settings.ProgramSuffixes);
programs = programs.Concat(unregistered);
if (settings.EnableRegistrySource)
{
var appPaths = AppPathsPrograms(settings.ProgramSuffixes);
programs = programs.Concat(appPaths);
}
if (settings.EnableStartMenuSource)
{
var startMenu = StartMenuPrograms(settings.ProgramSuffixes);
programs = programs.Concat(startMenu);
}
2020-08-18 01:00:56 +08:00
if (settings.EnablePathEnvironmentVariableSource)
{
var appPathEnvironment = PathEnvironmentPrograms(settings.ProgramSuffixes);
programs = programs.Concat(appPathEnvironment);
}
if (settings.EnableDesktopSource)
{
var desktop = DesktopPrograms(settings.ProgramSuffixes);
2020-08-18 01:00:56 +08:00
programs = programs.Concat(desktop);
}
return DeduplicatePrograms(programs);
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
}
catch (Exception e)
{
ProgramLogger.LogException("|Win32|All|Not available|An unexpected error occurred", e);
Enable Static Analysis on programs plugin (#5847) * Removing unused ProgramSettings constructor paramaters. * Fix for: Severity Code Description Project File Line Suppression State Error CA1829 Use the "Count" property instead of Enumerable.Count(). Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 182 Active Severity Code Description Project File Line Suppression State Error CA1827 Count() is used where Any() could be used instead to improve performance. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Views\ProgramSetting.xaml.cs 287 Active * Fixes for CA1031: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * More fixes(Suppression) for CA1031 (Catching base exception) https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1031?view=vs-2019 * Fix for nested types being externally visible. CA1034 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Fix for CA1028 If possible, make the underlying type of Hresult System.Int32 instead of uint. Microsoft.Plugin.Program C:\Repos\PowerToys\src\modules\launcher\Plugins\Microsoft.Plugin.Program\Programs\UWP.cs 236 Active * Fix for CA2227 Collection properties should be readonly. https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2227?view=vs-2019 Fix rror CA2211 Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * CA2208: Instantiate argument exceptions correctly https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2208?view=vs-2019 * Win32.cs Static analysis fixes: CA2200: Rethrow to preserve stack details https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2200?view=vs-2019 CA1825: Avoid zero-length array allocations https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1825?view=vs-2019 CA2211: Non-constant fields should not be visible https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2211?view=vs-2019 * More Win32.cs static analysis fixes: CA1307: Specify StringComparison https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1307?view=vs-2019 Verifying query is not null before using it. CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 * UWPApplication. CA2007: Do not directly await a Task https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019 * Error CA2010 Consume the hresult returned by method 'Microsoft.Plugin.Program.Programs.AppxPackageHelper.IAppxManifestApplication.GetStringValue(string, out string)' and call Marshal.ThrowExceptionForHR. Note: CA2010 has been removed from future FXCop versions as it can provide incorrect advice for methods that don't return hresult (possibly when [PreserveSig] has been incorrectly labeled.) I've verified the methods in question do still return hresults. * More fixes for Error CA2010 Consume the hresult returned by method and call Marshal.ThrowExceptionForHR. * Fixes for: Error CA2000 Call System.IDisposable.Dispose on object created before all references to it are out of scope. * Suppress CA1031:Do not catch general exception types * Fixes for Error CA1034 Do not nest type ... * Fixing Unit tests that were broken as per a previous fix. * Fix for: CA1034: Nested types should not be visible: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1034?view=vs-2019 * Suppressing CA1707 for native/com types. CA1707:Identifiers should not contain underscores * Fix for Error CA1307 The behavior of 'string.Replace(string, string?)' could vary based on the current user's locale settings. * Fixes for Error CA1825 Avoid unnecessary zero-length array allocations. Use Array.Empty<string>() instead. * Fix for: Error CA1823 Unused field 'IndexLock'. * Fixes for CA1822: Mark members as static: https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1822?view=vs-2019 * Fix for Error CA1819 Properties should not return arrays * Fix for Error CA1806 ContextMenus calls Trim but does not use the new string instance that the method returns. Pass the instance as an argument to another method, assign the instance to a variable, or remove the call if it is unnecessary. * Fix for Error CA1801 Parameter settings of method UpdateSettings is never used. Remove the parameter or use it in the method body. * Fix for Error CA1724 The type name Settings conflicts in whole or in part with the namespace name 'Microsoft.PowerToys.Settings'. * Includes FxCop for static analysis * Fix for Error CA1717 Only FlagsAttribute enums should have plural names * Suppress Stgm flags: Error CA1714 Flags enums should have plural names Microsoft.Plugin.Program * Rename Win32 to Win32Program Fix for: Error CA1724 The type name Win32 conflicts in whole or in part with the namespace name 'Microsoft.Win32' defined in the .NET Framework. Rename the type to eliminate the conflict. * Fixes for Error CA1507 Use nameof in place of string literal * Using ordinal instead of invariant culture when not symbolic comparison * CA1308: Normalize strings to uppercase https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1308?view=vs-2019 * CA1304: Specify CultureInfo CA1305: Specify IFormatProvider https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1305?view=vs-2019 https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1304?view=vs-2019 * CA1062: Validate arguments of public methods https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1062?view=vs-2019 * CA1056: URI properties should not be strings https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1056?view=vs-2019 Fix: Making LogoURi private, as it is only used internally and operated on as a string * Warning CA1052 Type 'AppxPackageHelper' is a static holder type but is neither static nor NotInheritable * CA1060: Move P/Invokes to NativeMethods class https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1060?view=vs-2019 * Programs Plugin - Treat warnings as errors true * CA1031:Do not catch general exception types Missed release only compile issue. Making debug and release behave the same. * Renaming 'Create' to 'CreateWin32Program' based on PR feedback.
2020-08-12 00:08:44 +08:00
return Array.Empty<Win32Program>();
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
}
2020-08-18 01:00:56 +08:00
}
Merge PowerLauncher branch (#2345) * minor modifications in README * Added launcher project and changed references to common * Added the code to launch another process * added shellapi header * Added launcher to runner * added functions to remove the abstract class error * added the wox launcher dll * Readded the reference to common * modified the additional include directories for the release version * changed the name to be displayed from Wox.Launcher to Launcher * Localized the strings of Launcher * Added a SearchResult Helper class * Created a helper class to use indexer and return search results * Added the main and settings file which declare most of the plugin interfaces * Added references and renamed a class * Added the images folder which contains the windows indexer icon * Added the image * Added the plugin.json file * Minor changes in project files * Added plugin.json to the project * Modified the output paths to create the dll for the plugin in the correct location * Refactored the code to make it unit testable * Made the code unit testable and added unit tests for the indexer plugin * Removed commented out code * Code to terminate wox when we exit PowerToys * Copy from Jeremy's fork PR * Removed unnecessary plugins from source tree * add missing files * Fix postbuild event * Added x64 for all Wox project - Debug mode * Removed the AnyCPU config - Debug * Added the build paths for release x64 (removed AnyCPU) * Set warning level to 4 : Release * Set warning level 4 : Debug * set optimize code to false * Removed notify icon component * Removed setting UI XAML file and references * Readded necessary callback functions * Removed python path and python plugin functions * Removed UI related to python path and the bindings related to that * Remove python bindings * Removed the localized string translations from pythonDirectory and SelectPythonDirectory * Manually resolving conflicts * Fix Wox build in project settings * deleting unused project files * Undo change internal * Fix internal variable * All wox exceptions in debug are getting rethrown, and thus causing the app to crash. This change removes the debug specific code and allows exceptions to be handled the same was as release. * Ported Indexer plugin to .net core 3 * Added the test project back * Removed the .net framework indexer folder * readding the plugin.json file * Changed the anyCPU config to x64 for windows indexer plugin * Adding dependency to wox project on the runner. This should make sure the wox.exe can be build and launched by the runner so wox can run as a background process. * Updating build dependencies. Wox.Launcher wasn't built as part of the F5 Experience, and nor were the plugins * removing locks from the ResultListBox code behind file. All callbacks are accessed from the Main/UI thread. * Remove anyCPU config and changed it to x64 * Removed anycpu of test proj * Adding dependency * Renaming executable to PowerLauncher. Replaceing icons with placeholder. Deleting Docs folder * Renaming AppData directory from 'Wox' to 'PowerLauncher'. Also replacing issue link with powertoys github. * adding support for xaml islands * Added Neils UI code * Replace Niels Code references * Added assets and behaviours * Add missing reference * Add main view model binding * Using proper executable name when closing 'PowerLauncher' process * changed x:bind to Binding to avoid reference * Updated bindings for launcher * Added binding on searchBox * Adding Directory.Build.targets file to kill the PowerLauncher pprocess on Build or Clean operations of all 'Launcher' projects. * Fixed exception preventing result display * Fixed issue with wpf marshalling events to a non UI thread * Optimised result binding by inserting search result from multiple plugin in parallel * copy resource files to output folder * Corrected the output path for the indexer plugin * windows indexer plugin is working * Remove console print statement * Added callback function for mouse click on search result * Working App execution * Cherry picked pinyin performance changes from jjw24's master branch * change nuget package to msft for winrt compat * Working up/down arrow key * updating references and removing a few that seem uneeded for how stuff is referenced * adding two back in * Removing Squirrel dll. unsure on updating so i kept that logic in * Updated functionality on suggestion chosen in autosuggestbox * Added the <useWPF> tag to remove the warning * Removed an unnecessary <useWindowsForms> tag * Removed the item group for properties from calculator plugin * Removed the item group for properties from folder plugin * Removed the item group for properties from indexer, program and shell plugin * Removed itemgrp from wox.core and wox.test csprojs * Removed the unnecessary wox files to clean up codebase * Renamed Wox.Plugin.Indexer to Microsoft.Plugin.Indexer * Renamed Wox.Launcher to Microsoft.Launcher * To avoid DBNull to String typecast exception * Added query submitted event to handle default action on clicking a list view item * Merge pull request #42 from microsoft/AddPinyinPerformance Cherry picked pinyin performance changes from jjw24's master branch (cherry picked from commit b9e437c6cd0fb75fee590a4c3e7999ec417c2eb7) * Rectyfying title display * Title display working correctly * Removed .yml files * adding checks * Making wox.csproj build wox assembly instead of powerlauncher * Removing update logic from PowerLuanch App.xaml.cs as was done in Wox project. * Making Query internals visible to wox. * Update Powerlauncher nuget packages to be same version as wox.csproj. Note: FoxyWeavers.xsd change is automatically done as part of nuget package update. * Updating build dependencies to so that wox.launcher depends on powerlauncher.csproj not wox.csproj * Removing 'Wox' branded logos from powerlauncher.csproj as was done previously or wox.csproj * Downgraded the library to the latest stable version * single thread execution of the indexer plugin and InvalidOperationException due to connection being closed on ExecuteReader, handled separately * Modified the test, the connection need not be null after being disposed. There is no direct way of checking if an object has been disposed other than to throw the InvalidOperationException * Removing x86,ARM,ARM64, build configurations, as these were added accidentally when adding xaml island support. * Removed STAThread * Modified the output folder produced * Renamed the dll produced * Added dependency on PowerLauncher to the Microsoft.Launcher project * modified the name of the dll in the indexer plugin * Ignoring 128 errors from taskkill, as this means the process isn't running. We don't want htis to show up in the warnings list on build * Added fix for closing wox on pressing escape and app execution (#75) * adding useWPF to get rid of warning * Launcher resize issue on selecting search result (#77) * Added fix for closing wox on pressing escape and app execution * Added fix to prevent autosuggestbox resize * Fixing xaml catastrophic failure, based on Miguels suggestion here: https://github.com/windows-toolkit/Microsoft.Toolkit.Win32/issues/210 * suggested fix * removing unused mutex string * Searches for keyword only in title and not content to improve the quality of results * Display the title from System.Title directly instead of extracting it from the path * Removed additional README instructions before moving to the powerToys repo * Fix Query builder test (#86) * Revert base viewModel class to fix tests. * Removing unused post build and deploy scripts. * tweaked url * Update plugin.json * Update README.md * removed unused dep (#2080) * removed reference to everything (#2133) * SearchIndexer - Modifying QueryContentProperties and QuerySelectColumns to use System.FileName * Search result thumbnail for PowerLauncher (#2124) * Replace WPF Imaging library with UWP * Removed UWP and WPF namespace conflicting files from Wox * Removed Image hashing as it wasn't used anywhere * Updated formatting * Set MainViewModel visibility to hidden on startup * Enable CI build on PowerLauncher Branch (#2181) * Enable CI build on PowerLauncher Branch * Updated Nuget restore to latest and added AssetTargetFallback property * tweak text (#2177) * [Window Walker] Migrate to Launcher (#2093) * Copy the existing calc. plugin foldeR * Blindly rename a bunch of things to Window Walker * Update the solution to reference the new plugin * Get basic Yo returned * Remove all the languages except english * Lower quality of icon as well as test showing it * Add the core non-ui parts to the plugin * Delete calculator png * Get it to compile * Added the actual code which apparently doesn't work * Finally start showing results * Fix up strings * Switch working * Remove unused classes * Remove unneeded async * Added MSI support for Launcher (#2242) * Fixed typo in output folder of calculator plugin * Calculator plugin works * Modified the name of the image to remove space as space is assumed to be a separator in wcx file * Fixed typo in calculator dll * Fixed typo in calculator plugin * Shell, Program, Folde and indexer plugin working * Added the ww plugin * Fixed typos in the calculator plugin * Delete file that was added unintentionally * revert calculator rename changes * Reverted other files changed * Reverted renaming of file with space * Pull changes from master to dev/powerLauncher (#2255) * Dpi unaware placement bug (#2121) Fix for bug when placing dpi unaware window such as Notepad++ in left of right part of monitor. In that application gap of about 7px was left or right. This fixes only single-monitor scenario It skips correction for dpi unaware window that leaves a gap * Move markdown parsing logic outside control thread (#2099) * Move markdown parsing logic outside control thread * Update MarkdownPreviewHandlerControl.cs * Remove trailing whitespace. That'll teach me for trying to make an edit from the GitHub page. * 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. * Implementing changes suggested in #1992 (#2116) * Implementing changes suggested in #1992 * Update Product.wxs Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> * Fix for issue #1532 - [PowerToys tray icon] Show version on tooltip (#2117) * Fix for issue #1532 [PowerToys] Show version on tooltip * Update src/runner/tray_icon.cpp Co-Authored-By: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> * FZ editor: Splitted zones positioning (#2158) * Added a mutex to ZoneWindow, ensured no data races occur (#2154) * Added a mutex to ZoneWindow, ensured no data races occur * Protected draggedWindow* members with a mutex * Ensured that critical reads happen in a single transaction * Dpi unaware placement bug - multimontior with same DPI settings fix (#2156) * Dpi unaware placement bug - multimontior with same DPI settings fix * Using different enumerating method * Changed AllMonitorHaveSameDpiScaling method * Removed accidental file * small rename * Changed some methods to CamelCase * Review comments fixes Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com> * Somil55/merge custom ui into launcher (#2271) * Remove Autosuggest box (#2192) * Update Settings.Designer.cs * Revert "Update Settings.Designer.cs" This reverts commit a1bc0dda564733f079235ed48e33b6bde768b24f. * Updated LauncherControl XAML to add textbox and listview * List View displayed * Hooking up execution on the selected index, removing two way binding on selection, and experimenting with popup that doesn't work * Updated MainViewModel to Remove context menu and history * Added Resultist XAML Island project * Updated SelectedItem and SelectedList Binding. Issues : List box doesn't open when query is written for first time but opens in subsequent queries. * 1. Mouse Click working 2. List View is can't be focused 3. Fixed width of Launcher * Removed two way QueryText box binding * Removed SelectedItem two way binding and replaced with a callback * [Cleaning] Remove redundant UWP project * [Cleaning] Updated files to keep only atomic changes against dev/powerLauncher * Thmbnail fixed for NEW UI * Removed PreviewMouseDown function required by older WOX code Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> * Added the auto-complete feature * Removing ContextMenuPluginInfo, and ContextMenuTopMost as these commands are not used int the new design. * Fixed merge conflicts * Set only when index is 0 * One way binding * Removed unnecessary binding * Deleting unused (commented out code) that was legacy from wox project. * Binding Buttons to appropriate context menu commands. 1. Buttons are dynamically loaded in a listview based on the actions supported be each plugin. This change also deletes unused commands. Note: Most button events don't seem to be getting routed to the Selected Item. Currently using 'PointerEntered' to validate the behavior. The actions should be trigged by the button command property in the future. * manually handling tab in mainwindow * Loading context buttons on Selecting a suggestion list item * Allowing hover event to load content menu items and display them as well. * Adding context buttons to Indexer plugin. This allows for the following: 1. [Files] Open Containing folder 2. [Folders/Files] Copy Path * Remove White background of list (#2218) * Remove white background of list * Removed comments * Changed to ContainerContentChanging event * add const variables instead of numbers * Added comment before the updatelistSize function * Search box UI (#2224) * Added backdrop and rounded corner * Fix for two alt+space press to bring searchbox issue * Fixed merge conflict * Clean Mainwindow.xaml code * Fix for textbox focus on first visible * Allowing users to tab between the context buttons for the selected resut. Also allowing users to press 'enter' to action on the selected items. * Renaming SelectedIndex to ContextMenuSelectedIndex * Enabling key accelerators on context buttons. 1. Add new object ContextMenuResult instead instead of reusing Result for both query results and context menu results. 2. Binding KeyboardAccelerator keys to contextmenuitemviewmodel 3. Enabling and disabling contextmenu items when selecting or deselecting each row. Because we are manually maintaining selectionwe can't use ScopeOwners as the textbox is really the only item ever in focus. * Launching explorer instead of the UWP application when selecting 'open file location'. * Added fix for border showing up when result count is zero * Updated fix for border on no result * Adding visibility after clearing result in MainViewmodel * Launcher Light/Dark mode (#2235) * Fixed issue with list view background not updating with Windows theme change * Added theme change for WPF * updated ShadowDepth for dropshadow * Updated border thicknes of searchbox and listview * Diff issue with ResultList.xaml * Removed change in result delay * Added code to pull colors from UWP * Updated border resource to use system based SystemControlHighlightAccentBrush * Updated corner radius in dark mode * Updated Launcher description text Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Alekhya Reddy <reddykalekhya@gmail.com> * Changed to SystemChromeLow from Accent brush (#2272) * Removed ListView animations * Positioning ContextButtons and adding background. * Disabling scrollbars for gridview items. * Removed folder plugin * removed deployment for uwp apps (#2298) * Simulating Win+backspace key press, instead of Win+Control as it was launching WW (#2250) * text is selected whenever launcher gets hidden and is then set to visible (#2315) * Update nuget packages across solution to latest (#2334) * simplifying the xaml and making things tighter (#2327) * Setting runcommand as the default execution method, and turning off run as admin by default. * Opening explorer if the user has types a file path. * Enable PowerLauncher toggle * Launcher MSI - Added a required dll and removed folder plugin (#2355) * Modified the product.wxs file * Added the x64 config * Modify scoring algorithm for fuzzy search (#2361) * Modify scoring * modified to if else * Fixes race conditions with PointerEnter/Exit events conflicting with Selection and unselection. This change provides better encapsulation of the logic to enable a selected item for accelerator (hotkey) events, and allow mouse input on results where the pointer is over. * Fixes an issue where PointerExit would hide the selected context buttons. * Result List - Bad rebase overwrote margin and translation fields. * Fixed process executing on clicking enter if no text in search box * Codeflow cleanup when selectedItem is not null * adjusting how programs are displayed. (#2369) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Revert "Removed folder plugin" This reverts commit 064d638588cfb2d2d69cd1f88b92127c200eac2d. We will use the folder plugin to better mimic the way the start menu and run prompt deal with directories * Updating JetBrains.Annotations to 2020.1.0 to be consistent with other projects. * Replacing submenu text with full path as 'Ctrl-Enter' doesn't do anything. Also reducing the String of CreateOpenCurrentResult to fit in one line. * - Making Open Directory subtitle fixed, and the title as the current directory. * Adding back binding to QueryText and updating the cursor position similar to how wox originally did it. * Add the folder plugin wxs back in (#2374) * Deduping results for program plugin (#2375) * Removing description from title * adjusting subtitle * removing accidently paste * removing desc for uwp apps * Getting dups removed from list if LNK exists * adjusting subtitle * removing accidently paste * Getting dups removed from list if LNK exists * changed to normal forloop * Removing WinR (#2381) * Updated program execution to call action on background thread. (#2370) * PowerLauncher Settings integration * Added cold start fix (#2385) * - Fixes cursor jumping around issue. - Seperating the ability to set the text from initiating a query. - Plugins have to explicitly request the query be updated. - Updating Folder plugin to explicty update the query on folder selection. - Removing unused changes from 'Wox' that don't compile. * Fixing gap in logic where query was triggering when programatically setting text. Updating the binding and settext both will trigger the TextChanged event on a seperate event dispatcher. For this reason we dynamically detect which eventhandler is most approapriate on the textchanging event. * Updating the QueryText to the selected item when navigating up/down with the arrow keys. * Removing action on folder result, and displaying folder path on selecting a folder result from the folder plugin. * Making folder results from the search indexer plugin behave like folder results from folder plugin. * Folder Results open the explorer window when selected. * The Open Current Folder result shouldn't change the query text to 'Open {folder path}' when selecting the results. * Initializing query text strings. * Defensive check for QueryText being empty * Adding file watchers for UWP detecting when apps are installed or deleted and reindexing the uwp apps * Removing unused namespace. * Looking at files and not filtering is better because the timer is more likely to reset while an install is happening, preventing uneeded indexing * Fix project references * Fix MaxResultsToShow * Fix Alt + Space display * Fix settings defaults Co-authored-by: Alekhya Reddy Kommuru <reddykalekhya@gmail.com> Co-authored-by: bkudiess <bakudies@microsoft.com> Co-authored-by: Divyansh <somm14divi@gmail.com> Co-authored-by: ryanbodrug-microsoft <56318517+ryanbodrug-microsoft@users.noreply.github.com> Co-authored-by: Barbara Kudiess <bkudiess@me.com> Co-authored-by: Jeremy Wu <jeremy24wu@gmail.com> Co-authored-by: Clint Rutkas <clint@rutkas.com> Co-authored-by: udit3333 <udit3333@gmail.com> Co-authored-by: Betsegaw (Beta) Tadele <betsegaw.ta@gmail.com> Co-authored-by: PrzemyslawTusinski <61138537+PrzemyslawTusinski@users.noreply.github.com> Co-authored-by: Ben Randall <veleek@gmail.com> Co-authored-by: vldmr11080 <57061786+vldmr11080@users.noreply.github.com> Co-authored-by: eduardodextil <55205162+eduardodextil@users.noreply.github.com> Co-authored-by: Ebenezer Ewumi <ebenezer.ewumi@wsu.edu> Co-authored-by: Nghia M. Luong <32159519+sqrlmn@users.noreply.github.com> Co-authored-by: Andrey Nekrasov <yuyoyuppe@users.noreply.github.com> Co-authored-by: Seraphima Zykova <zykovas91@gmail.com> Co-authored-by: Ivan Stošić <ivan100sic@gmail.com>
2020-04-29 06:06:01 +08:00
}
}