Skip to content

Commit 6f02531

Browse files
author
SlavaRa
authored
Adds transcription mode ru_RU -> en_US for input forms. closes #151
2 parents a16c2ea + fef4ec8 commit 6f02531

File tree

6 files changed

+48
-2
lines changed

6 files changed

+48
-2
lines changed

QuickNavigate/Forms/ClassHierarchyForm.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,9 @@ void OnTreeDrawNode(object sender, DrawTreeNodeEventArgs e)
282282
void OnInputTextChanged(object sender, EventArgs e)
283283
{
284284
if (tree.Nodes.Count == 0) return;
285-
var matches = SearchUtil.FindAll(typeToNode.Keys.ToList(), input.Text);
285+
var search = input.Text;
286+
search = FormHelper.Transcriptor(search);
287+
var matches = SearchUtil.FindAll(typeToNode.Keys.ToList(), search);
286288
var mathesIsEmpty = matches.Count == 0;
287289
foreach (var k in typeToNode)
288290
{

QuickNavigate/Forms/OpenRecentFilesForm.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ void FillTree()
8383
{
8484
var separator = Path.PathSeparator;
8585
var search = input.Text.Replace('\\', separator).Replace('/', separator);
86+
search = FormHelper.Transcriptor(search);
8687
if (openedFiles.Count > 0)
8788
{
8889
var matches = openedFiles;

QuickNavigate/Forms/OpenRecentProjectsForm.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using PluginCore;
99
using PluginCore.Helpers;
1010
using ProjectManager.Controls;
11+
using QuickNavigate.Helpers;
1112

1213
namespace QuickNavigate.Forms
1314
{
@@ -92,6 +93,7 @@ void RefreshButtons()
9293
void FillTree()
9394
{
9495
var search = input.Text;
96+
search = FormHelper.Transcriptor(search);
9597
var projects = search.Length > 0 ? SearchUtil.FindAll(recentProjects, search) : recentProjects;
9698
if (projects.Count == 0) return;
9799
foreach (var it in projects)

QuickNavigate/Forms/QuickOutlineForm.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,11 @@ void InitializeTheme()
9595

9696
void RefreshTree()
9797
{
98+
var search = input.Text.Trim();
99+
search = FormHelper.Transcriptor(search);
98100
tree.BeginUpdate();
99101
tree.Nodes.Clear();
100-
FillTree(input.Text.Trim());
102+
FillTree(search);
101103
tree.ExpandAll();
102104
tree.EndUpdate();
103105
}

QuickNavigate/Forms/TypeExplorerForm.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ void InitializeTheme()
133133
void RefreshTree()
134134
{
135135
var search = input.Text.Trim();
136+
search = FormHelper.Transcriptor(search);
136137
ClassNode selectedNode = null;
137138
if (search.Length > 1 && search.Contains('.') && tree.Nodes.Count > 0)
138139
{

QuickNavigate/Helpers/FormHelper.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,44 @@ static T GetPluginUI<T>(string pluginGUID)
123123
}
124124
return default(T);
125125
}
126+
127+
static Dictionary<char, char> ruToEn = new Dictionary<char, char>
128+
{
129+
{'й', 'q'},
130+
{'ц', 'w'},
131+
{'у', 'e'},
132+
{'к', 'r'},
133+
{'е', 't'},
134+
{'н', 'y'},
135+
{'г', 'u'},
136+
{'ш', 'i'},
137+
{'щ', 'o'},
138+
{'з', 'p'},
139+
{'ф', 'a'},
140+
{'ы', 's'},
141+
{'в', 'd'},
142+
{'а', 'f'},
143+
{'п', 'g'},
144+
{'р', 'h'},
145+
{'о', 'j'},
146+
{'л', 'k'},
147+
{'д', 'l'},
148+
{'я', 'z'},
149+
{'ч', 'x'},
150+
{'с', 'c'},
151+
{'м', 'v'},
152+
{'и', 'b'},
153+
{'т', 'n'},
154+
{'ь', 'm'}
155+
};
156+
157+
[NotNull]
158+
public static string Transcriptor([NotNull] string s)
159+
{
160+
if (s.Trim().Length == 0) return s;
161+
var result = new string(s.ToCharArray().Select(c => ruToEn[c]).ToArray());
162+
return result;
163+
}
126164
}
127165

128166
class ShortcutId

0 commit comments

Comments
 (0)