OSDN Git Service

merge original branch.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / CloneDlg.cpp
index 382d3f4..abce075 100644 (file)
@@ -25,6 +25,7 @@ CCloneDlg::CCloneDlg(CWnd* pParent /*=NULL*/)
        m_strSVNTags = _T("tags");\r
        m_strSVNBranchs = _T("branches");\r
 \r
+       m_regBrowseUrl = CRegDWORD(_T("Software\\TortoiseGit\\TortoiseProc\\CloneBrowse"),0);\r
        m_nSVNFrom = 0;\r
 }\r
 \r
@@ -37,6 +38,7 @@ void CCloneDlg::DoDataExchange(CDataExchange* pDX)
        CResizableStandAloneDialog::DoDataExchange(pDX);\r
        DDX_Control(pDX, IDC_URLCOMBO, m_URLCombo);\r
     DDX_Control(pDX, IDC_PUTTYKEYFILE, m_PuttyKeyCombo);\r
+       DDX_Control(pDX, IDC_CLONE_BROWSE_URL, m_BrowseUrl);\r
        DDX_Text(pDX, IDC_CLONE_DIR, m_Directory);\r
     DDX_Check(pDX,IDC_PUTTYKEY_AUTOLOAD, m_bAutoloadPuttyKeyFile);\r
 \r
@@ -89,6 +91,10 @@ BOOL CCloneDlg::OnInitDialog()
        if(window)\r
                SHAutoComplete(window->m_hWnd, SHACF_FILESYSTEM);\r
 \r
+       this->m_BrowseUrl.AddEntry(CString(_T("Dir...")));\r
+       this->m_BrowseUrl.AddEntry(CString(_T("Web")));\r
+       m_BrowseUrl.SetCurrentEntry(m_regBrowseUrl);\r
+\r
     m_PuttyKeyCombo.SetPathHistory(TRUE);\r
     m_PuttyKeyCombo.LoadHistory(_T("Software\\TortoiseGit\\History\\puttykey"), _T("key"));\r
     m_PuttyKeyCombo.SetCurSel(0);\r
@@ -154,6 +160,18 @@ void CCloneDlg::OnBnClickedCloneBrowseUrl()
        CBrowseFolder browseFolder;\r
        browseFolder.m_style = BIF_EDITBOX | BIF_NEWDIALOGSTYLE | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;\r
        CString strCloneDirectory;\r
+\r
+       int sel = this->m_BrowseUrl.GetCurrentEntry();\r
+       this->m_regBrowseUrl = sel;\r
+\r
+       if( sel == 1 )\r
+       {\r
+               CString str;\r
+               m_URLCombo.GetWindowText(str);\r
+               ShellExecute(NULL, _T("open"), str, NULL,NULL, SW_SHOW);\r
+               return ;\r
+       }\r
+\r
        this->m_URLCombo.GetWindowTextW(strCloneDirectory);\r
        if (browseFolder.Show(GetSafeHwnd(), strCloneDirectory) == CBrowseFolder::OK) \r
        {\r