This commit is contained in:
Frank Skare
2019-04-06 02:10:41 +02:00
parent b16bcd0295
commit 39f6f4de0d
7 changed files with 34 additions and 17 deletions

View File

@@ -34,10 +34,22 @@ namespace mpvInputEdit
bool Filter(InputItem item)
{
string searchText = SearchControl.SearchTextBox.Text.ToLowerInvariant();
string searchText = SearchControl.SearchTextBox.Text.ToLower();
if (searchText == "") return true;
if (item.Command.ToLower().Contains(searchText) ||
if (searchText.StartsWith("i "))
{
searchText = searchText.Substring(2).Trim();
if (searchText.Length < 3)
return item.Input.ToLower().Replace("ctrl+", "").Replace("shift+", "").Replace("alt+", "").Contains(searchText);
else
return item.Input.ToLower().Contains(searchText);
} else if (searchText.StartsWith("m "))
return item.Menu.ToLower().Contains(searchText.Substring(2).Trim());
else if (searchText.StartsWith("c "))
return item.Command.ToLower().Contains(searchText.Substring(2).Trim());
else if (item.Command.ToLower().Contains(searchText) ||
item.Menu.ToLower().Contains(searchText) ||
item.Input.ToLower().Contains(searchText))
{

View File

@@ -6,7 +6,7 @@
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid x:Name="SearchTextBoxUserControl1" Background="White">
<TextBlock x:Name="SearchTextBlock" Margin="5,2" Text="Search" Foreground="LightSteelBlue" VerticalAlignment="Center" />
<TextBlock x:Name="SearchHintTextBlock" Margin="5,2" Text="Type ? to get help." Foreground="LightSteelBlue" VerticalAlignment="Center" />
<TextBox Name="SearchTextBox" Height="25" Padding="1,2,0,0" BorderThickness="2" Background="Transparent" TextChanged="SearchTextBox_TextChanged" />
<Button x:Name="SearchClearButton" Background="Transparent" HorizontalAlignment="Right" Margin="2,0,4,0" FontSize="5" Width="17" Height="17" Visibility="Hidden" Click="SearchClearButton_Click"></Button>
</Grid>

View File

@@ -21,12 +21,15 @@ namespace Controls
private void SearchTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
SearchTextBlock.Text = SearchTextBox.Text == "" ? "Search" : "";
SearchHintTextBlock.Text = SearchTextBox.Text == "" ? "Type ? to get help." : "";
if (SearchTextBox.Text == "")
SearchClearButton.Visibility = Visibility.Hidden;
else
SearchClearButton.Visibility = Visibility.Visible;
if (SearchTextBox.Text == "?")
MessageBox.Show("Use i, m or c to set the filter scope to Input, Menu or Command.", "Filter", MessageBoxButton.OK, MessageBoxImage.Information);
}
}
}