#include "Git.h"\r
#include "MessageBox.h"\r
#include "CommonResource.h"\r
+#include "GitConfig.h"\r
+#include "BrowseFolder.h"\r
\r
IMPLEMENT_DYNAMIC(CSetMainPage, ISettingsPropPage)\r
CSetMainPage::CSetMainPage()\r
: ISettingsPropPage(CSetMainPage::IDD)\r
- , m_sTempExtensions(_T(""))\r
+ , m_sMsysGitPath(_T(""))\r
, m_bCheckNewer(TRUE)\r
, m_bLastCommitTime(FALSE)\r
, m_bUseDotNetHack(FALSE)\r
{\r
m_regLanguage = CRegDWORD(_T("Software\\TortoiseGit\\LanguageID"), 1033);\r
-// CString temp(SVN_CONFIG_DEFAULT_GLOBAL_IGNORES);\r
-// m_regExtensions = CRegString(_T("Software\\Tigris.org\\Subversion\\Config\\miscellany\\global-ignores"), temp);\r
+ CString temp=CRegString(REG_MSYSGIT_INSTALL,_T(""),FALSE,HKEY_LOCAL_MACHINE);;\r
+ if(!temp.IsEmpty())\r
+ temp+=_T("bin");\r
+ m_regMsysGitPath = CRegString(REG_MSYSGIT_PATH,temp,FALSE,HKEY_LOCAL_MACHINE);\r
m_regCheckNewer = CRegDWORD(_T("Software\\TortoiseGit\\CheckNewer"), TRUE);\r
m_regLastCommitTime = CRegString(_T("Software\\Tigris.org\\Subversion\\Config\\miscellany\\use-commit-times"), _T(""));\r
if ((GetEnvironmentVariable(_T("SVN_ASP_DOT_NET_HACK"), NULL, 0)==0)&&(GetLastError()==ERROR_ENVVAR_NOT_FOUND))\r
ISettingsPropPage::DoDataExchange(pDX);\r
DDX_Control(pDX, IDC_LANGUAGECOMBO, m_LanguageCombo);\r
m_dwLanguage = (DWORD)m_LanguageCombo.GetItemData(m_LanguageCombo.GetCurSel());\r
- DDX_Text(pDX, IDC_TEMPEXTENSIONS, m_sTempExtensions);\r
- DDX_Check(pDX, IDC_CHECKNEWERVERSION, m_bCheckNewer);\r
- DDX_Check(pDX, IDC_COMMITFILETIMES, m_bLastCommitTime);\r
- DDX_Check(pDX, IDC_ASPDOTNETHACK, m_bUseDotNetHack);\r
+ DDX_Text(pDX, IDC_MSYSGIT_PATH, m_sMsysGitPath);\r
+// DDX_Check(pDX, IDC_CHECKNEWERVERSION, m_bCheckNewer);\r
+// DDX_Check(pDX, IDC_COMMITFILETIMES, m_bLastCommitTime);\r
+// DDX_Check(pDX, IDC_ASPDOTNETHACK, m_bUseDotNetHack);\r
}\r
\r
\r
BEGIN_MESSAGE_MAP(CSetMainPage, ISettingsPropPage)\r
ON_CBN_SELCHANGE(IDC_LANGUAGECOMBO, OnModified)\r
- ON_EN_CHANGE(IDC_TEMPEXTENSIONS, OnModified)\r
+// ON_EN_CHANGE(IDC_TEMPEXTENSIONS, OnModified)\r
ON_BN_CLICKED(IDC_EDITCONFIG, OnBnClickedEditconfig)\r
ON_BN_CLICKED(IDC_CHECKNEWERVERSION, OnModified)\r
ON_BN_CLICKED(IDC_CHECKNEWERBUTTON, OnBnClickedChecknewerbutton)\r
ON_BN_CLICKED(IDC_COMMITFILETIMES, OnModified)\r
ON_BN_CLICKED(IDC_SOUNDS, OnBnClickedSounds)\r
ON_BN_CLICKED(IDC_ASPDOTNETHACK, OnASPHACK)\r
+ ON_BN_CLICKED(IDC_MSYSGIT_BROWSE,OnBrowseDir)\r
+ ON_BN_CLICKED(IDC_MSYSGIT_CHECK,OnCheck)\r
END_MESSAGE_MAP()\r
\r
BOOL CSetMainPage::OnInitDialog()\r
\r
EnableToolTips();\r
\r
- m_sTempExtensions = m_regExtensions;\r
+ m_sMsysGitPath = m_regMsysGitPath;\r
m_dwLanguage = m_regLanguage;\r
m_bCheckNewer = m_regCheckNewer;\r
\r
m_bLastCommitTime = (temp.CompareNoCase(_T("yes"))==0);\r
\r
m_tooltips.Create(this);\r
- m_tooltips.AddTool(IDC_TEMPEXTENSIONS, IDS_SETTINGS_TEMPEXTENSIONS_TT);\r
- m_tooltips.AddTool(IDC_CHECKNEWERVERSION, IDS_SETTINGS_CHECKNEWER_TT);\r
- m_tooltips.AddTool(IDC_COMMITFILETIMES, IDS_SETTINGS_COMMITFILETIMES_TT);\r
- m_tooltips.AddTool(IDC_ASPDOTNETHACK, IDS_SETTINGS_DOTNETHACK_TT);\r
+ m_tooltips.AddTool(IDC_MSYSGIT_PATH,IDS_MSYSGIT_PATH_TT);\r
+ //m_tooltips.AddTool(IDC_CHECKNEWERVERSION, IDS_SETTINGS_CHECKNEWER_TT);\r
+ //m_tooltips.AddTool(IDC_COMMITFILETIMES, IDS_SETTINGS_COMMITFILETIMES_TT);\r
+ //m_tooltips.AddTool(IDC_ASPDOTNETHACK, IDS_SETTINGS_DOTNETHACK_TT);\r
\r
// set up the language selecting combobox\r
+ SHAutoComplete(GetDlgItem(IDC_MSYSGIT_PATH)->m_hWnd, SHACF_FILESYSTEM);\r
+\r
TCHAR buf[MAX_PATH];\r
GetLocaleInfo(1033, LOCALE_SNATIVELANGNAME, buf, sizeof(buf)/sizeof(TCHAR));\r
m_LanguageCombo.AddString(buf);\r
{\r
UpdateData();\r
Store (m_dwLanguage, m_regLanguage);\r
- if (m_sTempExtensions.Compare(CString(m_regExtensions)))\r
+ if (m_sMsysGitPath.Compare(CString(m_regMsysGitPath)))\r
{\r
- Store (m_sTempExtensions, m_regExtensions);\r
+ Store (m_sMsysGitPath, m_regMsysGitPath);\r
m_restart = Restart_Cache;\r
}\r
Store (m_bCheckNewer, m_regCheckNewer);\r
CAppUtils::LaunchApplication(_T("RUNDLL32 Shell32,Control_RunDLL mmsys.cpl,,1"), NULL, false);\r
}\r
\r
+void CSetMainPage::OnBrowseDir()\r
+{\r
+ CBrowseFolder browseFolder;\r
+ browseFolder.m_style = BIF_EDITBOX | BIF_NEWDIALOGSTYLE | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;\r
+ CString dir;\r
+ this->UpdateData(TRUE);\r
+ dir=this->m_sMsysGitPath;\r
+ if (browseFolder.Show(GetSafeHwnd(), dir) == CBrowseFolder::OK) \r
+ {\r
+ m_sMsysGitPath=dir;\r
+ Store (m_sMsysGitPath, m_regMsysGitPath);\r
+ this->UpdateData(FALSE);\r
+ }\r
+ SetModified(TRUE);\r
+}\r
\r
-\r
-\r
-\r
+void CSetMainPage::OnCheck()\r
+{\r
+ if(g_Git.CheckMsysGitDir())\r
+ {\r
+ CString cmd;\r
+ CString out;\r
+ cmd=_T("git.exe --version");\r
+ g_Git.Run(cmd,&out,CP_UTF8);\r
+ this->GetDlgItem(IDC_MSYSGIT_VER)->SetWindowText(out);\r
+ }else\r
+ {\r
+ CMessageBox::Show(NULL,_T("Msys Git Install Path Error"),_T("TortoiseGit"),MB_OK|MB_ICONERROR);\r
+ }\r
+}\r
\r
\r