X-Git-Url: http://git.sourceforge.jp/view?p=tortoisegit%2FTortoiseGitJp.git;a=blobdiff_plain;f=src%2FTortoiseProc%2FPushDlg.cpp;h=e26b4621872a9b415d53550e402e2041d8fffa90;hp=7022c2adc03b9c497cc5a46a383e637922a76c25;hb=98c8df352f89bcd87f089c2bbcebb3b7bf9e0208;hpb=17ab043db88d865bd2c07a523260866fef140c91 diff --git a/src/TortoiseProc/PushDlg.cpp b/src/TortoiseProc/PushDlg.cpp index 7022c2a..e26b462 100644 --- a/src/TortoiseProc/PushDlg.cpp +++ b/src/TortoiseProc/PushDlg.cpp @@ -8,6 +8,7 @@ #include "Git.h" #include "registry.h" #include "AppUtils.h" +#include "BrowseRefsDlg.h" // CPushDlg dialog @@ -44,6 +45,8 @@ BEGIN_MESSAGE_MAP(CPushDlg, CResizableStandAloneDialog) ON_CBN_SELCHANGE(IDC_BRANCH_SOURCE, &CPushDlg::OnCbnSelchangeBranchSource) ON_BN_CLICKED(IDOK, &CPushDlg::OnBnClickedOk) ON_BN_CLICKED(IDC_REMOTE_MANAGE, &CPushDlg::OnBnClickedRemoteManage) + ON_BN_CLICKED(IDC_BUTTON_BROWSE_SOURCE_BRANCH, &CPushDlg::OnBnClickedButtonBrowseSourceBranch) + ON_BN_CLICKED(IDC_BUTTON_BROWSE_DEST_BRANCH, &CPushDlg::OnBnClickedButtonBrowseDestBranch) END_MESSAGE_MAP() BOOL CPushDlg::OnInitDialog() @@ -57,7 +60,9 @@ BOOL CPushDlg::OnInitDialog() AddAnchor(IDC_STATIC_SOURCE, TOP_LEFT); AddAnchor(IDC_BRANCH_REMOTE, TOP_RIGHT); + AddAnchor(IDC_BUTTON_BROWSE_DEST_BRANCH, TOP_RIGHT); AddAnchor(IDC_BRANCH_SOURCE, TOP_LEFT); + AddAnchor(IDC_BUTTON_BROWSE_SOURCE_BRANCH, TOP_LEFT); AddAnchor(IDC_URL_GROUP, TOP_LEFT,TOP_RIGHT); AddAnchor(IDC_RD_REMOTE, TOP_LEFT); @@ -185,3 +190,22 @@ void CPushDlg::OnBnClickedRemoteManage() // TODO: Add your control notification handler code here CAppUtils::LaunchRemoteSetting(); } + +void CPushDlg::OnBnClickedButtonBrowseSourceBranch() +{ + if(CBrowseRefsDlg::PickRefForCombo(&m_BranchSource, gPickRef_Head)) + OnCbnSelchangeBranchSource(); +} + +void CPushDlg::OnBnClickedButtonBrowseDestBranch() +{ + CString remoteBranchName; + m_BranchRemote.GetWindowText(remoteBranchName); + remoteBranchName = CBrowseRefsDlg::PickRef(false, remoteBranchName, gPickRef_Remote); + if(remoteBranchName.IsEmpty()) + return; //Canceled + remoteBranchName = remoteBranchName.Mid(13);//Strip 'refs/remotes/' + remoteBranchName = remoteBranchName.Mid(remoteBranchName.Find('/') + 1); //Strip remote name (for example 'origin/') + + m_BranchRemote.SetWindowText(remoteBranchName); +}