[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:
Roy
2020-07-15 02:54:21 +02:00
committed by GitHub
parent f59abe23c3
commit 78946c11ea
10 changed files with 75 additions and 16 deletions

View File

@@ -26,6 +26,8 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
public bool ignore_hotkeys_in_fullscreen { get; set; }
public bool clear_input_on_launch { get; set; }
public PowerLauncherProperties()
{
open_powerlauncher = new HotkeySettings();
@@ -35,6 +37,7 @@ namespace Microsoft.PowerToys.Settings.UI.Lib
search_result_preference = "most_recently_used";
search_type_preference = "application_name";
ignore_hotkeys_in_fullscreen = false;
clear_input_on_launch = false;
}
}
}

View File

@@ -253,6 +253,9 @@
<data name="PowerLauncher_IgnoreHotkeysInFullScreen.Content" xml:space="preserve">
<value>Ignore hotkeys in fullscreen mode</value>
</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">
<value>To:</value>
<comment>Keyboard Manager mapping keys view right header</comment>

View File

@@ -236,21 +236,38 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels
}
}
public bool IgnoreHotkeysInFullScreen
{
get
{
return settings.properties.ignore_hotkeys_in_fullscreen;
}
set
{
if (settings.properties.ignore_hotkeys_in_fullscreen != value)
{
settings.properties.ignore_hotkeys_in_fullscreen = value;
UpdateSettings();
}
}
public bool IgnoreHotkeysInFullScreen
{
get
{
return settings.properties.ignore_hotkeys_in_fullscreen;
}
set
{
if (settings.properties.ignore_hotkeys_in_fullscreen != value)
{
settings.properties.ignore_hotkeys_in_fullscreen = value;
UpdateSettings();
}
}
}
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();
}
}
}
}
}

View File

@@ -134,6 +134,12 @@
IsChecked="{x:Bind Mode=TwoWay, Path=ViewModel.IgnoreHotkeysInFullScreen}"
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
x:Name="SidePanel"

View File

@@ -131,5 +131,7 @@ namespace ViewModelTests
Assert.IsTrue(mockSettings.properties.override_win_r_key);
Assert.IsFalse(mockSettings.properties.override_win_s_key);
}
}
}