\r
void CProperties::GetDialogData()\r
{\r
+ UpdateData();\r
if (m_nSettingStyle == SETTING_DEFAULT) {\r
CProfile::ClearData(m_szCurrentApplication);\r
- } else {\r
- UpdateDialogData(TRUE);\r
-\r
- if (m_sheet.GetActivePage() == &m_basic) { // FIXME\r
- m_basic.GetDialogData();\r
- } else if (m_sheet.GetActivePage() == &m_advanced) {\r
- m_advanced.GetDialogData();\r
- } else if (m_sheet.GetActivePage() == &m_list) {\r
- m_list.GetDialogData();\r
- } else {\r
- ASSERT(0);\r
- }\r
+ return;\r
}\r
+ m_nApplicationID = CProfile::GetApplicationIndex(m_szCurrentApplication, TRUE, &m_nSettingStyle);\r
+ CProfile::UpdateApplicationTitle(&m_cApplication, m_szCurrentApplication, m_nApplicationID, TRUE);\r
+ CProfile::SetKillRingMax(m_nApplicationID, m_nKillRingMax);\r
+ CProfile::SetUseDialogSetting(m_nApplicationID, m_cUseDialogSetting.GetCheck() == BST_CHECKED);\r
+ CString szWindowText;\r
+ m_cWindowText.GetWindowText(szWindowText);\r
+ CProfile::SetWindowText(m_nApplicationID, szWindowText);\r
+\r
+ if (m_sheet.GetActivePage() == &m_basic) // FIXME\r
+ m_basic.GetDialogData();\r
+ else if (m_sheet.GetActivePage() == &m_advanced)\r
+ m_advanced.GetDialogData();\r
+ else if (m_sheet.GetActivePage() == &m_list)\r
+ m_list.GetDialogData();\r
}\r
\r
void CProperties::SetDialogData()\r
{\r
- UpdateDialogData(FALSE);\r
-\r
- if (m_sheet.GetActivePage() == &m_basic) { // FIXME\r
+ m_nApplicationID = CProfile::GetApplicationIndex(m_szCurrentApplication, FALSE, &m_nSettingStyle);\r
+ EnableUseDefaultButton(!CProfile::IsDefault(m_szCurrentApplication) && !CProfile::IsDialog(m_szCurrentApplication));\r
+ CProfile::UpdateApplicationTitle(&m_cApplication, m_szCurrentApplication, m_nApplicationID, FALSE);\r
+ m_nKillRingMax = CProfile::GetKillRingMax(m_nApplicationID);\r
+ m_cUseDialogSetting.SetCheck(CProfile::GetUseDialogSetting(m_nApplicationID) ? BST_CHECKED : BST_UNCHECKED);\r
+ m_cWindowText.SetWindowText(CProfile::GetWindowText(m_nApplicationID));\r
+ UpdateData(FALSE);\r
+\r
+ if (m_sheet.GetActivePage() == &m_basic) // FIXME\r
m_basic.SetDialogData();\r
- } else if (m_sheet.GetActivePage() == &m_advanced) {\r
+ else if (m_sheet.GetActivePage() == &m_advanced)\r
m_advanced.SetDialogData();\r
- } else if (m_sheet.GetActivePage() == &m_list) {\r
+ else if (m_sheet.GetActivePage() == &m_list)\r
m_list.SetDialogData();\r
- } else {\r
- ASSERT(0);\r
- }\r
-}\r
-\r
-void CProperties::UpdateDialogData(BOOL bSaveAndValidate)\r
-{\r
- if (bSaveAndValidate) { // GetDialogData\r
- UpdateData();\r
- }\r
-\r
- m_nApplicationID = CProfile::GetApplicationIndex(m_szCurrentApplication, bSaveAndValidate, &m_nSettingStyle);\r
-\r
- if (CProfile::IsDefault(m_szCurrentApplication)\r
- || CProfile::IsDialog(m_szCurrentApplication)) {\r
- EnableUseDefaultButton(FALSE);\r
- } else {\r
- EnableUseDefaultButton(TRUE);\r
- }\r
-\r
- // application title\r
- CProfile::UpdateApplicationTitle(&m_cApplication, m_szCurrentApplication, m_nApplicationID, bSaveAndValidate);\r
-\r
- // kill-ring-max\r
- if (bSaveAndValidate) { // GetDialogData\r
- CProfile::SetKillRingMax(m_nApplicationID, m_nKillRingMax);\r
- } else { // SetDialogData\r
- m_nKillRingMax = CProfile::GetKillRingMax(m_nApplicationID);\r
- }\r
-\r
- // Use Dialog Setting\r
- if (bSaveAndValidate) { // GetDialogData\r
- CProfile::SetUseDialogSetting(m_nApplicationID, m_cUseDialogSetting.GetCheck() == BST_CHECKED);\r
- } else { // SetDialogData\r
- m_cUseDialogSetting.SetCheck(CProfile::GetUseDialogSetting(m_nApplicationID) ? BST_CHECKED : BST_UNCHECKED);\r
- }\r
-\r
- // Check Window Title\r
- if (bSaveAndValidate) { // GetDialogData\r
- CString szWindowText;\r
- m_cWindowText.GetWindowText(szWindowText);\r
- CProfile::SetWindowText(m_nApplicationID, szWindowText);\r
- } else { // SetDialogData\r
- m_cWindowText.SetWindowText(CProfile::GetWindowText(m_nApplicationID));\r
- }\r
-\r
- if (!bSaveAndValidate) { // SetDialogData\r
- UpdateData(FALSE);\r
- }\r
}\r
\r
void CProperties::EnableControl(TAB_NAME tab)\r
void GetDialogData();\r
void InitApplicationList();\r
void SetDialogData();\r
- void UpdateDialogData(BOOL bSaveAndValidate = TRUE);\r
};\r
\r
//{{AFX_INSERT_LOCATION}}\r
\r
void CPropertiesAdvanced::SetDialogData()\r
{\r
- UpdateDialogData(FALSE);\r
-}\r
-\r
-void CPropertiesAdvanced::UpdateDialogData(BOOL bSaveAndValidate)\r
-{\r
m_nApplicationID = m_pProperties->GetApplicationID();\r
-\r
- if (bSaveAndValidate) { // GetDialogData\r
- UpdateData();\r
- }\r
-\r
- if (m_nApplicationID == MAX_APP) { // FIXME\r
+ if (m_nApplicationID == MAX_APP)\r
return;\r
- }\r
-\r
InitCommandIDs();\r
m_bEnableCUA = CProfile::GetEnableCUA(m_nApplicationID);\r
-\r
- if (!bSaveAndValidate) { // SetDialogData\r
- SetCurrentKeys();\r
- }\r
-\r
- if (!bSaveAndValidate) { // SetDialogData\r
- UpdateData(FALSE);\r
- }\r
+ SetCurrentKeys();\r
+ UpdateData(FALSE);\r
}\r
\r
void CPropertiesAdvanced::GetDialogData()\r
{\r
- UpdateDialogData(TRUE);\r
+ UpdateData();\r
}\r
\r
int CPropertiesAdvanced::OnCreate(LPCREATESTRUCT lpCreateStruct) \r
void SetCommands();\r
void InitCategoryList();\r
CProperties* m_pProperties;\r
- void UpdateDialogData(BOOL bSaveAndValidate = TRUE);\r
};\r
\r
//{{AFX_INSERT_LOCATION}}\r
\r
void CPropertiesBasic::SetDialogData()\r
{\r
- UpdateDialogData(FALSE);\r
-}\r
-\r
-void CPropertiesBasic::UpdateDialogData(BOOL bSaveAndValidate)\r
-{\r
- if (bSaveAndValidate) { // GetDialogData\r
- UpdateData();\r
- }\r
-\r
- if (m_pProperties->GetApplicationID() == MAX_APP) {\r
- if (!bSaveAndValidate) {\r
- SetAllDialogData(1, FALSE); // FIXME\r
- }\r
+ SetAllDialogData(1, FALSE);\r
+ CheckDlgButton(IDC_CO2, BST_CHECKED);\r
+ const int nAppID = m_pProperties->GetApplicationID();\r
+ if (nAppID == MAX_APP)\r
return;\r
- }\r
-\r
- // on/off\r
- if (!bSaveAndValidate) { // SetDialogData\r
- SetAllDialogData(1, FALSE);\r
- CheckDlgButton(IDC_CO2, BST_CHECKED);\r
- }\r
for (int nComID = 0; nComID < MAX_COMMAND; ++nComID) {\r
- CString szCommandName = CCommands::GetCommandName(nComID);\r
- if (szCommandName.IsEmpty()) {\r
- break;\r
- }\r
-\r
- for (int i = 0; ; ++i) {\r
- int nType = CCommands::GetDefaultCommandType(nComID, i);\r
- int nKey = CCommands::GetDefaultCommandKey(nComID, i);\r
- int nControlID = CCommands::GetDefaultControlID(nComID, i);\r
- if (nKey == 0) {\r
- break;\r
- }\r
- if (bSaveAndValidate) { // GetDialogData\r
- if (nControlID == IDC_CO2) {\r
- continue;\r
- }\r
- if (!m_bChanged[nComID]) {\r
- continue;\r
- }\r
- if (IsDlgButtonChecked(nControlID)) {\r
- CProfile::SetCommandID(m_pProperties->GetApplicationID(), nType, nKey, nComID);\r
- CDotXkeymacs::RemoveKey(m_pProperties->GetApplicationID(), nType, nKey);\r
- } else {\r
- CProfile::SetCommandID(m_pProperties->GetApplicationID(), nType, nKey, 0);\r
- }\r
- } else { // SetDialogData\r
- if (nComID != CProfile::GetCommandID(m_pProperties->GetApplicationID(), nType, nKey)) {\r
- CheckDlgButton(nControlID, BST_UNCHECKED);\r
- }\r
- }\r
+ const LPCSTR szComName = CCommands::GetCommandName(nComID);\r
+ if (!szComName[0])\r
+ return;\r
+ for (int i = 0; const int nKey = CCommands::GetDefaultCommandKey(nComID, i); ++i) {\r
+ const int nType = CCommands::GetDefaultCommandType(nComID, i);\r
+ const int nControlID = CCommands::GetDefaultControlID(nComID, i);\r
+ if (nComID != CProfile::GetCommandID(nAppID, nType, nKey))\r
+ CheckDlgButton(nControlID, BST_UNCHECKED);\r
}\r
}\r
- // only for Toggle Imput Method Editor C-o: Canna mode\r
- if (bSaveAndValidate) { // GetDialogData\r
- int nType = CONTROL;\r
- int nKey = 'O';\r
- if (CProfile::GetCommandID(m_pProperties->GetApplicationID(), nType, nKey) == 0) {\r
- if (IsDlgButtonChecked(IDC_CO2)) {\r
- for (int nComID = 0; nComID < MAX_COMMAND; ++nComID) {\r
- CString szCommandName = CCommands::GetCommandName(nComID);\r
- if (szCommandName.IsEmpty()) {\r
- break;\r
- }\r
- if (!szCommandName.CompareNoCase(_T("toggle-input-method"))) {\r
- CProfile::SetCommandID(m_pProperties->GetApplicationID(), nType, nKey, nComID);\r
- CProfile::SetCommandID(m_pProperties->GetApplicationID(), CONTROL+SHIFT, nKey, nComID);\r
- break;\r
- }\r
- }\r
- }\r
- }\r
- }\r
-\r
- if (!bSaveAndValidate) { // SetDialogData\r
- UpdateData(FALSE);\r
- }\r
+ UpdateData(FALSE);\r
}\r
\r
void CPropertiesBasic::InitChanged(BOOL bChanged)\r
\r
void CPropertiesBasic::GetDialogData()\r
{\r
- UpdateDialogData(TRUE);\r
+ UpdateData();\r
+ const int nAppID = m_pProperties->GetApplicationID();\r
+ if (nAppID == MAX_APP)\r
+ return;\r
+ for (int nComID = 0; nComID < MAX_COMMAND; ++nComID) {\r
+ const LPCSTR szComName = CCommands::GetCommandName(nComID);\r
+ if (!szComName[0])\r
+ return;\r
+ for (int i = 0; const int nKey = CCommands::GetDefaultCommandKey(nComID, i); ++i) {\r
+ const int nType = CCommands::GetDefaultCommandType(nComID, i);\r
+ const int nControlID = CCommands::GetDefaultControlID(nComID, i);\r
+ if (!m_bChanged[nComID])\r
+ continue;\r
+ if (IsDlgButtonChecked(nControlID)) {\r
+ CProfile::SetCommandID(nAppID, nType, nKey, nComID);\r
+ CDotXkeymacs::RemoveKey(nAppID, nType, nKey);\r
+ } else if (nControlID != IDC_CO2)\r
+ CProfile::SetCommandID(nAppID, nType, nKey, 0);\r
+ }\r
+ }\r
}\r
\r
void CPropertiesBasic::OnAlt() \r
void Changed(int nObjectID);\r
CProperties* m_pProperties;\r
BOOL m_bChanged[MAX_COMMAND];\r
- void UpdateDialogData(BOOL bSaveAndValidate = TRUE);\r
};\r
\r
//{{AFX_INSERT_LOCATION}}\r
\r
void CPropertiesList::SetDialogData()\r
{\r
- UpdateDialogData(FALSE);\r
-}\r
-\r
-void CPropertiesList::UpdateDialogData(BOOL bSaveAndValidate)\r
-{\r
- if (bSaveAndValidate) { // GetDialogData\r
- UpdateData();\r
- }\r
-\r
- if (!bSaveAndValidate) { // SetDialogData\r
- m_cPropertiesList.DeleteAllItems();\r
- m_nCategoryWidth = 0;\r
- m_nCommandWidth = 0;\r
- m_nKeyWidth = 0;\r
-\r
- for (int nComID = 1; nComID < MAX_COMMAND; ++nComID) {\r
- CString szCommandName = CCommands::GetCommandName(nComID);\r
- if (szCommandName.IsEmpty()) {\r
- break;\r
- }\r
-\r
- CString szCategory(MAKEINTRESOURCE(CCommands::GetCategoryID(nComID)));\r
- if (szCategory.IsEmpty()) {\r
- continue;\r
- }\r
-\r
- BOOL bInserted = FALSE;\r
- for (int nType = 0; nType < MAX_COMMAND_TYPE; ++nType) {\r
- for (int nKey = 0; nKey < MAX_KEY; ++nKey) {\r
- if (nComID == CProfile::GetCommandID(m_pProperties->GetApplicationID(), nType, nKey)) {\r
- CString szKey;\r
- szKey.Format(_T("%s%s"), CProfile::CommandType2String(nType), CProfile::Key2String(nKey));\r
-\r
- InsertItem(szCategory, szCommandName, szKey);\r
-\r
- bInserted = TRUE;\r
- }\r
+ m_cPropertiesList.DeleteAllItems();\r
+ m_nCategoryWidth = 0;\r
+ m_nCommandWidth = 0;\r
+ m_nKeyWidth = 0;\r
+\r
+ const int nAppID = m_pProperties->GetApplicationID();\r
+ for (int nComID = 1; nComID < MAX_COMMAND; ++nComID) {\r
+ const LPCSTR szComName = CCommands::GetCommandName(nComID);\r
+ if (!szComName[0])\r
+ break;\r
+ const CString category(MAKEINTRESOURCE(CCommands::GetCategoryID(nComID)));\r
+ if (category.IsEmpty())\r
+ continue;\r
+ bool bInserted = false;\r
+ for (int nType = 0; nType < MAX_COMMAND_TYPE; ++nType) {\r
+ for (int nKey = 0; nKey < MAX_KEY; ++nKey)\r
+ if (nComID == CProfile::GetCommandID(nAppID, nType, nKey)) {\r
+ CString key;\r
+ key.Format(_T("%s%s"), CProfile::CommandType2String(nType), CProfile::Key2String(nKey));\r
+ InsertItem(category, szComName, key);\r
+ bInserted = true;\r
}\r
- }\r
- if (!bInserted) {\r
- InsertItem(szCategory, szCommandName, _T(""));\r
- }\r
}\r
-\r
- SortItem(m_nSelectedColumn);\r
- m_cPropertiesList.SetColumnWidth(0, m_nCategoryWidth + 0x20);\r
- m_cPropertiesList.SetColumnWidth(1, m_nCommandWidth + 0x20);\r
- m_cPropertiesList.SetColumnWidth(2, m_nKeyWidth + 0x20);\r
+ if (!bInserted)\r
+ InsertItem(category, szComName, _T(""));\r
}\r
+ SortItem(m_nSelectedColumn);\r
+ m_cPropertiesList.SetColumnWidth(0, m_nCategoryWidth + 0x20);\r
+ m_cPropertiesList.SetColumnWidth(1, m_nCommandWidth + 0x20);\r
+ m_cPropertiesList.SetColumnWidth(2, m_nKeyWidth + 0x20);\r
\r
- if (!bSaveAndValidate) { // SetDialogData\r
- UpdateData(FALSE);\r
- }\r
+ UpdateData(FALSE);\r
}\r
\r
void CPropertiesList::GetDialogData()\r
{\r
- UpdateDialogData(TRUE);\r
+ UpdateData(TRUE);\r
}\r
\r
int CPropertiesList::OnCreate(LPCREATESTRUCT lpCreateStruct) \r
static int CALLBACK SortCommand(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);\r
static int CALLBACK SortCategory(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);\r
CProperties* m_pProperties;\r
- void UpdateDialogData(BOOL bSaveAndValidate = TRUE);\r
};\r
\r
//{{AFX_INSERT_LOCATION}}\r