Skip to content

Commit

Permalink
Minor
Browse files Browse the repository at this point in the history
  • Loading branch information
rampaa committed Dec 15, 2023
1 parent fd8a9f3 commit a9c9bfd
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 79 deletions.
82 changes: 41 additions & 41 deletions JL.Core/Dicts/EDICT/JMnedict/JmnedictDBManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,47 +136,47 @@ WHERE r.primary_spelling_in_hiragana IN (@1
return results;
}

public static void LoadFromDB(Dict dict)
{
using SqliteConnection connection = new(string.Create(CultureInfo.InvariantCulture, $"Data Source={DictUtils.GetDBPath(dict.Name)};Mode=ReadOnly"));
connection.Open();
using SqliteCommand command = connection.CreateCommand();

command.CommandText =
"""
SELECT r.primary_spelling_in_hiragana AS searchKey,
r.jmnedict_id AS id,
r.primary_spelling AS primarySpelling,
r.readings AS readings,
r.alternative_spellings AS alternativeSpellings,
r.glossary AS definitions,
r.name_types AS nameTypes
FROM record r
""";

using SqliteDataReader dataReader = command.ExecuteReader();
while (dataReader.Read())
{
JmnedictRecord record = GetRecord(dataReader);

string searchKey = dataReader.GetString(nameof(searchKey));
if (dict.Contents.TryGetValue(searchKey, out IList<IDictRecord>? result))
{
result.Add(record);
}
else
{
dict.Contents[searchKey] = new List<IDictRecord> { record };
}
}

foreach ((string key, IList<IDictRecord> recordList) in dict.Contents)
{
dict.Contents[key] = recordList.ToArray();
}

dict.Contents.TrimExcess();
}
// public static void LoadFromDB(Dict dict)
// {
// using SqliteConnection connection = new(string.Create(CultureInfo.InvariantCulture, $"Data Source={DictUtils.GetDBPath(dict.Name)};Mode=ReadOnly"));
// connection.Open();
// using SqliteCommand command = connection.CreateCommand();
//
// command.CommandText =
// """
// SELECT r.primary_spelling_in_hiragana AS searchKey,
// r.jmnedict_id AS id,
// r.primary_spelling AS primarySpelling,
// r.readings AS readings,
// r.alternative_spellings AS alternativeSpellings,
// r.glossary AS definitions,
// r.name_types AS nameTypes
// FROM record r
// """;
//
// using SqliteDataReader dataReader = command.ExecuteReader();
// while (dataReader.Read())
// {
// JmnedictRecord record = GetRecord(dataReader);
//
// string searchKey = dataReader.GetString(nameof(searchKey));
// if (dict.Contents.TryGetValue(searchKey, out IList<IDictRecord>? result))
// {
// result.Add(record);
// }
// else
// {
// dict.Contents[searchKey] = new List<IDictRecord> { record };
// }
// }
//
// foreach ((string key, IList<IDictRecord> recordList) in dict.Contents)
// {
// dict.Contents[key] = recordList.ToArray();
// }
//
// dict.Contents.TrimExcess();
// }

private static JmnedictRecord GetRecord(SqliteDataReader dataReader)
{
Expand Down
36 changes: 0 additions & 36 deletions JL.Core/Lookup/LookupUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -756,42 +756,6 @@ private static List<string> GetSearchKeysFromJmnedictRecord(Dictionary<string, I
return searchKeys.ToList();
}

private static List<string> GetSearchKeysFromCustomWordRecord(Dictionary<string, IntermediaryResult> dictResults, bool includeAlternativeSpellings)
{
HashSet<string> searchKeys = new();
foreach ((string key, IntermediaryResult intermediaryResult) in dictResults)
{
_ = searchKeys.Add(key);

List<IList<IDictRecord>> dictRecordsList = intermediaryResult.Results;
for (int i = 0; i < dictRecordsList.Count; i++)
{
IList<IDictRecord> dictRecords = dictRecordsList[i];
for (int j = 0; j < dictRecords.Count; j++)
{
CustomWordRecord customWordRecord = (CustomWordRecord)dictRecords[j];
_ = searchKeys.Add(JapaneseUtils.KatakanaToHiragana(customWordRecord.PrimarySpelling));
if (customWordRecord.Readings is not null)
{
foreach (string reading in customWordRecord.Readings.Select(JapaneseUtils.KatakanaToHiragana))
{
_ = searchKeys.Add(reading);
}
}
if (includeAlternativeSpellings && customWordRecord.AlternativeSpellings is not null)
{
foreach (string alternativeSpelling in customWordRecord.AlternativeSpellings.Select(JapaneseUtils.KatakanaToHiragana))
{
_ = searchKeys.Add(alternativeSpelling);
}
}
}
}
}

return searchKeys.ToList();
}

private static List<string> GetSearchKeysFromCustomNameRecord(Dictionary<string, IntermediaryResult> dictResults)
{
HashSet<string> searchKeys = new();
Expand Down
4 changes: 2 additions & 2 deletions JL.Windows/Utilities/WindowsUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ public static ComboBoxItem[] CloneJapaneseFontComboBoxItems(ComboBoxItem[] japan
public static void ShowAddNameWindow(string? selectedText, string reading = "")
{
AddNameWindow addNameWindowInstance = AddNameWindow.Instance;
addNameWindowInstance.SpellingTextBox.Text = selectedText;
addNameWindowInstance.SpellingTextBox.Text = selectedText ?? "";
addNameWindowInstance.ReadingTextBox.Text = reading;
MainWindow mainWindow = MainWindow.Instance;
addNameWindowInstance.Owner = mainWindow;
Expand All @@ -159,7 +159,7 @@ public static void ShowAddNameWindow(string? selectedText, string reading = "")
public static void ShowAddWordWindow(string? selectedText)
{
AddWordWindow addWordWindowInstance = AddWordWindow.Instance;
addWordWindowInstance.SpellingsTextBox.Text = selectedText;
addWordWindowInstance.SpellingsTextBox.Text = selectedText ?? "";
MainWindow mainWindow = MainWindow.Instance;
addWordWindowInstance.Owner = mainWindow;
addWordWindowInstance.WindowStartupLocation = WindowStartupLocation.CenterOwner;
Expand Down

0 comments on commit a9c9bfd

Please sign in to comment.