diff --git a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/ResultHelper.cs b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/ResultHelper.cs index fb781e1f8..177f1ec00 100644 --- a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/ResultHelper.cs +++ b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/ResultHelper.cs @@ -71,7 +71,7 @@ namespace Flow.Plugin.WindowsSettings.Helper if (result is null && entry.Keywords is not null) { - string[] searchKeywords = query.Terms[(string.IsNullOrEmpty(query.ActionKeyword) ? 0 : 1)..]; + string[] searchKeywords = query.SearchTerms; if (searchKeywords .All(x => entry diff --git a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/TranslationHelper.cs b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/TranslationHelper.cs index 0e7b950e8..48886167f 100644 --- a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/TranslationHelper.cs +++ b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Helper/TranslationHelper.cs @@ -19,12 +19,12 @@ namespace Flow.Plugin.WindowsSettings.Helper /// Translate all settings of the given list with . /// /// The list that contains to translate. - internal static void TranslateAllSettings(in IEnumerable? settingsList) + internal static IEnumerable TranslateAllSettings(in IEnumerable? settingsList) { + var translatedSettings = new List(); + if (settingsList is null) - { - return; - } + return new List(); foreach (var settings in settingsList) { @@ -47,9 +47,7 @@ namespace Flow.Plugin.WindowsSettings.Helper Log.Warn($"Resource string for [{settings.Name}] not found", typeof(Main)); } - settings.Area = area ?? settings.Area ?? string.Empty; - settings.Name = name ?? settings.Name ?? string.Empty; - settings.Type = type ?? settings.Type ?? string.Empty; + if (!string.IsNullOrEmpty(settings.Note)) { @@ -61,11 +59,10 @@ namespace Flow.Plugin.WindowsSettings.Helper settings.Note = note ?? settings.Note ?? string.Empty; } - - if (!(settings.AltNames is null) && settings.AltNames.Any()) + List? translatedAltNames = null; + if (settings.AltNames is not null && settings.AltNames.Any()) { - var translatedAltNames = new Collection(); - + translatedAltNames = new List(); foreach (var altName in settings.AltNames) { if (string.IsNullOrWhiteSpace(altName)) @@ -82,9 +79,18 @@ namespace Flow.Plugin.WindowsSettings.Helper translatedAltNames.Add(translatedAltName ?? altName); } - settings.AltNames = translatedAltNames; } + var translatedSetting = new WindowsSetting + { + Area = area ?? settings.Area, + Name = name ?? settings.Name, + Type = type ?? settings.Type, + AltNames = translatedAltNames + }; + + translatedSettings.Add(translatedSetting); } + return translatedSettings; } } } diff --git a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Main.cs b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Main.cs index f66d99ad8..b531ac97e 100644 --- a/Plugins/Flow.Launcher.Plugin.WindowsSettings/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.WindowsSettings/Main.cs @@ -52,6 +52,11 @@ namespace Flow.Plugin.WindowsSettings /// private IEnumerable? _settingsList; + /// + /// List that contains translated string + /// + private IEnumerable _translatedSettingList = new List(); + /// /// Initializes a new instance of the class. /// @@ -85,7 +90,7 @@ namespace Flow.Plugin.WindowsSettings Log.Init(_context.API); ResultHelper.Init(_context.API); - TranslationHelper.TranslateAllSettings(_settingsList); + _translatedSettingList = TranslationHelper.TranslateAllSettings(_settingsList); } /// @@ -95,13 +100,7 @@ namespace Flow.Plugin.WindowsSettings /// A filtered list, can be empty when nothing was found. public List Query(Query query) { - if (_settingsList is null) - { - return new List(0); - } - - - var newList = ResultHelper.GetResultList(_settingsList, query, _defaultIconPath); + var newList = ResultHelper.GetResultList(_translatedSettingList, query, _defaultIconPath); return newList;