OSDN Git Service

Rearrange the code assigning new application IDs and copying settings
authorKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Sat, 24 Dec 2011 08:55:41 +0000 (17:55 +0900)
committerKazuhiro Fujieda <fujieda@users.sourceforge.jp>
Mon, 9 Jan 2012 01:45:51 +0000 (10:45 +0900)
on the properties dialog.

xkeymacs/profile.cpp
xkeymacs/profile.h
xkeymacs/properties.cpp

index 81e1880..3a3d418 100644 (file)
@@ -345,7 +345,11 @@ void CProfile::ClearData(LPCTSTR appName)
 \r
 void CProfile::CopyDefault(LPCTSTR appName)\r
 {\r
-       int dst = AssignAppID(appName);\r
+       CopyDefault(GetAppID(appName));\r
+}\r
+\r
+void CProfile::CopyDefault(int dst)\r
+{\r
        int src = DefaultAppID();\r
        if (src == MAX_APP || dst == MAX_APP)\r
                return;\r
@@ -356,17 +360,18 @@ void CProfile::CopyDefault(LPCTSTR appName)
 \r
 int CProfile::AssignAppID(LPCTSTR appName)\r
 {\r
-       int nAppID = GetAppID(appName);\r
-       if (nAppID != MAX_APP)\r
-               return nAppID;\r
-       for (nAppID = 0; nAppID < MAX_APP; ++nAppID) {\r
-               AppConfig& appConfig = m_Config.AppConfig[nAppID];\r
+       int id = GetAppID(appName);\r
+       if (id != MAX_APP)\r
+               return id;\r
+       for (id = 0; id < MAX_APP; ++id) {\r
+               AppConfig& appConfig = m_Config.AppConfig[id];\r
                if (!appConfig.AppName[0]) {\r
                        _tcsncpy_s(appConfig.AppName, appName, _TRUNCATE);\r
-                       return nAppID;\r
+                       CopyDefault(id);\r
+                       return id;\r
                }\r
        }\r
-       return nAppID;\r
+       return id;\r
 }\r
 \r
 int CProfile::DefaultAppID()\r
index 54337b5..15e334a 100644 (file)
@@ -29,6 +29,7 @@ public:
        static void GetAppList(TCHAR (&appTitle)[MAX_APP][WINDOW_TEXT_LENGTH], TCHAR (&appName)[MAX_APP][CLASS_NAME_LENGTH]);\r
        static void ClearData(LPCTSTR appName);\r
        static void CopyDefault(LPCTSTR appName);\r
+       static void CopyDefault(int dst);\r
        static int AssignAppID(LPCTSTR appName);\r
        static int DefaultAppID();\r
        static int GetAppID(LPCTSTR appName);\r
index b232fa4..d36d816 100644 (file)
@@ -142,6 +142,8 @@ void CProperties::GetDialogData()
                return;\r
        }\r
        m_nAppID = CProfile::AssignAppID(m_appName);\r
+       if (m_nAppID == MAX_APP)\r
+               return;\r
        CProfile::SetSettingStyle(m_nAppID, m_nSettingStyle);\r
        CProfile::SetAppTitle(m_nAppID, m_appTitle);\r
        CProfile::SetKillRingMax(m_nAppID, m_nKillRingMax);\r
@@ -335,11 +337,7 @@ void CProperties::OnSettingSpecific()
 {\r
        UpdateData();\r
        EnableControl(ACTIVE_TAB);\r
-\r
-       if (CProfile::GetAppID(m_appName) == MAX_APP) {\r
-               CProfile::CopyDefault(m_appName);\r
-               SetDialogData();\r
-       }\r
+       m_nAppID = CProfile::AssignAppID(m_appName);\r
 }\r
 \r
 BOOL CProperties::IsEnableControl()\r