[QuickAccent]Add setting to select language (#20798)

* add selection of country langages

* Add Greek and Iceland countries

* Update src/modules/poweraccent/PowerAccent.Core/PowerAccent.Core.csproj

* fix ß in all section

* remove greek

* improve UI

* langage to language

* remove GR reference

* change 'All' to 'All available'

* adding Romanian and Hungarian

* Missing characters

* Add Italian

* Fix translation key
Remove GameMode activation

* Fix PR build issues

* Callback to get if a letter is part of the language

* Add additional dlls to installer

* Fix new dlls signing

* Fix spelling

* Add description to language selection

Co-authored-by: Damien LEROY <dleroy@veepee.com>
This commit is contained in:
damienleroy
2022-09-29 16:28:14 +02:00
committed by GitHub
parent 1ecaf039ca
commit 5e955f034e
13 changed files with 817 additions and 40 deletions

View File

@@ -18,11 +18,15 @@ namespace Microsoft.PowerToys.Settings.UI.Library
[JsonPropertyName("input_time_ms")]
public IntProperty InputTime { get; set; }
[JsonPropertyName("selected_lang")]
public StringProperty SelectedLang { get; set; }
public PowerAccentProperties()
{
ActivationKey = PowerAccentActivationKey.Both;
ToolbarPosition = "Top center";
InputTime = new IntProperty(200);
SelectedLang = "ALL";
}
}
}

View File

@@ -74,6 +74,55 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels
break;
}
switch (_powerAccentSettings.Properties.SelectedLang.Value)
{
case "ALL":
_selectedLangIndex = 0;
break;
case "CUR":
_selectedLangIndex = 1;
break;
case "CZ":
_selectedLangIndex = 2;
break;
case "DE":
_selectedLangIndex = 3;
break;
case "FR":
_selectedLangIndex = 4;
break;
case "HU":
_selectedLangIndex = 5;
break;
case "IS":
_selectedLangIndex = 6;
break;
case "IT":
_selectedLangIndex = 7;
break;
case "MI":
_selectedLangIndex = 8;
break;
case "PI":
_selectedLangIndex = 9;
break;
case "PL":
_selectedLangIndex = 10;
break;
case "RO":
_selectedLangIndex = 11;
break;
case "SK":
_selectedLangIndex = 12;
break;
case "SP":
_selectedLangIndex = 13;
break;
case "TK":
_selectedLangIndex = 14;
break;
}
// set the callback functions value to hangle outgoing IPC message.
SendConfigMSG = ipcMSGCallBackFunc;
}
@@ -192,6 +241,74 @@ namespace Microsoft.PowerToys.Settings.UI.Library.ViewModels
}
}
private int _selectedLangIndex;
public int SelectedLangIndex
{
get
{
return _selectedLangIndex;
}
set
{
if (_selectedLangIndex != value)
{
_selectedLangIndex = value;
switch (_selectedLangIndex)
{
case 0:
_powerAccentSettings.Properties.SelectedLang.Value = "ALL";
break;
case 1:
_powerAccentSettings.Properties.SelectedLang.Value = "CUR";
break;
case 2:
_powerAccentSettings.Properties.SelectedLang.Value = "CZ";
break;
case 3:
_powerAccentSettings.Properties.SelectedLang.Value = "DE";
break;
case 4:
_powerAccentSettings.Properties.SelectedLang.Value = "FR";
break;
case 5:
_powerAccentSettings.Properties.SelectedLang.Value = "HU";
break;
case 6:
_powerAccentSettings.Properties.SelectedLang.Value = "IS";
break;
case 7:
_powerAccentSettings.Properties.SelectedLang.Value = "IT";
break;
case 8:
_powerAccentSettings.Properties.SelectedLang.Value = "MI";
break;
case 9:
_powerAccentSettings.Properties.SelectedLang.Value = "PI";
break;
case 10:
_powerAccentSettings.Properties.SelectedLang.Value = "PL";
break;
case 11:
_powerAccentSettings.Properties.SelectedLang.Value = "RO";
break;
case 12:
_powerAccentSettings.Properties.SelectedLang.Value = "SK";
break;
case 13:
_powerAccentSettings.Properties.SelectedLang.Value = "SP";
break;
case 14:
_powerAccentSettings.Properties.SelectedLang.Value = "TK";
break;
}
RaisePropertyChanged(nameof(SelectedLangIndex));
}
}
}
private void RaisePropertyChanged([CallerMemberName] string propertyName = null)
{
// Notify UI of property change