Support other locales for decimal and list separators (#1060)
* Support other locales for decimal and list seperators * PR fixes
This commit is contained in:
@@ -74,6 +74,8 @@ GraphingCalculator::GraphingCalculator()
|
||||
// Update where the pointer value is (ie: where the user cursor from keyboard inputs moves the point to)
|
||||
GraphingControl->PointerValueChangedEvent += ref new PointerValueChangedEventHandler(this, &GraphingCalculator::OnPointerPointChanged);
|
||||
|
||||
GraphingControl->UseCommaDecimalSeperator = LocalizationSettings::GetInstance().GetDecimalSeparator() == ',';
|
||||
|
||||
// OemMinus and OemAdd aren't declared in the VirtualKey enum, we can't add this accelerator XAML-side
|
||||
auto virtualKey = ref new KeyboardAccelerator();
|
||||
virtualKey->Key = (VirtualKey)189; // OemPlus key
|
||||
|
@@ -9,6 +9,7 @@
|
||||
#include "Controls/MathRichEditBox.h"
|
||||
|
||||
using namespace CalculatorApp;
|
||||
using namespace CalculatorApp::Common;
|
||||
|
||||
using namespace Platform;
|
||||
using namespace Windows::Foundation;
|
||||
@@ -60,9 +61,9 @@ static const std::unordered_map<NumbersAndOperatorsEnum, std::tuple<Platform::St
|
||||
{ NumbersAndOperatorsEnum::LogBaseE, { L"ln()", 3, 0 } },
|
||||
{ NumbersAndOperatorsEnum::Sqrt, { L"sqrt()", 5, 0 } },
|
||||
{ NumbersAndOperatorsEnum::CubeRoot, { L"cbrt()", 5, 0 } },
|
||||
{ NumbersAndOperatorsEnum::YRootX, { L"root(x,n)", 7, 1 } },
|
||||
{ NumbersAndOperatorsEnum::YRootX, { L"root(x" + StringReference(LocalizationSettings::GetInstance().GetListSeparator().data()) + L"n)", 7, 1 } },
|
||||
{ NumbersAndOperatorsEnum::TwoPowerX, { L"2^", 2, 0 } },
|
||||
{ NumbersAndOperatorsEnum::LogBaseX, { L"log(b, x)", 4, 1 } },
|
||||
{ NumbersAndOperatorsEnum::LogBaseX, { "log(b" + StringReference(LocalizationSettings::GetInstance().GetListSeparator().data()) + L" x)", 4, 1 } },
|
||||
{ NumbersAndOperatorsEnum::EPowerX, { L"e^", 4, 0 } },
|
||||
{ NumbersAndOperatorsEnum::Abs, { L"abs()", 4, 0 } },
|
||||
{ NumbersAndOperatorsEnum::X, { L"x", 1, 0 } },
|
||||
@@ -90,13 +91,13 @@ static const std::unordered_map<NumbersAndOperatorsEnum, std::tuple<Platform::St
|
||||
{ NumbersAndOperatorsEnum::Seven, { L"7", 1, 0 } },
|
||||
{ NumbersAndOperatorsEnum::Eight, { L"8", 1, 0 } },
|
||||
{ NumbersAndOperatorsEnum::Nine, { L"9", 1, 0 } },
|
||||
{ NumbersAndOperatorsEnum::Decimal, { L".", 1, 0 } },
|
||||
{ NumbersAndOperatorsEnum::Decimal, { StringReference(LocalizationSettings::GetInstance().GetDecimalSeparatorStr().data()), 1, 0 } },
|
||||
};
|
||||
|
||||
GraphingNumPad::GraphingNumPad()
|
||||
{
|
||||
InitializeComponent();
|
||||
const auto& localizationSettings = CalculatorApp::Common::LocalizationSettings::GetInstance();
|
||||
const auto& localizationSettings = LocalizationSettings::GetInstance();
|
||||
DecimalSeparatorButton->Content = localizationSettings.GetDecimalSeparator();
|
||||
Num0Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('0');
|
||||
Num1Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('1');
|
||||
|
Reference in New Issue
Block a user