1 // GitSwitch.cpp : implementation file
\r
6 #include "TortoiseProc.h"
\r
7 #include "GitSwitchDlg.h"
\r
10 #include "Messagebox.h"
\r
12 // CGitSwitchDlg dialog
\r
14 IMPLEMENT_DYNAMIC(CGitSwitchDlg, CResizableStandAloneDialog)
\r
16 CGitSwitchDlg::CGitSwitchDlg(CWnd* pParent /*=NULL*/)
\r
17 : CResizableStandAloneDialog(CGitSwitchDlg::IDD, pParent)
\r
18 ,CChooseVersion(this)
\r
25 CGitSwitchDlg::~CGitSwitchDlg()
\r
29 void CGitSwitchDlg::DoDataExchange(CDataExchange* pDX)
\r
31 CDialog::DoDataExchange(pDX);
\r
34 DDX_Check(pDX,IDC_CHECK_FORCE,this->m_bForce);
\r
35 DDX_Check(pDX,IDC_CHECK_TRACK,this->m_bTrack);
\r
36 DDX_Check(pDX,IDC_CHECK_BRANCH,this->m_bBranch);
\r
38 DDX_Text(pDX,IDC_EDIT_BRANCH,this->m_NewBranch);
\r
42 BEGIN_MESSAGE_MAP(CGitSwitchDlg, CResizableStandAloneDialog)
\r
44 CHOOSE_VERSION_EVENT
\r
45 ON_BN_CLICKED(IDC_CHECK_BRANCH, &CGitSwitchDlg::OnBnClickedCheckBranch)
\r
46 ON_BN_CLICKED(IDOK, &CGitSwitchDlg::OnBnClickedOk)
\r
47 ON_CBN_SELCHANGE(IDC_COMBOBOXEX_BRANCH, &CGitSwitchDlg::OnCbnSelchangeComboboxexBranch)
\r
50 BOOL CGitSwitchDlg::OnInitDialog()
\r
52 CResizableStandAloneDialog::OnInitDialog();
\r
54 AddAnchor(IDC_GROUP_OPTION, TOP_LEFT, TOP_RIGHT);
\r
56 AddAnchor(IDC_EDIT_BRANCH, TOP_LEFT, TOP_RIGHT);
\r
58 AddAnchor(IDOK,BOTTOM_RIGHT);
\r
59 AddAnchor(IDCANCEL,BOTTOM_RIGHT);
\r
61 CHOOSE_VERSION_ADDANCHOR;
\r
62 this->AddOthersToAnchor();
\r
64 EnableSaveRestore(_T("SwitchDlg"));
\r
68 if(m_Base.IsEmpty())
\r
69 SetDefaultChoose(IDC_RADIO_BRANCH);
\r
72 this->GetDlgItem(IDC_COMBOBOXEX_VERSION)->SetWindowTextW(m_Base);
\r
73 SetDefaultChoose(IDC_RADIO_VERSION);
\r
76 OnBnClickedCheckBranch();
\r
77 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r
83 // CCreateBranchTagDlg message handlers
\r
85 void CGitSwitchDlg::OnBnClickedChooseRadioHost()
\r
87 // TODO: Add your control notification handler code here
\r
88 OnBnClickedChooseRadio();
\r
89 OnCbnSelchangeComboboxexBranch();
\r
90 OnBnClickedCheckBranch();
\r
94 void CGitSwitchDlg::OnBnClickedShow()
\r
96 OnBnClickedChooseVersion();
\r
99 void CGitSwitchDlg::OnBnClickedOk()
\r
101 this->UpdateData(TRUE);
\r
103 // make sure a valid branch has been entered if a new branch is required
\r
104 if ( m_bBranch && ( m_NewBranch.Trim().IsEmpty() || m_NewBranch.Find(' ') >= 0 ) )
\r
106 // new branch requested but name is empty or contains spaces
\r
107 CMessageBox::Show(NULL, IDS_B_T_NOTEMPTY, IDS_TORTOISEGIT, MB_OK);
\r
111 UpdateRevsionName();
\r
112 //this->m_Version.SaveHistory();
\r
116 void CGitSwitchDlg::OnBnClickedCheckBranch()
\r
118 // TODO: Add your control notification handler code here
\r
119 this->UpdateData(TRUE);
\r
120 this->UpdateRevsionName();
\r
121 GetDlgItem(IDC_EDIT_BRANCH)->SetWindowTextW(CString(_T("Branch_"))+this->m_VersionName);
\r
124 int radio=GetCheckedRadioButton(IDC_RADIO_BRANCH,IDC_RADIO_VERSION);
\r
125 if(radio==IDC_RADIO_TAGS || radio==IDC_RADIO_VERSION)
\r
127 this->m_bBranch=TRUE;
\r
128 this->UpdateData(FALSE);
\r
129 this->UpdateRevsionName();
\r
133 this->m_bBranch=FALSE;
\r
134 this->UpdateData(FALSE);
\r
137 this->GetDlgItem(IDC_EDIT_BRANCH)->EnableWindow(this->m_bBranch);
\r
140 void CGitSwitchDlg::OnCbnSelchangeComboboxexBranch()
\r
142 // TODO: Add your control notification handler code here
\r
143 int radio=GetCheckedRadioButton(IDC_RADIO_BRANCH,IDC_RADIO_VERSION);
\r
144 if(this->m_ChooseVersioinBranch.GetString().Left(6)==_T("origin") && radio==IDC_RADIO_BRANCH )
\r
145 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(TRUE);
\r
147 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r