OSDN Git Service

Fix setup will launch old version msi to remove old version.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / PushDlg.cpp
index 4aa0418..7022c2a 100644 (file)
@@ -7,6 +7,8 @@
 \r
 #include "Git.h"\r
 #include "registry.h"\r
+#include "AppUtils.h"\r
+\r
 // CPushDlg dialog\r
 \r
 IMPLEMENT_DYNAMIC(CPushDlg, CResizableStandAloneDialog)\r
@@ -14,7 +16,7 @@ IMPLEMENT_DYNAMIC(CPushDlg, CResizableStandAloneDialog)
 CPushDlg::CPushDlg(CWnd* pParent /*=NULL*/)\r
        : CResizableStandAloneDialog(CPushDlg::IDD, pParent)\r
 {\r
-\r
+    m_bAutoLoad = CAppUtils::IsSSHPutty();\r
 }\r
 \r
 CPushDlg::~CPushDlg()\r
@@ -31,6 +33,7 @@ void CPushDlg::DoDataExchange(CDataExchange* pDX)
        DDX_Check(pDX,IDC_FORCE,this->m_bForce);\r
        DDX_Check(pDX,IDC_PACK,this->m_bPack);\r
        DDX_Check(pDX,IDC_TAGS,this->m_bTags);\r
+    DDX_Check(pDX,IDC_PUTTYKEY_AUTOLOAD,this->m_bAutoLoad);\r
 \r
 }\r
 \r
@@ -40,6 +43,7 @@ BEGIN_MESSAGE_MAP(CPushDlg, CResizableStandAloneDialog)
        ON_BN_CLICKED(IDC_RD_URL, &CPushDlg::OnBnClickedRd)\r
        ON_CBN_SELCHANGE(IDC_BRANCH_SOURCE, &CPushDlg::OnCbnSelchangeBranchSource)\r
        ON_BN_CLICKED(IDOK, &CPushDlg::OnBnClickedOk)\r
+    ON_BN_CLICKED(IDC_REMOTE_MANAGE, &CPushDlg::OnBnClickedRemoteManage)\r
 END_MESSAGE_MAP()\r
 \r
 BOOL CPushDlg::OnInitDialog()\r
@@ -68,10 +72,13 @@ BOOL CPushDlg::OnInitDialog()
        AddAnchor(IDC_FORCE, TOP_LEFT);\r
        AddAnchor(IDC_PACK, TOP_LEFT);\r
        AddAnchor(IDC_TAGS, TOP_LEFT);\r
+    AddAnchor(IDC_PUTTYKEY_AUTOLOAD,TOP_LEFT);\r
 \r
+    AddAnchor(IDC_REMOTE_MANAGE,TOP_RIGHT);\r
 \r
        AddOthersToAnchor();\r
 \r
+    this->GetDlgItem(IDC_PUTTYKEY_AUTOLOAD)->EnableWindow(m_bAutoLoad);\r
 \r
        EnableSaveRestore(_T("PushDlg"));\r
 \r
@@ -80,7 +87,11 @@ BOOL CPushDlg::OnInitDialog()
        CString WorkingDir=g_Git.m_CurrentDir;\r
        WorkingDir.Replace(_T(':'),_T('_'));\r
        m_RemoteURL.LoadHistory(CString(_T("Software\\TortoiseGit\\History\\PushURLS\\"))+WorkingDir, _T("url"));\r
-       m_RemoteURL.SetCurSel(0);\r
+       CString clippath=CAppUtils::GetClipboardLink();\r
+       if(clippath.IsEmpty())\r
+               m_RemoteURL.SetCurSel(0);\r
+       else\r
+               m_RemoteURL.SetWindowText(clippath);\r
 \r
        m_RemoteURL.EnableWindow(FALSE);\r
        CheckRadioButton(IDC_RD_REMOTE,IDC_RD_URL,IDC_RD_REMOTE);\r
@@ -168,3 +179,9 @@ void CPushDlg::OnBnClickedOk()
 \r
        CResizableStandAloneDialog::OnOK();\r
 }\r
+\r
+void CPushDlg::OnBnClickedRemoteManage()\r
+{\r
+    // TODO: Add your control notification handler code here\r
+    CAppUtils::LaunchRemoteSetting();\r
+}\r