1 // CreateBranchTagDlg.cpp : implementation file
\r
5 #include "TortoiseProc.h"
\r
6 #include "CreateBranchTagDlg.h"
\r
8 #include "Messagebox.h"
\r
10 // CCreateBranchTagDlg dialog
\r
12 IMPLEMENT_DYNAMIC(CCreateBranchTagDlg, CResizableStandAloneDialog)
\r
14 CCreateBranchTagDlg::CCreateBranchTagDlg(CWnd* pParent /*=NULL*/)
\r
15 : CResizableStandAloneDialog(CCreateBranchTagDlg::IDD, pParent)
\r
20 CCreateBranchTagDlg::~CCreateBranchTagDlg()
\r
24 void CCreateBranchTagDlg::DoDataExchange(CDataExchange* pDX)
\r
26 CDialog::DoDataExchange(pDX);
\r
27 DDX_Control(pDX, IDC_COMBOBOXEX_BRANCH, this->m_Branch);
\r
28 DDX_Control(pDX, IDC_COMBOBOXEX_TAGS, this->m_Tags);
\r
29 DDX_Control(pDX, IDC_COMBOBOXEX_VERSION, this->m_Version);
\r
31 DDX_Text(pDX, IDC_BRANCH_TAG, this->m_BranchTagName);
\r
32 DDX_Check(pDX,IDC_CHECK_FORCE,this->m_bForce);
\r
33 DDX_Check(pDX,IDC_CHECK_TRACK,this->m_bTrack);
\r
38 BEGIN_MESSAGE_MAP(CCreateBranchTagDlg, CResizableStandAloneDialog)
\r
39 ON_BN_CLICKED(IDC_RADIO_HEAD, &CCreateBranchTagDlg::OnBnClickedRadio)
\r
40 ON_BN_CLICKED(IDC_RADIO_BRANCH, &CCreateBranchTagDlg::OnBnClickedRadio)
\r
41 ON_BN_CLICKED(IDC_RADIO_TAGS, &CCreateBranchTagDlg::OnBnClickedRadio)
\r
42 ON_BN_CLICKED(IDC_RADIO_VERSION, &CCreateBranchTagDlg::OnBnClickedRadio)
\r
43 ON_BN_CLICKED(IDOK, &CCreateBranchTagDlg::OnBnClickedOk)
\r
44 ON_CBN_SELCHANGE(IDC_COMBOBOXEX_BRANCH, &CCreateBranchTagDlg::OnCbnSelchangeComboboxexBranch)
\r
47 BOOL CCreateBranchTagDlg::OnInitDialog()
\r
49 CResizableStandAloneDialog::OnInitDialog();
\r
51 AddAnchor(IDC_COMBOBOXEX_BRANCH, TOP_LEFT, TOP_RIGHT);
\r
52 AddAnchor(IDC_COMBOBOXEX_TAGS, TOP_LEFT, TOP_RIGHT);
\r
53 AddAnchor(IDC_COMBOBOXEX_VERSION, TOP_LEFT, TOP_RIGHT);
\r
54 AddAnchor(IDC_GROUP_BASEON, TOP_LEFT, TOP_RIGHT);
\r
56 AddAnchor(IDC_GROUP_BRANCH, TOP_LEFT, TOP_RIGHT);
\r
58 AddAnchor(IDC_GROUP_OPTION, TOP_LEFT, TOP_RIGHT);
\r
60 AddAnchor(IDOK,BOTTOM_RIGHT);
\r
61 AddAnchor(IDCANCEL,BOTTOM_RIGHT);
\r
64 CheckRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION,IDC_RADIO_HEAD);
\r
67 g_Git.GetTagList(list);
\r
68 m_Tags.AddString(list);
\r
72 g_Git.GetBranchList(list,¤t,CGit::BRANCH_ALL);
\r
73 m_Branch.AddString(list);
\r
74 m_Branch.SetCurSel(current);
\r
76 m_Version.LoadHistory(_T("Software\\TortoiseGit\\History\\VersionHash"), _T("hash"));
\r
77 m_Version.SetCurSel(0);
\r
80 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r
84 this->SetWindowTextW(_T("Create Tag"));
\r
85 this->GetDlgItem(IDC_LABEL_BRANCH)->SetWindowTextW(_T("Tag"));
\r
89 this->SetWindowTextW(_T("Create Branch"));
\r
90 this->GetDlgItem(IDC_LABEL_BRANCH)->SetWindowTextW(_T("Branch"));
\r
97 // CCreateBranchTagDlg message handlers
\r
99 void CCreateBranchTagDlg::OnBnClickedRadio()
\r
101 // TODO: Add your control notification handler code here
\r
102 this->m_Branch.EnableWindow(FALSE);
\r
103 this->m_Tags.EnableWindow(FALSE);
\r
104 this->m_Version.EnableWindow(FALSE);
\r
105 int radio=GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);
\r
108 case IDC_RADIO_HEAD:
\r
110 case IDC_RADIO_BRANCH:
\r
111 this->m_Branch.EnableWindow(TRUE);
\r
113 case IDC_RADIO_TAGS:
\r
114 this->m_Tags.EnableWindow(TRUE);
\r
116 case IDC_RADIO_VERSION:
\r
117 this->m_Version.EnableWindow(TRUE);
\r
122 void CCreateBranchTagDlg::OnBnClickedOk()
\r
124 // TODO: Add your control notification handler code here
\r
125 this->UpdateData(TRUE);
\r
126 if(this->m_BranchTagName.Trim().IsEmpty())
\r
128 CMessageBox::Show(NULL,_T("Branch\Tag name can't empty"),_T("TortiseGit"),MB_OK);
\r
131 int radio=GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);
\r
134 case IDC_RADIO_HEAD:
\r
135 this->m_Base=_T("HEAD");
\r
137 case IDC_RADIO_BRANCH:
\r
138 this->m_Base=m_Branch.GetString();
\r
140 case IDC_RADIO_TAGS:
\r
141 this->m_Base=m_Tags.GetString();
\r
143 case IDC_RADIO_VERSION:
\r
144 this->m_Base=m_Version.GetString();
\r
147 this->m_Version.SaveHistory();
\r
151 void CCreateBranchTagDlg::OnCbnSelchangeComboboxexBranch()
\r
153 // TODO: Add your control notification handler code here
\r
155 if(this->m_Branch.GetString().Left(6)==_T("origin"))
\r
156 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(TRUE);
\r
158 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r
161 this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);
\r