OSDN Git Service

Fixed Issue #203: Remote URL select box in sync dialog is not populated with remotes.
authorFrank Li <lznuaa@gmail.com>
Wed, 21 Oct 2009 04:45:20 +0000 (12:45 +0800)
committerFrank Li <lznuaa@gmail.com>
Wed, 21 Oct 2009 04:45:20 +0000 (12:45 +0800)
Signed-off-by: Frank Li <lznuaa@gmail.com>
src/TortoiseProc/BranchCombox.h
src/TortoiseProc/SyncDlg.cpp
src/TortoiseProc/SyncDlg.h

index 14b1015..fd0ded8 100644 (file)
@@ -53,7 +53,11 @@ protected:
                }\r
                else if(!pullBranch.IsEmpty())\r
                {\r
-                       m_ctrlRemoteBranch.AddString(pullBranch);\r
+                       int index=m_ctrlRemoteBranch.FindStringExact(0,pullBranch);\r
+                       if( index<0 )\r
+                               m_ctrlRemoteBranch.AddString(pullBranch);\r
+                       else\r
+                               m_ctrlRemoteBranch.SetCurSel(index);\r
                }\r
                //else if(!this->m_RegKeyRemoteBranch.IsEmpty())\r
                else\r
index 1ab41f8..3d9445d 100644 (file)
@@ -657,7 +657,16 @@ BOOL CSyncDlg::OnInitDialog()
        EnableSaveRestore(_T("SyncDlg"));\r
 \r
        this->m_ctrlURL.LoadHistory(CString(_T("Software\\TortoiseGit\\History\\SyncURL\\"))+WorkingDir, _T("url"));\r
-               \r
+\r
+       STRING_VECTOR list;\r
+       \r
+       if(!g_Git.GetRemoteList(list))\r
+       {       \r
+               for(unsigned int i=0;i<list.size();i++)\r
+               {\r
+                       m_ctrlURL.AddString(list[i]);\r
+               }\r
+       }       \r
        m_ctrlURL.SetCurSel(0);\r
        m_ctrlRemoteBranch.SetCurSel(0);\r
 \r
index 6aa205b..525a40e 100644 (file)
@@ -105,6 +105,8 @@ protected:
        {\r
                if(!remote.IsEmpty())\r
                {\r
+                       if(this->m_ctrlURL.FindStringExact(0,remote)>=0)\r
+                               return;\r
                        this->m_ctrlURL.AddString(remote);\r
                }\r
        }\r