Cherry picked pinyin performance changes from jjw24's master branch

This commit is contained in:
Jeremy Wu
2020-03-12 09:57:36 +11:00
committed by Alekhya Reddy
parent 59a2c5ce9c
commit 949e504ad5
4 changed files with 46 additions and 4 deletions

View File

@@ -99,6 +99,22 @@ namespace Wox.Core.Resource
} }
public bool PromptShouldUsePinyin(string languageCodeToSet)
{
var languageToSet = GetLanguageByLanguageCode(languageCodeToSet);
if (Settings.ShouldUsePinyin)
return false;
if (languageToSet != AvailableLanguages.Chinese && languageToSet != AvailableLanguages.Chinese_TW)
return false;
if (MessageBox.Show("Do you want to turn on search with Pinyin?", string.Empty, MessageBoxButton.YesNo) == MessageBoxResult.No)
return false;
return true;
}
private void RemoveOldLanguageFiles() private void RemoveOldLanguageFiles()
{ {
var dicts = Application.Current.Resources.MergedDictionaries; var dicts = Application.Current.Resources.MergedDictionaries;

View File

@@ -162,7 +162,7 @@ namespace Wox.Infrastructure
if (word.Length > 40) if (word.Length > 40)
{ {
Log.Debug($"|Wox.Infrastructure.StringMatcher.ScoreForPinyin|skip too long string: {word}"); //Skip strings that are too long string for Pinyin conversion.
return false; return false;
} }

View File

@@ -25,8 +25,7 @@ namespace Wox.Infrastructure.UserSettings
/// <summary> /// <summary>
/// when false Alphabet static service will always return empty results /// when false Alphabet static service will always return empty results
/// </summary> /// </summary>
public bool ShouldUsePinyin { get; set; } = true; public bool ShouldUsePinyin { get; set; } = false;
internal StringMatcher.SearchPrecisionScore QuerySearchPrecision { get; private set; } = StringMatcher.SearchPrecisionScore.Regular; internal StringMatcher.SearchPrecisionScore QuerySearchPrecision { get; private set; } = StringMatcher.SearchPrecisionScore.Regular;

View File

@@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@@ -77,6 +77,33 @@ namespace Wox.ViewModel
} }
} }
public string Language
{
get
{
return Settings.Language;
}
set
{
InternationalizationManager.Instance.ChangeLanguage(value);
if (InternationalizationManager.Instance.PromptShouldUsePinyin(value))
ShouldUsePinyin = true;
}
}
public bool ShouldUsePinyin
{
get
{
return Settings.ShouldUsePinyin;
}
set
{
Settings.ShouldUsePinyin = value;
}
}
public List<string> QuerySearchPrecisionStrings public List<string> QuerySearchPrecisionStrings
{ {
get get