OSDN Git Service

Fixed issue #275: Load gitweb for 'Browse' button
authorFrank Li <lznuaa@gmail.com>
Tue, 19 Jan 2010 13:22:09 +0000 (21:22 +0800)
committerFrank Li <lznuaa@gmail.com>
Tue, 19 Jan 2010 13:22:09 +0000 (21:22 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/Resources/TortoiseProcENG.rc
src/TortoiseProc/CloneDlg.cpp
src/TortoiseProc/CloneDlg.h

index f3a4f51..e262a65 100644 (file)
Binary files a/src/Resources/TortoiseProcENG.rc and b/src/Resources/TortoiseProcENG.rc differ
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
index b5028cc..3704a23 100644 (file)
@@ -2,8 +2,8 @@
 \r
 #include "StandAloneDlg.h"\r
 #include "HistoryCombo.h"\r
-\r
-\r
+#include "MenuButton.h"\r
+#include "registry.h"\r
 \r
 // CCloneDlg dialog\r
 \r
@@ -50,6 +50,9 @@ public:
        CString m_strSVNBranchs;\r
        int m_nSVNFrom;\r
 \r
+       CMenuButton m_BrowseUrl;\r
+       CRegDWORD       m_regBrowseUrl;\r
+\r
     afx_msg void OnBnClickedPuttykeyfileBrowse();\r
     afx_msg void OnBnClickedPuttykeyAutoload();\r
        afx_msg void OnCbnSelchangeUrlcombo();\r