X-Git-Url: http://git.sourceforge.jp/view?p=tortoisegit%2FTortoiseGitJp.git;a=blobdiff_plain;f=src%2FTortoiseProc%2FPushDlg.cpp;h=7022c2adc03b9c497cc5a46a383e637922a76c25;hp=6330e5535b1467231efb1cd4f4356e31d654ebca;hb=f8b0ff564fd434dfe5ae8d617ca12f70b3765dcf;hpb=c2b697d506749ce1b0acceb350d29aa357402585 diff --git a/src/TortoiseProc/PushDlg.cpp b/src/TortoiseProc/PushDlg.cpp index 6330e55..7022c2a 100644 --- a/src/TortoiseProc/PushDlg.cpp +++ b/src/TortoiseProc/PushDlg.cpp @@ -6,6 +6,9 @@ #include "PushDlg.h" #include "Git.h" +#include "registry.h" +#include "AppUtils.h" + // CPushDlg dialog IMPLEMENT_DYNAMIC(CPushDlg, CResizableStandAloneDialog) @@ -13,7 +16,7 @@ IMPLEMENT_DYNAMIC(CPushDlg, CResizableStandAloneDialog) CPushDlg::CPushDlg(CWnd* pParent /*=NULL*/) : CResizableStandAloneDialog(CPushDlg::IDD, pParent) { - + m_bAutoLoad = CAppUtils::IsSSHPutty(); } CPushDlg::~CPushDlg() @@ -30,6 +33,7 @@ void CPushDlg::DoDataExchange(CDataExchange* pDX) DDX_Check(pDX,IDC_FORCE,this->m_bForce); DDX_Check(pDX,IDC_PACK,this->m_bPack); DDX_Check(pDX,IDC_TAGS,this->m_bTags); + DDX_Check(pDX,IDC_PUTTYKEY_AUTOLOAD,this->m_bAutoLoad); } @@ -39,62 +43,90 @@ BEGIN_MESSAGE_MAP(CPushDlg, CResizableStandAloneDialog) ON_BN_CLICKED(IDC_RD_URL, &CPushDlg::OnBnClickedRd) ON_CBN_SELCHANGE(IDC_BRANCH_SOURCE, &CPushDlg::OnCbnSelchangeBranchSource) ON_BN_CLICKED(IDOK, &CPushDlg::OnBnClickedOk) + ON_BN_CLICKED(IDC_REMOTE_MANAGE, &CPushDlg::OnBnClickedRemoteManage) END_MESSAGE_MAP() BOOL CPushDlg::OnInitDialog() { CResizableStandAloneDialog::OnInitDialog(); + + AddAnchor(IDOK,BOTTOM_RIGHT); + AddAnchor(IDCANCEL,BOTTOM_RIGHT); + AddAnchor(IDC_BRANCH_GROUP, TOP_LEFT,TOP_RIGHT); + AddAnchor(IDC_STATIC_REMOTE, TOP_RIGHT); + AddAnchor(IDC_STATIC_SOURCE, TOP_LEFT); + AddAnchor(IDC_BRANCH_REMOTE, TOP_RIGHT); AddAnchor(IDC_BRANCH_SOURCE, TOP_LEFT); + AddAnchor(IDC_URL_GROUP, TOP_LEFT,TOP_RIGHT); + AddAnchor(IDC_RD_REMOTE, TOP_LEFT); + AddAnchor(IDC_RD_URL, TOP_LEFT); + AddAnchor(IDC_REMOTE, TOP_LEFT, TOP_RIGHT); + AddAnchor(IDC_URL, TOP_LEFT,TOP_RIGHT); - AddAnchor(IDC_URL_GROUP, TOP_LEFT,TOP_RIGHT); AddAnchor(IDC_OPTION_GROUP, TOP_LEFT,TOP_RIGHT); - AddAnchor(IDC_BRANCH_GROUP, TOP_LEFT,TOP_RIGHT); + + AddAnchor(IDC_FORCE, TOP_LEFT); + AddAnchor(IDC_PACK, TOP_LEFT); + AddAnchor(IDC_TAGS, TOP_LEFT); + AddAnchor(IDC_PUTTYKEY_AUTOLOAD,TOP_LEFT); - AddAnchor(IDC_STATIC_REMOTE, TOP_RIGHT); + AddAnchor(IDC_REMOTE_MANAGE,TOP_RIGHT); - AddAnchor(IDOK,BOTTOM_RIGHT); - AddAnchor(IDCANCEL,BOTTOM_RIGHT); + AddOthersToAnchor(); - m_RemoteURL.SetURLHistory(TRUE); - m_RemoteURL.LoadHistory(_T("Software\\TortoiseGit\\History\\PushURLS"), _T("url")); - m_RemoteURL.SetCurSel(0); + this->GetDlgItem(IDC_PUTTYKEY_AUTOLOAD)->EnableWindow(m_bAutoLoad); + + EnableSaveRestore(_T("PushDlg")); + m_RemoteURL.SetURLHistory(TRUE); + + CString WorkingDir=g_Git.m_CurrentDir; + WorkingDir.Replace(_T(':'),_T('_')); + m_RemoteURL.LoadHistory(CString(_T("Software\\TortoiseGit\\History\\PushURLS\\"))+WorkingDir, _T("url")); + CString clippath=CAppUtils::GetClipboardLink(); + if(clippath.IsEmpty()) + m_RemoteURL.SetCurSel(0); + else + m_RemoteURL.SetWindowText(clippath); m_RemoteURL.EnableWindow(FALSE); CheckRadioButton(IDC_RD_REMOTE,IDC_RD_URL,IDC_RD_REMOTE); - CStringList list; + STRING_VECTOR list; + CRegString remote(CString(_T("Software\\TortoiseGit\\History\\PushRemote\\")+WorkingDir)); + m_RemoteReg = remote; + int sel=0; if(!g_Git.GetRemoteList(list)) { - POSITION pos; - pos=list.GetHeadPosition(); - while(pos) + for(unsigned int i=0;im_RemoteURL.SaveHistory(); this->m_BranchRemote.SaveHistory(); + + m_RemoteReg = m_Remote.GetString(); + CResizableStandAloneDialog::OnOK(); } + +void CPushDlg::OnBnClickedRemoteManage() +{ + // TODO: Add your control notification handler code here + CAppUtils::LaunchRemoteSetting(); +}