1 // CreateBranchTagDlg.cpp : implementation file
\r
6 #include "TortoiseProc.h"
\r
7 #include "CreateBranchTagDlg.h"
\r
9 #include "Messagebox.h"
\r
11 // CCreateBranchTagDlg dialog
\r
13 IMPLEMENT_DYNAMIC(CCreateBranchTagDlg, CResizableStandAloneDialog)
\r
15 CCreateBranchTagDlg::CCreateBranchTagDlg(CWnd* pParent /*=NULL*/)
\r
16 : CResizableStandAloneDialog(CCreateBranchTagDlg::IDD, pParent),
\r
17 CChooseVersion(this)
\r
20 m_bSwitch = 0; // default switch to checkbox not selected
\r
24 CCreateBranchTagDlg::~CCreateBranchTagDlg()
\r
28 void CCreateBranchTagDlg::DoDataExchange(CDataExchange* pDX)
\r
30 CDialog::DoDataExchange(pDX);
\r
34 DDX_Text(pDX, IDC_BRANCH_TAG, this->m_BranchTagName);
\r
35 DDX_Check(pDX,IDC_CHECK_FORCE,this->m_bForce);
\r
36 DDX_Check(pDX,IDC_CHECK_TRACK,this->m_bTrack);
\r
37 DDX_Check(pDX,IDC_CHECK_SWITCH,this->m_bSwitch);
\r
42 BEGIN_MESSAGE_MAP(CCreateBranchTagDlg, CResizableStandAloneDialog)
\r
43 CHOOSE_VERSION_EVENT
\r
44 ON_BN_CLICKED(IDOK, &CCreateBranchTagDlg::OnBnClickedOk)
\r
45 ON_CBN_SELCHANGE(IDC_COMBOBOXEX_BRANCH, &CCreateBranchTagDlg::OnCbnSelchangeComboboxexBranch)
\r
46 // ON_BN_CLICKED(IDC_BUTTON_BROWSE_REF, &CCreateBranchTagDlg::OnBnClickedButtonBrowseRef)
\r
49 BOOL CCreateBranchTagDlg::OnInitDialog()
\r
51 CResizableStandAloneDialog::OnInitDialog();
\r
53 CHOOSE_VERSION_ADDANCHOR;
\r
55 AddAnchor(IDC_GROUP_BRANCH, TOP_LEFT, TOP_RIGHT);
\r
57 AddAnchor(IDC_GROUP_OPTION, TOP_LEFT, TOP_RIGHT);
\r
59 AddAnchor(IDOK,BOTTOM_RIGHT);
\r
60 AddAnchor(IDCANCEL,BOTTOM_RIGHT);
\r
61 AddAnchor(IDHELP, BOTTOM_RIGHT);
\r
63 this->AddOthersToAnchor();
\r
65 if(m_Base.IsEmpty())
\r
67 this->SetDefaultChoose(IDC_RADIO_HEAD);
\r
71 this->SetDefaultChoose(IDC_RADIO_VERSION);
\r
72 this->GetDlgItem(IDC_COMBOBOXEX_VERSION)->SetWindowTextW(m_Base);
\r
77 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r
81 this->SetWindowTextW(_T("Create Tag"));
\r
82 this->GetDlgItem(IDC_LABEL_BRANCH)->SetWindowTextW(_T("Tag"));
\r
86 this->SetWindowTextW(_T("Create Branch"));
\r
87 this->GetDlgItem(IDC_LABEL_BRANCH)->SetWindowTextW(_T("Branch"));
\r
89 // show the switch checkbox if we are a create branch dialog
\r
90 this->GetDlgItem(IDC_CHECK_SWITCH)->ShowWindow( !m_bIsTag );
\r
91 CWnd* pHead = GetDlgItem(IDC_RADIO_HEAD);
\r
93 pHead->GetWindowText( HeadText );
\r
94 pHead->SetWindowText( HeadText + " (" + g_Git.GetCurrentBranch() + ")");
\r
95 EnableSaveRestore(_T("BranchTagDlg"));
\r
97 OnCbnSelchangeComboboxexBranch();
\r
102 // CCreateBranchTagDlg message handlers
\r
104 void CCreateBranchTagDlg::OnBnClickedOk()
\r
106 // TODO: Add your control notification handler code here
\r
107 this->UpdateData(TRUE);
\r
109 this->m_BranchTagName.Trim();
\r
110 if(this->m_BranchTagName.IsEmpty() || this->m_BranchTagName.Find(' ') >= 0 )
\r
112 CMessageBox::Show(NULL, IDS_B_T_NOTEMPTY, IDS_TORTOISEGIT, MB_OK);
\r
115 this->UpdateRevsionName();
\r
119 void CCreateBranchTagDlg::OnCbnSelchangeComboboxexBranch()
\r
121 // TODO: Add your control notification handler code here
\r
123 if(this->m_ChooseVersioinBranch.GetString().Left(8)==_T("remotes/"))
\r
124 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(TRUE);
\r
126 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r
129 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r
132 void CCreateBranchTagDlg::OnVersionChanged()
\r
134 int radio=GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);
\r
135 if (radio == IDC_RADIO_BRANCH)
\r
136 OnCbnSelchangeComboboxexBranch();
\r
138 GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r