Skip to content

Commit c546bef

Browse files
committed
Fixed bug with switching to and from CTRL keypad items in configuration
1 parent c284ba5 commit c546bef

File tree

1 file changed

+74
-57
lines changed

1 file changed

+74
-57
lines changed

dialogs/world_prefs/prefspropertypages.cpp

Lines changed: 74 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -5473,7 +5473,6 @@ CPrefsP12::CPrefsP12() : CPropertyPage(CPrefsP12::IDD)
54735473
//}}AFX_DATA_INIT
54745474
m_page_number = 1;
54755475
m_doc = NULL;
5476-
m_bFirstTime = true;
54775476

54785477
}
54795478

@@ -5484,24 +5483,44 @@ CPrefsP12::~CPrefsP12()
54845483
void CPrefsP12::DoDataExchange(CDataExchange* pDX)
54855484
{
54865485

5487-
// start with normal keys
54885486
if(!pDX->m_bSaveAndValidate)
54895487
{
5490-
m_keypad_0 = m_keypad [eKeypad_0 ];
5491-
m_keypad_1 = m_keypad [eKeypad_1 ];
5492-
m_keypad_2 = m_keypad [eKeypad_2 ];
5493-
m_keypad_3 = m_keypad [eKeypad_3 ];
5494-
m_keypad_4 = m_keypad [eKeypad_4 ];
5495-
m_keypad_5 = m_keypad [eKeypad_5 ];
5496-
m_keypad_6 = m_keypad [eKeypad_6 ];
5497-
m_keypad_7 = m_keypad [eKeypad_7 ];
5498-
m_keypad_8 = m_keypad [eKeypad_8 ];
5499-
m_keypad_9 = m_keypad [eKeypad_9 ];
5500-
m_keypad_dot = m_keypad [eKeypad_Dot ];
5501-
m_keypad_slash = m_keypad [eKeypad_Slash];
5502-
m_keypad_star = m_keypad [eKeypad_Star ];
5503-
m_keypad_dash = m_keypad [eKeypad_Dash ];
5504-
m_keypad_plus = m_keypad [eKeypad_Plus ];
5488+
if (m_bControl)
5489+
{ // control keys
5490+
m_keypad_0 = m_keypad [eCtrl_Keypad_0 ];
5491+
m_keypad_1 = m_keypad [eCtrl_Keypad_1 ];
5492+
m_keypad_2 = m_keypad [eCtrl_Keypad_2 ];
5493+
m_keypad_3 = m_keypad [eCtrl_Keypad_3 ];
5494+
m_keypad_4 = m_keypad [eCtrl_Keypad_4 ];
5495+
m_keypad_5 = m_keypad [eCtrl_Keypad_5 ];
5496+
m_keypad_6 = m_keypad [eCtrl_Keypad_6 ];
5497+
m_keypad_7 = m_keypad [eCtrl_Keypad_7 ];
5498+
m_keypad_8 = m_keypad [eCtrl_Keypad_8 ];
5499+
m_keypad_9 = m_keypad [eCtrl_Keypad_9 ];
5500+
m_keypad_dot = m_keypad [eCtrl_Keypad_Dot ];
5501+
m_keypad_slash = m_keypad [eCtrl_Keypad_Slash];
5502+
m_keypad_star = m_keypad [eCtrl_Keypad_Star ];
5503+
m_keypad_dash = m_keypad [eCtrl_Keypad_Dash ];
5504+
m_keypad_plus = m_keypad [eCtrl_Keypad_Plus ];
5505+
}
5506+
else
5507+
{ // normal keys
5508+
m_keypad_0 = m_keypad [eKeypad_0 ];
5509+
m_keypad_1 = m_keypad [eKeypad_1 ];
5510+
m_keypad_2 = m_keypad [eKeypad_2 ];
5511+
m_keypad_3 = m_keypad [eKeypad_3 ];
5512+
m_keypad_4 = m_keypad [eKeypad_4 ];
5513+
m_keypad_5 = m_keypad [eKeypad_5 ];
5514+
m_keypad_6 = m_keypad [eKeypad_6 ];
5515+
m_keypad_7 = m_keypad [eKeypad_7 ];
5516+
m_keypad_8 = m_keypad [eKeypad_8 ];
5517+
m_keypad_9 = m_keypad [eKeypad_9 ];
5518+
m_keypad_dot = m_keypad [eKeypad_Dot ];
5519+
m_keypad_slash = m_keypad [eKeypad_Slash];
5520+
m_keypad_star = m_keypad [eKeypad_Star ];
5521+
m_keypad_dash = m_keypad [eKeypad_Dash ];
5522+
m_keypad_plus = m_keypad [eKeypad_Plus ];
5523+
}
55055524
}
55065525

55075526
CPropertyPage::DoDataExchange(pDX);
@@ -5583,25 +5602,25 @@ void CPrefsP12::OnControlKey()
55835602
if (m_ctlControl.GetCheck () == 0)
55845603
{
55855604
// control is not checked, so it must have been before
5586-
if (!m_bFirstTime)
5587-
{
5588-
// save old values
5589-
GetDlgItem (IDC_KEYPAD_0 )->GetWindowText (m_keypad [eCtrl_Keypad_0 ]);
5590-
GetDlgItem (IDC_KEYPAD_1 )->GetWindowText (m_keypad [eCtrl_Keypad_1 ]);
5591-
GetDlgItem (IDC_KEYPAD_2 )->GetWindowText (m_keypad [eCtrl_Keypad_2 ]);
5592-
GetDlgItem (IDC_KEYPAD_3 )->GetWindowText (m_keypad [eCtrl_Keypad_3 ]);
5593-
GetDlgItem (IDC_KEYPAD_4 )->GetWindowText (m_keypad [eCtrl_Keypad_4 ]);
5594-
GetDlgItem (IDC_KEYPAD_5 )->GetWindowText (m_keypad [eCtrl_Keypad_5 ]);
5595-
GetDlgItem (IDC_KEYPAD_6 )->GetWindowText (m_keypad [eCtrl_Keypad_6 ]);
5596-
GetDlgItem (IDC_KEYPAD_7 )->GetWindowText (m_keypad [eCtrl_Keypad_7 ]);
5597-
GetDlgItem (IDC_KEYPAD_8 )->GetWindowText (m_keypad [eCtrl_Keypad_8 ]);
5598-
GetDlgItem (IDC_KEYPAD_9 )->GetWindowText (m_keypad [eCtrl_Keypad_9 ]);
5599-
GetDlgItem (IDC_KEYPAD_DASH )->GetWindowText (m_keypad [eCtrl_Keypad_Dash ]);
5600-
GetDlgItem (IDC_KEYPAD_DOT )->GetWindowText (m_keypad [eCtrl_Keypad_Dot ]);
5601-
GetDlgItem (IDC_KEYPAD_PLUS )->GetWindowText (m_keypad [eCtrl_Keypad_Plus ]);
5602-
GetDlgItem (IDC_KEYPAD_SLASH )->GetWindowText (m_keypad [eCtrl_Keypad_Slash]);
5603-
GetDlgItem (IDC_KEYPAD_STAR )->GetWindowText (m_keypad [eCtrl_Keypad_Star ]);
5604-
} // end of not first time
5605+
5606+
// save old values
5607+
GetDlgItem (IDC_KEYPAD_0 )->GetWindowText (m_keypad [eCtrl_Keypad_0 ]);
5608+
GetDlgItem (IDC_KEYPAD_1 )->GetWindowText (m_keypad [eCtrl_Keypad_1 ]);
5609+
GetDlgItem (IDC_KEYPAD_2 )->GetWindowText (m_keypad [eCtrl_Keypad_2 ]);
5610+
GetDlgItem (IDC_KEYPAD_3 )->GetWindowText (m_keypad [eCtrl_Keypad_3 ]);
5611+
GetDlgItem (IDC_KEYPAD_4 )->GetWindowText (m_keypad [eCtrl_Keypad_4 ]);
5612+
GetDlgItem (IDC_KEYPAD_5 )->GetWindowText (m_keypad [eCtrl_Keypad_5 ]);
5613+
GetDlgItem (IDC_KEYPAD_6 )->GetWindowText (m_keypad [eCtrl_Keypad_6 ]);
5614+
GetDlgItem (IDC_KEYPAD_7 )->GetWindowText (m_keypad [eCtrl_Keypad_7 ]);
5615+
GetDlgItem (IDC_KEYPAD_8 )->GetWindowText (m_keypad [eCtrl_Keypad_8 ]);
5616+
GetDlgItem (IDC_KEYPAD_9 )->GetWindowText (m_keypad [eCtrl_Keypad_9 ]);
5617+
GetDlgItem (IDC_KEYPAD_DASH )->GetWindowText (m_keypad [eCtrl_Keypad_Dash ]);
5618+
GetDlgItem (IDC_KEYPAD_DOT )->GetWindowText (m_keypad [eCtrl_Keypad_Dot ]);
5619+
GetDlgItem (IDC_KEYPAD_PLUS )->GetWindowText (m_keypad [eCtrl_Keypad_Plus ]);
5620+
GetDlgItem (IDC_KEYPAD_SLASH )->GetWindowText (m_keypad [eCtrl_Keypad_Slash]);
5621+
GetDlgItem (IDC_KEYPAD_STAR )->GetWindowText (m_keypad [eCtrl_Keypad_Star ]);
5622+
5623+
// load alternative values
56055624
GetDlgItem (IDC_KEYPAD_0 )->SetWindowText (m_keypad [eKeypad_0 ]);
56065625
GetDlgItem (IDC_KEYPAD_1 )->SetWindowText (m_keypad [eKeypad_1 ]);
56075626
GetDlgItem (IDC_KEYPAD_2 )->SetWindowText (m_keypad [eKeypad_2 ]);
@@ -5622,25 +5641,25 @@ void CPrefsP12::OnControlKey()
56225641
else
56235642
{
56245643
// control is checked, so it must not have been before
5625-
if (!m_bFirstTime)
5626-
{
5627-
// save old values
5628-
GetDlgItem (IDC_KEYPAD_0 )->GetWindowText (m_keypad [eKeypad_0 ]);
5629-
GetDlgItem (IDC_KEYPAD_1 )->GetWindowText (m_keypad [eKeypad_1 ]);
5630-
GetDlgItem (IDC_KEYPAD_2 )->GetWindowText (m_keypad [eKeypad_2 ]);
5631-
GetDlgItem (IDC_KEYPAD_3 )->GetWindowText (m_keypad [eKeypad_3 ]);
5632-
GetDlgItem (IDC_KEYPAD_4 )->GetWindowText (m_keypad [eKeypad_4 ]);
5633-
GetDlgItem (IDC_KEYPAD_5 )->GetWindowText (m_keypad [eKeypad_5 ]);
5634-
GetDlgItem (IDC_KEYPAD_6 )->GetWindowText (m_keypad [eKeypad_6 ]);
5635-
GetDlgItem (IDC_KEYPAD_7 )->GetWindowText (m_keypad [eKeypad_7 ]);
5636-
GetDlgItem (IDC_KEYPAD_8 )->GetWindowText (m_keypad [eKeypad_8 ]);
5637-
GetDlgItem (IDC_KEYPAD_9 )->GetWindowText (m_keypad [eKeypad_9 ]);
5638-
GetDlgItem (IDC_KEYPAD_DASH )->GetWindowText (m_keypad [eKeypad_Dash ]);
5639-
GetDlgItem (IDC_KEYPAD_DOT )->GetWindowText (m_keypad [eKeypad_Dot ]);
5640-
GetDlgItem (IDC_KEYPAD_PLUS )->GetWindowText (m_keypad [eKeypad_Plus ]);
5641-
GetDlgItem (IDC_KEYPAD_SLASH )->GetWindowText (m_keypad [eKeypad_Slash]);
5642-
GetDlgItem (IDC_KEYPAD_STAR )->GetWindowText (m_keypad [eKeypad_Star ]);
5643-
} // end of not first time
5644+
5645+
// save old values
5646+
GetDlgItem (IDC_KEYPAD_0 )->GetWindowText (m_keypad [eKeypad_0 ]);
5647+
GetDlgItem (IDC_KEYPAD_1 )->GetWindowText (m_keypad [eKeypad_1 ]);
5648+
GetDlgItem (IDC_KEYPAD_2 )->GetWindowText (m_keypad [eKeypad_2 ]);
5649+
GetDlgItem (IDC_KEYPAD_3 )->GetWindowText (m_keypad [eKeypad_3 ]);
5650+
GetDlgItem (IDC_KEYPAD_4 )->GetWindowText (m_keypad [eKeypad_4 ]);
5651+
GetDlgItem (IDC_KEYPAD_5 )->GetWindowText (m_keypad [eKeypad_5 ]);
5652+
GetDlgItem (IDC_KEYPAD_6 )->GetWindowText (m_keypad [eKeypad_6 ]);
5653+
GetDlgItem (IDC_KEYPAD_7 )->GetWindowText (m_keypad [eKeypad_7 ]);
5654+
GetDlgItem (IDC_KEYPAD_8 )->GetWindowText (m_keypad [eKeypad_8 ]);
5655+
GetDlgItem (IDC_KEYPAD_9 )->GetWindowText (m_keypad [eKeypad_9 ]);
5656+
GetDlgItem (IDC_KEYPAD_DASH )->GetWindowText (m_keypad [eKeypad_Dash ]);
5657+
GetDlgItem (IDC_KEYPAD_DOT )->GetWindowText (m_keypad [eKeypad_Dot ]);
5658+
GetDlgItem (IDC_KEYPAD_PLUS )->GetWindowText (m_keypad [eKeypad_Plus ]);
5659+
GetDlgItem (IDC_KEYPAD_SLASH )->GetWindowText (m_keypad [eKeypad_Slash]);
5660+
GetDlgItem (IDC_KEYPAD_STAR )->GetWindowText (m_keypad [eKeypad_Star ]);
5661+
5662+
// load alternative values
56445663
GetDlgItem (IDC_KEYPAD_0 )->SetWindowText (m_keypad [eCtrl_Keypad_0 ]);
56455664
GetDlgItem (IDC_KEYPAD_1 )->SetWindowText (m_keypad [eCtrl_Keypad_1 ]);
56465665
GetDlgItem (IDC_KEYPAD_2 )->SetWindowText (m_keypad [eCtrl_Keypad_2 ]);
@@ -5659,8 +5678,6 @@ void CPrefsP12::OnControlKey()
56595678

56605679
}
56615680

5662-
m_bFirstTime = false;
5663-
56645681
}
56655682

56665683

0 commit comments

Comments
 (0)