Enable keyboard entry in bit-toggling mode #478 (#1346)

The programmer radix buttons were being disabled when the bit flip panel was selected, causing keyboard events to be ignored.
They should actually only be hidden in bit flip mode.

- Corrected programmer radix buttons to continue being enabled just hidden when the programmer calculator is in bit flip mode.
- Renamed AreProgrammerRadixOperatorsEnabled property to the more appropriate AreProgrammerRadixOperatorsVisible.
This commit is contained in:
Callum Shipton 2020-08-12 16:53:31 +01:00 committed by GitHub
parent 1c8b642376
commit 331388c000
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 6 deletions

View File

@ -132,7 +132,7 @@ StandardCalculatorViewModel::StandardCalculatorViewModel()
IsOperandEnabled = true; IsOperandEnabled = true;
IsNegateEnabled = true; IsNegateEnabled = true;
IsDecimalEnabled = true; IsDecimalEnabled = true;
AreProgrammerRadixOperatorsEnabled = false; AreProgrammerRadixOperatorsVisible = false;
} }
String ^ StandardCalculatorViewModel::LocalizeDisplayValue(_In_ wstring const& displayValue) String ^ StandardCalculatorViewModel::LocalizeDisplayValue(_In_ wstring const& displayValue)

View File

@ -76,7 +76,7 @@ namespace CalculatorApp
OBSERVABLE_PROPERTY_R(CalculatorApp::Common::NumberBase, CurrentRadixType); OBSERVABLE_PROPERTY_R(CalculatorApp::Common::NumberBase, CurrentRadixType);
OBSERVABLE_PROPERTY_R(bool, AreTokensUpdated); OBSERVABLE_PROPERTY_R(bool, AreTokensUpdated);
OBSERVABLE_PROPERTY_R(bool, AreAlwaysOnTopResultsUpdated); OBSERVABLE_PROPERTY_R(bool, AreAlwaysOnTopResultsUpdated);
OBSERVABLE_PROPERTY_R(bool, AreProgrammerRadixOperatorsEnabled); OBSERVABLE_PROPERTY_R(bool, AreProgrammerRadixOperatorsVisible);
OBSERVABLE_PROPERTY_R(bool, IsInputEmpty); OBSERVABLE_PROPERTY_R(bool, IsInputEmpty);
OBSERVABLE_PROPERTY_R(CalculatorApp::Common::Automation::NarratorAnnouncement ^, Announcement); OBSERVABLE_PROPERTY_R(CalculatorApp::Common::Automation::NarratorAnnouncement ^, Announcement);
OBSERVABLE_PROPERTY_R(unsigned int, OpenParenthesisCount); OBSERVABLE_PROPERTY_R(unsigned int, OpenParenthesisCount);
@ -103,7 +103,7 @@ namespace CalculatorApp
{ {
m_isBitFlipChecked = value; m_isBitFlipChecked = value;
IsBinaryBitFlippingEnabled = IsProgrammer && m_isBitFlipChecked; IsBinaryBitFlippingEnabled = IsProgrammer && m_isBitFlipChecked;
AreProgrammerRadixOperatorsEnabled = IsProgrammer && !m_isBitFlipChecked; AreProgrammerRadixOperatorsVisible = IsProgrammer && !m_isBitFlipChecked;
RaisePropertyChanged(L"IsBitFlipChecked"); RaisePropertyChanged(L"IsBitFlipChecked");
} }
} }
@ -178,7 +178,7 @@ namespace CalculatorApp
IsBitFlipChecked = false; IsBitFlipChecked = false;
} }
IsBinaryBitFlippingEnabled = m_isProgrammer && IsBitFlipChecked; IsBinaryBitFlippingEnabled = m_isProgrammer && IsBitFlipChecked;
AreProgrammerRadixOperatorsEnabled = m_isProgrammer && !IsBitFlipChecked; AreProgrammerRadixOperatorsVisible = m_isProgrammer && !IsBitFlipChecked;
if (value) if (value)
{ {
IsStandard = false; IsStandard = false;

View File

@ -27,8 +27,8 @@
<local:CalculatorProgrammerRadixOperators x:Name="ProgrammerRadixOperators" <local:CalculatorProgrammerRadixOperators x:Name="ProgrammerRadixOperators"
TabIndex="16" TabIndex="16"
Visibility="{x:Bind Model.AreProgrammerRadixOperatorsEnabled, Mode=OneWay}" Visibility="{x:Bind Model.AreProgrammerRadixOperatorsVisible, Mode=OneWay}"
IsEnabled="{x:Bind Model.AreProgrammerRadixOperatorsEnabled, Mode=OneWay}" IsEnabled="{x:Bind Model.IsProgrammer, Mode=OneWay}"
x:Load="False"/> x:Load="False"/>
</Grid> </Grid>