OSDN Git Service

Remove UpdateDialogData in each of CProperties and its children.
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sat, 9 Jul 2011 04:53:59 +0000 (13:53 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Wed, 13 Jul 2011 05:28:22 +0000 (14:28 +0900)
Put the code in UpdateDialogData to get the dialog data into
GetDialogData and the code to set it into SetDialogData in each class.

xkeymacs/properties.cpp
xkeymacs/properties.h
xkeymacs/propertiesadvanced.cpp
xkeymacs/propertiesadvanced.h
xkeymacs/propertiesbasic.cpp
xkeymacs/propertiesbasic.h
xkeymacs/propertieslist.cpp
xkeymacs/propertieslist.h

index 66b7a70..226df1d 100644 (file)
@@ -143,82 +143,43 @@ int CProperties::GetCurrentApplicationID()
 \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
index d39f14a..67c6881 100644 (file)
@@ -81,7 +81,6 @@ private:
        void GetDialogData();\r
        void InitApplicationList();\r
        void SetDialogData();\r
-       void UpdateDialogData(BOOL bSaveAndValidate = TRUE);\r
 };\r
 \r
 //{{AFX_INSERT_LOCATION}}\r
index b01c5fe..13dddd5 100644 (file)
@@ -91,36 +91,18 @@ BOOL CPropertiesAdvanced::OnSetActive()
 \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
index f2ccb38..2bf1374 100644 (file)
@@ -96,7 +96,6 @@ private:
        void SetCommands();\r
        void InitCategoryList();\r
        CProperties* m_pProperties;\r
-       void UpdateDialogData(BOOL bSaveAndValidate = TRUE);\r
 };\r
 \r
 //{{AFX_INSERT_LOCATION}}\r
index 9e1c9f6..db8b994 100644 (file)
@@ -146,84 +146,23 @@ void CPropertiesBasic::SetAllDialogData(UINT nCheck, BOOL bChanged)
 \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
@@ -247,7 +186,26 @@ int CPropertiesBasic::OnCreate(LPCREATESTRUCT lpCreateStruct)
 \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
index 408f9e9..234d203 100644 (file)
@@ -123,7 +123,6 @@ private:
        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
index 8095975..a121584 100644 (file)
@@ -60,64 +60,43 @@ BOOL CPropertiesList::OnSetActive()
 \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
index 4afd6b7..4136af9 100644 (file)
@@ -65,7 +65,6 @@ private:
        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