From 44e391d333b2968f204fe23fb11715f5a2f338a3 Mon Sep 17 00:00:00 2001 From: Jaex Date: Mon, 1 Jun 2015 08:19:01 +0300 Subject: [PATCH] fixed #713: History host filter error --- ShareX.HistoryLib/HistoryForm.cs | 48 +++++++++++++++++++------------- ShareX.sln | 2 +- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/ShareX.HistoryLib/HistoryForm.cs b/ShareX.HistoryLib/HistoryForm.cs index 37a1bb6ce..ded377ca7 100644 --- a/ShareX.HistoryLib/HistoryForm.cs +++ b/ShareX.HistoryLib/HistoryForm.cs @@ -112,36 +112,46 @@ private HistoryItem[] ApplyFilters(HistoryItem[] historyItems) { string type = cbTypeFilterSelection.Text; - result = result.Where(x => x.Type == type); + if (!string.IsNullOrEmpty(type)) + { + result = result.Where(x => !string.IsNullOrEmpty(x.Type) && x.Type == type); + } } if (cbHostFilter.Checked) { string host = txtHostFilter.Text; - result = result.Where(x => x.Host.IndexOf(host, StringComparison.InvariantCultureIgnoreCase) >= 0); + if (!string.IsNullOrEmpty(host)) + { + result = result.Where(x => !string.IsNullOrEmpty(x.Host) && x.Host.IndexOf(host, StringComparison.InvariantCultureIgnoreCase) >= 0); + } } - string filenameFilter = txtFilenameFilter.Text; - if (cbFilenameFilter.Checked && !string.IsNullOrEmpty(filenameFilter)) + if (cbFilenameFilter.Checked) { - StringComparison rule = GetStringRule(); + string filenameFilter = txtFilenameFilter.Text; - if (cbFilenameFilterMethod.SelectedIndex == 0) // Contains + if (!string.IsNullOrEmpty(filenameFilter)) { - result = result.Where(x => x.Filename.IndexOf(filenameFilter, rule) >= 0); - } - else if (cbFilenameFilterMethod.SelectedIndex == 1) // Starts with - { - result = result.Where(x => x.Filename.StartsWith(filenameFilter, rule)); - } - else if (cbFilenameFilterMethod.SelectedIndex == 2) // Ends with - { - result = result.Where(x => x.Filename.EndsWith(filenameFilter, rule)); - } - else if (cbFilenameFilterMethod.SelectedIndex == 3) // Exact match - { - result = result.Where(x => x.Filename.Equals(filenameFilter, rule)); + StringComparison rule = GetStringRule(); + + if (cbFilenameFilterMethod.SelectedIndex == 0) // Contains + { + result = result.Where(x => x.Filename.IndexOf(filenameFilter, rule) >= 0); + } + else if (cbFilenameFilterMethod.SelectedIndex == 1) // Starts with + { + result = result.Where(x => x.Filename.StartsWith(filenameFilter, rule)); + } + else if (cbFilenameFilterMethod.SelectedIndex == 2) // Ends with + { + result = result.Where(x => x.Filename.EndsWith(filenameFilter, rule)); + } + else if (cbFilenameFilterMethod.SelectedIndex == 3) // Exact match + { + result = result.Where(x => x.Filename.Equals(filenameFilter, rule)); + } } } diff --git a/ShareX.sln b/ShareX.sln index a23be9080..51187736e 100644 --- a/ShareX.sln +++ b/ShareX.sln @@ -73,6 +73,6 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - RESX_AutoCreateNewLanguageFiles = True + RESX_AutoCreateNewLanguageFiles = False EndGlobalSection EndGlobal