OSDN Git Service

Use Shared Choose Version code
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / MergeDlg.cpp
index 0d9d646..c9481c7 100644 (file)
@@ -2,17 +2,20 @@
 //\r
 \r
 #include "stdafx.h"\r
+\r
+#include "Git.h"\r
 #include "TortoiseProc.h"\r
 #include "MergeDlg.h"\r
 \r
-#include "Git.h"\r
+\r
 #include "Messagebox.h"\r
 // CMergeDlg dialog\r
 \r
 IMPLEMENT_DYNAMIC(CMergeDlg, CResizableStandAloneDialog)\r
 \r
 CMergeDlg::CMergeDlg(CWnd* pParent /*=NULL*/)\r
-       : CResizableStandAloneDialog(CMergeDlg::IDD, pParent)\r
+       : CResizableStandAloneDialog(CMergeDlg::IDD, pParent),\r
+       CChooseVersion(this)\r
 {\r
 \r
 }\r
@@ -24,9 +27,8 @@ CMergeDlg::~CMergeDlg()
 void CMergeDlg::DoDataExchange(CDataExchange* pDX)\r
 {\r
        CDialog::DoDataExchange(pDX);\r
-       DDX_Control(pDX, IDC_COMBOBOXEX_BRANCH, this->m_Branch);\r
-       DDX_Control(pDX, IDC_COMBOBOXEX_TAGS, this->m_Tags);\r
-       DDX_Control(pDX, IDC_COMBOBOXEX_VERSION, this->m_Version);\r
+\r
+       CHOOSE_VERSION_DDX;\r
 \r
        DDX_Check(pDX,IDC_CHECK_NOFF,this->m_bNoFF);\r
        DDX_Check(pDX,IDC_CHECK_SQUASH,this->m_bSquash);\r
@@ -34,9 +36,7 @@ void CMergeDlg::DoDataExchange(CDataExchange* pDX)
 \r
 \r
 BEGIN_MESSAGE_MAP(CMergeDlg, CResizableStandAloneDialog)\r
-       ON_BN_CLICKED(IDC_RADIO_BRANCH, &CMergeDlg::OnBnClickedRadio)\r
-       ON_BN_CLICKED(IDC_RADIO_TAGS, &CMergeDlg::OnBnClickedRadio)\r
-       ON_BN_CLICKED(IDC_RADIO_VERSION, &CMergeDlg::OnBnClickedRadio)\r
+       CHOOSE_VERSION_EVENT\r
        ON_BN_CLICKED(IDOK, &CMergeDlg::OnBnClickedOk)\r
 END_MESSAGE_MAP()\r
 \r
@@ -45,14 +45,11 @@ BOOL CMergeDlg::OnInitDialog()
 {\r
        CResizableStandAloneDialog::OnInitDialog();\r
 \r
-       AddAnchor(IDC_COMBOBOXEX_BRANCH, TOP_LEFT, TOP_RIGHT);\r
-       AddAnchor(IDC_COMBOBOXEX_TAGS, TOP_LEFT, TOP_RIGHT);\r
-       AddAnchor(IDC_COMBOBOXEX_VERSION, TOP_LEFT, TOP_RIGHT);\r
 \r
-       AddAnchor(IDC_GROUP_BASEON, TOP_LEFT, TOP_RIGHT);\r
+       CHOOSE_VERSION_ADDANCHOR;\r
+\r
        AddAnchor(IDC_GROUP_OPTION, TOP_LEFT, TOP_RIGHT);\r
 \r
-       AddAnchor(IDC_BUTTON_SHOW, TOP_RIGHT);\r
        \r
        AddAnchor(IDOK,BOTTOM_RIGHT);\r
        AddAnchor(IDCANCEL,BOTTOM_RIGHT);\r
@@ -60,71 +57,22 @@ BOOL CMergeDlg::OnInitDialog()
 \r
        CheckRadioButton(IDC_RADIO_BRANCH,IDC_RADIO_VERSION,IDC_RADIO_BRANCH);\r
 \r
-       CStringList list;\r
-       g_Git.GetTagList(list);\r
-       m_Tags.AddString(list);\r
-\r
-       list.RemoveAll();\r
-       int current;\r
-       g_Git.GetBranchList(list,&current,CGit::BRANCH_ALL);\r
-       m_Branch.AddString(list);\r
-       //m_Branch.SetCurSel(current);\r
-\r
-       m_Version.LoadHistory(_T("Software\\TortoiseGit\\History\\VersionHash"), _T("hash"));\r
-       m_Version.SetCurSel(0);\r
+       Init();\r
+       \r
+       this->SetDefaultChoose(IDC_RADIO_BRANCH);\r
 \r
-       OnBnClickedRadio();\r
-                       \r
        return TRUE;\r
 }\r
 \r
 // CMergeDlg message handlers\r
 \r
-void CMergeDlg::OnBnClickedRadio()\r
-{\r
-       // TODO: Add your control notification handler code here\r
-       this->m_Branch.EnableWindow(FALSE);\r
-       this->m_Tags.EnableWindow(FALSE);\r
-       this->m_Version.EnableWindow(FALSE);\r
-       int radio=GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);\r
-       switch (radio)\r
-       {\r
-       case IDC_RADIO_BRANCH:\r
-               this->m_Branch.EnableWindow(TRUE);\r
-               break;\r
-       case IDC_RADIO_TAGS:\r
-               this->m_Tags.EnableWindow(TRUE);\r
-               break;\r
-       case IDC_RADIO_VERSION:\r
-               this->m_Version.EnableWindow(TRUE);\r
-               break;\r
-       }\r
-}\r
 \r
 void CMergeDlg::OnBnClickedOk()\r
 {\r
        // TODO: Add your control notification handler code here\r
        this->UpdateData(TRUE);\r
        \r
-       int radio=GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);\r
-       switch (radio)\r
-       {\r
-       case IDC_RADIO_BRANCH:\r
-               this->m_Base=m_Branch.GetString();\r
-               break;\r
-       case IDC_RADIO_TAGS:\r
-               this->m_Base=m_Tags.GetString();\r
-               break;\r
-       case IDC_RADIO_VERSION:\r
-               this->m_Base=m_Version.GetString();\r
-               break;\r
-       }\r
-\r
-       if(m_Base.Trim().IsEmpty())\r
-       {\r
-               CMessageBox::Show(NULL,_T("You must choose source"),_T("TortiseGit"),MB_OK);\r
-               return;\r
-       }\r
-       this->m_Version.SaveHistory();\r
+       this->UpdateRevsionName();\r
+\r
        OnOK();\r
 }\r