mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-01-18 14:41:21 +08:00
[PowerToys Run] Implemented Setting to Clear Search Query when PowerToys Run is Launched (#4995)
* Implemented Clear Input On Launch * Move logic to seperate command on viewmodel * Added Settings Sync Moved logic from OnDeactivated to OnActivated * Complete after testing Co-authored-by: Roy <royvou@hotmailcom>
This commit is contained in:
parent
f59abe23c3
commit
78946c11ea
@ -26,6 +26,8 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
|
|||||||
|
|
||||||
public bool ignore_hotkeys_in_fullscreen { get; set; }
|
public bool ignore_hotkeys_in_fullscreen { get; set; }
|
||||||
|
|
||||||
|
public bool clear_input_on_launch { get; set; }
|
||||||
|
|
||||||
public PowerLauncherProperties()
|
public PowerLauncherProperties()
|
||||||
{
|
{
|
||||||
open_powerlauncher = new HotkeySettings();
|
open_powerlauncher = new HotkeySettings();
|
||||||
@ -35,6 +37,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
|
|||||||
search_result_preference = "most_recently_used";
|
search_result_preference = "most_recently_used";
|
||||||
search_type_preference = "application_name";
|
search_type_preference = "application_name";
|
||||||
ignore_hotkeys_in_fullscreen = false;
|
ignore_hotkeys_in_fullscreen = false;
|
||||||
|
clear_input_on_launch = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -253,6 +253,9 @@
|
|||||||
<data name="PowerLauncher_IgnoreHotkeysInFullScreen.Content" xml:space="preserve">
|
<data name="PowerLauncher_IgnoreHotkeysInFullScreen.Content" xml:space="preserve">
|
||||||
<value>Ignore hotkeys in fullscreen mode</value>
|
<value>Ignore hotkeys in fullscreen mode</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PowerLauncher_ClearInputOnLaunch.Content" xml:space="preserve">
|
||||||
|
<value>Clear the previous query on launch</value>
|
||||||
|
</data>
|
||||||
<data name="KeyboardManager_KeysMappingLayoutRightHeader.Text" xml:space="preserve">
|
<data name="KeyboardManager_KeysMappingLayoutRightHeader.Text" xml:space="preserve">
|
||||||
<value>To:</value>
|
<value>To:</value>
|
||||||
<comment>Keyboard Manager mapping keys view right header</comment>
|
<comment>Keyboard Manager mapping keys view right header</comment>
|
||||||
|
@ -252,5 +252,22 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool ClearInputOnLaunch
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return settings.properties.clear_input_on_launch;
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (settings.properties.clear_input_on_launch != value)
|
||||||
|
{
|
||||||
|
settings.properties.clear_input_on_launch = value;
|
||||||
|
UpdateSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -134,6 +134,12 @@
|
|||||||
IsChecked="{x:Bind Mode=TwoWay, Path=ViewModel.IgnoreHotkeysInFullScreen}"
|
IsChecked="{x:Bind Mode=TwoWay, Path=ViewModel.IgnoreHotkeysInFullScreen}"
|
||||||
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.EnablePowerLauncher}"
|
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.EnablePowerLauncher}"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<CheckBox x:Uid="PowerLauncher_ClearInputOnLaunch"
|
||||||
|
Margin="{StaticResource SmallTopMargin}"
|
||||||
|
IsChecked="{x:Bind Mode=TwoWay, Path=ViewModel.ClearInputOnLaunch}"
|
||||||
|
IsEnabled="{x:Bind Mode=OneWay, Path=ViewModel.EnablePowerLauncher}"
|
||||||
|
/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel
|
<StackPanel
|
||||||
x:Name="SidePanel"
|
x:Name="SidePanel"
|
||||||
|
@ -131,5 +131,7 @@ namespace ViewModelTests
|
|||||||
Assert.IsTrue(mockSettings.properties.override_win_r_key);
|
Assert.IsTrue(mockSettings.properties.override_win_r_key);
|
||||||
Assert.IsFalse(mockSettings.properties.override_win_s_key);
|
Assert.IsFalse(mockSettings.properties.override_win_s_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
Closing="OnClosing"
|
Closing="OnClosing"
|
||||||
Background="Transparent"
|
Background="Transparent"
|
||||||
LocationChanged="OnLocationChanged"
|
LocationChanged="OnLocationChanged"
|
||||||
|
Activated="OnActivated"
|
||||||
Deactivated="OnDeactivated"
|
Deactivated="OnDeactivated"
|
||||||
IsVisibleChanged="OnVisibilityChanged"
|
IsVisibleChanged="OnVisibilityChanged"
|
||||||
Visibility="{Binding MainWindowVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
Visibility="{Binding MainWindowVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
@ -151,6 +151,14 @@ namespace PowerLauncher
|
|||||||
_settings.WindowLeft = Left;
|
_settings.WindowLeft = Left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnActivated(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (_settings.ClearInputOnLaunch)
|
||||||
|
{
|
||||||
|
_viewModel.ClearQueryCommand.Execute(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void OnDeactivated(object sender, EventArgs e)
|
private void OnDeactivated(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (_settings.HideWhenDeactivated)
|
if (_settings.HideWhenDeactivated)
|
||||||
|
@ -65,6 +65,11 @@ namespace PowerLauncher
|
|||||||
{
|
{
|
||||||
_settings.IgnoreHotkeysOnFullscreen = overloadSettings.properties.ignore_hotkeys_in_fullscreen;
|
_settings.IgnoreHotkeysOnFullscreen = overloadSettings.properties.ignore_hotkeys_in_fullscreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_settings.ClearInputOnLaunch != overloadSettings.properties.clear_input_on_launch)
|
||||||
|
{
|
||||||
|
_settings.ClearInputOnLaunch = overloadSettings.properties.clear_input_on_launch;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// the settings application can hold a lock on the settings.json file which will result in a IOException.
|
// the settings application can hold a lock on the settings.json file which will result in a IOException.
|
||||||
// This should be changed to properly synch with the settings app instead of retrying.
|
// This should be changed to properly synch with the settings app instead of retrying.
|
||||||
|
@ -129,6 +129,8 @@ namespace Wox.Infrastructure.UserSettings
|
|||||||
}
|
}
|
||||||
public bool LeaveCmdOpen { get; set; }
|
public bool LeaveCmdOpen { get; set; }
|
||||||
public bool HideWhenDeactivated { get; set; } = true;
|
public bool HideWhenDeactivated { get; set; } = true;
|
||||||
|
public bool ClearInputOnLaunch { get; set; } = false;
|
||||||
|
|
||||||
public bool RememberLastLaunchLocation { get; set; }
|
public bool RememberLastLaunchLocation { get; set; }
|
||||||
public bool IgnoreHotkeysOnFullscreen { get; set; }
|
public bool IgnoreHotkeysOnFullscreen { get; set; }
|
||||||
|
|
||||||
|
@ -234,6 +234,16 @@ namespace Wox.ViewModel
|
|||||||
SelectedResults = Results;
|
SelectedResults = Results;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ClearQueryCommand = new RelayCommand(_ =>
|
||||||
|
{
|
||||||
|
if(!string.IsNullOrEmpty(QueryText))
|
||||||
|
{
|
||||||
|
ChangeQueryText(string.Empty,true);
|
||||||
|
//Push Event to UI SystemQuery has changed
|
||||||
|
OnPropertyChanged(nameof(SystemQueryText));
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -342,6 +352,8 @@ namespace Wox.ViewModel
|
|||||||
public ICommand LoadContextMenuCommand { get; set; }
|
public ICommand LoadContextMenuCommand { get; set; }
|
||||||
public ICommand LoadHistoryCommand { get; set; }
|
public ICommand LoadHistoryCommand { get; set; }
|
||||||
public ICommand OpenResultCommand { get; set; }
|
public ICommand OpenResultCommand { get; set; }
|
||||||
|
public ICommand ClearQueryCommand { get; set; }
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user