OSDN Git Service

Add launch rebase option at fetch dialog.
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / PullFetchDlg.cpp
index 92ff743..16805de 100644 (file)
 IMPLEMENT_DYNAMIC(CPullFetchDlg, CResizableStandAloneDialog)\r
 \r
 CPullFetchDlg::CPullFetchDlg(CWnd* pParent /*=NULL*/)\r
-       : CResizableStandAloneDialog(CPullFetchDlg::IDD, pParent),\r
-         m_bRebase(false)\r
+       : CResizableStandAloneDialog(CPullFetchDlg::IDD, pParent)\r
 {\r
        m_IsPull=TRUE;\r
     m_bAutoLoad = CAppUtils::IsSSHPutty();\r
     m_bAutoLoadEnable=true;\r
+       m_regRebase = false;\r
 }\r
 \r
 CPullFetchDlg::~CPullFetchDlg()\r
@@ -61,6 +61,17 @@ BOOL CPullFetchDlg::OnInitDialog()
     AddAnchor(IDC_REMOTE_MANAGE,BOTTOM_LEFT);\r
        AddAnchor(IDHELP, BOTTOM_RIGHT);\r
 \r
+       CString WorkingDir=g_Git.m_CurrentDir;\r
+       WorkingDir.Replace(_T(':'),_T('_'));\r
+\r
+       CString regkey ;\r
+       regkey.Format(_T("Software\\TortoiseGit\\TortoiseProc\\PullFetch\\%s_%d\\rebase"),WorkingDir,this->m_IsPull);\r
+       m_regRebase=CRegDWORD(regkey,false);\r
+\r
+       this->m_bRebase = m_regRebase;\r
+\r
+       this->UpdateData(FALSE);\r
+\r
     this->AddOthersToAnchor();\r
 \r
     this->GetDlgItem(IDC_PUTTYKEY_AUTOLOAD)->EnableWindow(m_bAutoLoadEnable);\r
@@ -71,8 +82,7 @@ BOOL CPullFetchDlg::OnInitDialog()
        if(!m_IsPull)\r
                m_RemoteBranch.EnableWindow(FALSE);\r
 \r
-//     if(!m_IsPull)\r
-               //Todo: implement rebase option sometime with rebase dialog\r
+       if(m_IsPull)\r
                GetDlgItem(IDC_CHECK_REBASE)->ShowWindow(SW_HIDE);\r
 \r
        m_Other.SetURLHistory(TRUE);\r
@@ -86,8 +96,6 @@ BOOL CPullFetchDlg::OnInitDialog()
        m_RemoteBranch.LoadHistory(_T("Software\\TortoiseGit\\History\\PullRemoteBranch"), _T("br"));\r
        m_RemoteBranch.SetCurSel(0);\r
 \r
-       CString WorkingDir=g_Git.m_CurrentDir;\r
-\r
        if(m_IsPull)\r
                this->SetWindowTextW(CString(_T("Pull - "))+WorkingDir);\r
        else\r
@@ -154,6 +162,7 @@ void CPullFetchDlg::OnBnClickedRd()
 \r
 void CPullFetchDlg::OnBnClickedOk()\r
 {\r
+       this->UpdateData();\r
        // TODO: Add your control notification handler code here\r
        if( GetCheckedRadioButton(IDC_REMOTE_RD,IDC_OTHER_RD) == IDC_REMOTE_RD)\r
        {\r
@@ -173,11 +182,13 @@ void CPullFetchDlg::OnBnClickedOk()
                m_RemoteBranchName=m_RemoteBranch.GetString();\r
                \r
        }\r
-\r
+       \r
        m_RemoteReg = m_Remote.GetString();\r
 \r
        m_Other.SaveHistory();\r
        m_RemoteBranch.SaveHistory();\r
+       this->m_regRebase=this->m_bRebase;\r
+\r
        this->OnOK();\r
 }\r
 \r