1 // PushDlg.cpp : implementation file
\r
5 #include "TortoiseProc.h"
\r
11 IMPLEMENT_DYNAMIC(CPushDlg, CResizableStandAloneDialog)
\r
13 CPushDlg::CPushDlg(CWnd* pParent /*=NULL*/)
\r
14 : CResizableStandAloneDialog(CPushDlg::IDD, pParent)
\r
19 CPushDlg::~CPushDlg()
\r
23 void CPushDlg::DoDataExchange(CDataExchange* pDX)
\r
25 CResizableStandAloneDialog::DoDataExchange(pDX);
\r
26 DDX_Control(pDX, IDC_BRANCH_REMOTE, this->m_BranchRemote);
\r
27 DDX_Control(pDX, IDC_BRANCH_SOURCE, this->m_BranchSource);
\r
28 DDX_Control(pDX, IDC_REMOTE, this->m_Remote);
\r
29 DDX_Control(pDX, IDC_URL, this->m_RemoteURL);
\r
30 DDX_Check(pDX,IDC_FORCE,this->m_bForce);
\r
31 DDX_Check(pDX,IDC_PACK,this->m_bPack);
\r
32 DDX_Check(pDX,IDC_TAGS,this->m_bTags);
\r
37 BEGIN_MESSAGE_MAP(CPushDlg, CResizableStandAloneDialog)
\r
38 ON_BN_CLICKED(IDC_RD_REMOTE, &CPushDlg::OnBnClickedRd)
\r
39 ON_BN_CLICKED(IDC_RD_URL, &CPushDlg::OnBnClickedRd)
\r
40 ON_CBN_SELCHANGE(IDC_BRANCH_SOURCE, &CPushDlg::OnCbnSelchangeBranchSource)
\r
41 ON_BN_CLICKED(IDOK, &CPushDlg::OnBnClickedOk)
\r
44 BOOL CPushDlg::OnInitDialog()
\r
46 CResizableStandAloneDialog::OnInitDialog();
\r
48 AddAnchor(IDOK,BOTTOM_RIGHT);
\r
49 AddAnchor(IDCANCEL,BOTTOM_RIGHT);
\r
50 AddAnchor(IDC_BRANCH_GROUP, TOP_LEFT,TOP_RIGHT);
\r
51 AddAnchor(IDC_STATIC_REMOTE, TOP_RIGHT);
\r
52 AddAnchor(IDC_STATIC_SOURCE, TOP_LEFT);
\r
54 AddAnchor(IDC_BRANCH_REMOTE, TOP_RIGHT);
\r
55 AddAnchor(IDC_BRANCH_SOURCE, TOP_LEFT);
\r
57 AddAnchor(IDC_URL_GROUP, TOP_LEFT,TOP_RIGHT);
\r
58 AddAnchor(IDC_RD_REMOTE, TOP_LEFT);
\r
59 AddAnchor(IDC_RD_URL, TOP_LEFT);
\r
61 AddAnchor(IDC_REMOTE, TOP_LEFT, TOP_RIGHT);
\r
63 AddAnchor(IDC_URL, TOP_LEFT,TOP_RIGHT);
\r
65 AddAnchor(IDC_OPTION_GROUP, TOP_LEFT,TOP_RIGHT);
\r
67 AddAnchor(IDC_FORCE, TOP_LEFT);
\r
68 AddAnchor(IDC_PACK, TOP_LEFT);
\r
69 AddAnchor(IDC_TAGS, TOP_LEFT);
\r
72 AddOthersToAnchor();
\r
75 EnableSaveRestore(_T("PushDlg"));
\r
77 m_RemoteURL.SetURLHistory(TRUE);
\r
79 CString WorkingDir=g_Git.m_CurrentDir;
\r
80 WorkingDir.Replace(_T(':'),_T('_'));
\r
81 m_RemoteURL.LoadHistory(CString(_T("Software\\TortoiseGit\\History\\PushURLS\\"))+WorkingDir, _T("url"));
\r
82 m_RemoteURL.SetCurSel(0);
\r
84 m_RemoteURL.EnableWindow(FALSE);
\r
85 CheckRadioButton(IDC_RD_REMOTE,IDC_RD_URL,IDC_RD_REMOTE);
\r
89 if(!g_Git.GetRemoteList(list))
\r
91 for(unsigned int i=0;i<list.size();i++)
\r
92 m_Remote.AddString(list[i]);
\r
97 if(!g_Git.GetBranchList(list,¤t))
\r
99 for(unsigned int i=0;i<list.size();i++)
\r
100 m_BranchSource.AddString(list[i]);
\r
102 m_BranchSource.SetCurSel(current);
\r
104 m_BranchRemote.LoadHistory(CString(_T("Software\\TortoiseGit\\History\\RemoteBranch\\"))+WorkingDir, _T("branch"));
\r
105 m_BranchRemote.SetCurSel(0);
\r
107 //m_BranchRemote.SetWindowTextW(m_BranchSource.GetString());
\r
113 // CPushDlg message handlers
\r
115 void CPushDlg::OnBnClickedRd()
\r
117 // TODO: Add your control notification handler code here
\r
118 // TODO: Add your control notification handler code here
\r
119 if( GetCheckedRadioButton(IDC_RD_REMOTE,IDC_RD_URL) == IDC_RD_REMOTE)
\r
121 m_Remote.EnableWindow(TRUE);
\r
122 m_RemoteURL.EnableWindow(FALSE);;
\r
124 if( GetCheckedRadioButton(IDC_RD_REMOTE,IDC_RD_URL) == IDC_RD_URL)
\r
126 m_Remote.EnableWindow(FALSE);
\r
127 m_RemoteURL.EnableWindow(TRUE);
\r
132 void CPushDlg::OnCbnSelchangeBranchSource()
\r
134 // TODO: Add your control notification handler code here
\r
135 m_BranchRemote.SetWindowTextW(m_BranchSource.GetString());
\r
138 void CPushDlg::OnBnClickedOk()
\r
140 // TODO: Add your control notification handler code here
\r
141 CResizableStandAloneDialog::UpdateData(TRUE);
\r
143 if( GetCheckedRadioButton(IDC_RD_REMOTE,IDC_RD_URL) == IDC_RD_REMOTE)
\r
145 m_URL=m_Remote.GetString();
\r
147 if( GetCheckedRadioButton(IDC_RD_REMOTE,IDC_RD_URL) == IDC_RD_URL)
\r
149 m_URL=m_RemoteURL.GetString();
\r
152 this->m_BranchRemoteName=m_BranchRemote.GetString();
\r
153 this->m_BranchSourceName=m_BranchSource.GetString();
\r
155 this->m_RemoteURL.SaveHistory();
\r
156 this->m_BranchRemote.SaveHistory();
\r
157 CResizableStandAloneDialog::OnOK();
\r