OSDN Git Service

Tidy up Settings, General Fixed bug that caused default value for msysgit bin path...
authorColin Law <colin@clanlaw.org.uk>
Sat, 24 Jan 2009 21:51:40 +0000 (21:51 +0000)
committerFrank Li <lznuaa@gmail.com>
Mon, 26 Jan 2009 15:09:53 +0000 (23:09 +0800)
src/Git/Git.cpp
src/Resources/TortoiseProcENG.rc
src/TortoiseProc/Settings/SetMainPage.cpp

index 23164db..bd9724f 100644 (file)
@@ -502,7 +502,12 @@ BOOL CGit::CheckMsysGitDir()
        {\r
                CRegString msysinstalldir=CRegString(REG_MSYSGIT_INSTALL,_T(""),FALSE,HKEY_LOCAL_MACHINE);\r
                str=msysinstalldir;\r
-               str+="\\bin";\r
+        // check it has a trailing blank\r
+        if (str.Right(1) != "\\")\r
+        {\r
+            str += "\\";\r
+        }\r
+               str+="bin";\r
                msysdir=str;\r
                msysdir.write();\r
 \r
@@ -518,8 +523,9 @@ BOOL CGit::CheckMsysGitDir()
        {               \r
                _tdupenv_s(&home,&size,_T("USERPROFILE")); \r
                _tputenv_s(_T("HOME"),home);\r
-               free(home);\r
        }\r
+       free(home);\r
+       \r
        //set path\r
        _tdupenv_s(&oldpath,&size,_T("PATH")); \r
 \r
index b1c6321..0a1b783 100644 (file)
Binary files a/src/Resources/TortoiseProcENG.rc and b/src/Resources/TortoiseProcENG.rc differ
index 8c4529f..b479277 100644 (file)
@@ -79,12 +79,17 @@ BEGIN_MESSAGE_MAP(CSetMainPage, ISettingsPropPage)
        ON_BN_CLICKED(IDC_ASPDOTNETHACK, OnASPHACK)\r
        ON_BN_CLICKED(IDC_MSYSGIT_BROWSE,OnBrowseDir)\r
        ON_BN_CLICKED(IDC_MSYSGIT_CHECK,OnCheck)\r
+       ON_EN_CHANGE(IDC_MSYSGIT_PATH, OnModified)\r
 END_MESSAGE_MAP()\r
 \r
 BOOL CSetMainPage::OnInitDialog()\r
 {\r
        ISettingsPropPage::OnInitDialog();\r
 \r
+       // disable features that have not yet been implemented\r
+       GetDlgItem(IDC_CHECKNEWERVERSION)->EnableWindow( FALSE );\r
+       GetDlgItem(IDC_CHECKNEWERBUTTON)->EnableWindow( FALSE );\r
+       \r
        EnableToolTips();\r
 \r
        m_sMsysGitPath = m_regMsysGitPath;\r
@@ -204,8 +209,17 @@ BOOL CSetMainPage::OnApply()
                        m_restart = Restart_System;\r
                }\r
        }\r
-       SetModified(FALSE);\r
-       return ISettingsPropPage::OnApply();\r
+       // only complete if the msysgit directory is ok\r
+       if(g_Git.CheckMsysGitDir())\r
+       {\r
+               SetModified(FALSE);\r
+               return ISettingsPropPage::OnApply();\r
+       }\r
+       else\r
+       {\r
+               CMessageBox::Show(NULL,_T("Msys Git Install Path Error"),_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+               return 0;\r
+       }\r
 }\r
 \r
 void CSetMainPage::OnBnClickedEditconfig()\r