OSDN Git Service

Merge Git book to Help document
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / CreateBranchTagDlg.cpp
index 353fbd2..54ccdbc 100644 (file)
@@ -17,6 +17,8 @@ CCreateBranchTagDlg::CCreateBranchTagDlg(CWnd* pParent /*=NULL*/)
        CChooseVersion(this)\r
 {\r
        m_bIsTag=0;\r
+       m_bSwitch = 0;  // default switch to checkbox not selected\r
+       m_bTrack=0;\r
 }\r
 \r
 CCreateBranchTagDlg::~CCreateBranchTagDlg()\r
@@ -32,6 +34,7 @@ void CCreateBranchTagDlg::DoDataExchange(CDataExchange* pDX)
        DDX_Text(pDX, IDC_BRANCH_TAG, this->m_BranchTagName);\r
        DDX_Check(pDX,IDC_CHECK_FORCE,this->m_bForce);\r
        DDX_Check(pDX,IDC_CHECK_TRACK,this->m_bTrack);\r
+       DDX_Check(pDX,IDC_CHECK_SWITCH,this->m_bSwitch);\r
 \r
 }\r
 \r
@@ -40,6 +43,7 @@ BEGIN_MESSAGE_MAP(CCreateBranchTagDlg, CResizableStandAloneDialog)
        CHOOSE_VERSION_EVENT\r
        ON_BN_CLICKED(IDOK, &CCreateBranchTagDlg::OnBnClickedOk)\r
        ON_CBN_SELCHANGE(IDC_COMBOBOXEX_BRANCH, &CCreateBranchTagDlg::OnCbnSelchangeComboboxexBranch)\r
+//     ON_BN_CLICKED(IDC_BUTTON_BROWSE_REF, &CCreateBranchTagDlg::OnBnClickedButtonBrowseRef)\r
 END_MESSAGE_MAP()\r
 \r
 BOOL CCreateBranchTagDlg::OnInitDialog()\r
@@ -55,8 +59,18 @@ BOOL CCreateBranchTagDlg::OnInitDialog()
        AddAnchor(IDOK,BOTTOM_RIGHT);\r
        AddAnchor(IDCANCEL,BOTTOM_RIGHT);\r
 \r
+       this->AddOthersToAnchor();\r
+\r
+       if(m_Base.IsEmpty())\r
+       {\r
+               this->SetDefaultChoose(IDC_RADIO_HEAD);\r
+       \r
+       }else\r
+       {\r
+               this->SetDefaultChoose(IDC_RADIO_VERSION);\r
+               this->GetDlgItem(IDC_COMBOBOXEX_VERSION)->SetWindowTextW(m_Base);\r
+       }\r
 \r
-       this->SetDefaultChoose(IDC_RADIO_HEAD);\r
        Init();\r
 \r
        this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);\r
@@ -71,7 +85,15 @@ BOOL CCreateBranchTagDlg::OnInitDialog()
                this->SetWindowTextW(_T("Create Branch"));\r
                this->GetDlgItem(IDC_LABEL_BRANCH)->SetWindowTextW(_T("Branch"));\r
        }\r
-       \r
+       // show the switch checkbox if we are a create branch dialog\r
+       this->GetDlgItem(IDC_CHECK_SWITCH)->ShowWindow( !m_bIsTag );\r
+       CWnd* pHead = GetDlgItem(IDC_RADIO_HEAD);\r
+       CString HeadText;\r
+       pHead->GetWindowText( HeadText ); \r
+       pHead->SetWindowText( HeadText + " (" + g_Git.GetCurrentBranch() + ")");\r
+       EnableSaveRestore(_T("BranchTagDlg"));\r
+\r
+       OnCbnSelchangeComboboxexBranch();\r
        return TRUE;\r
 \r
 \r
@@ -82,9 +104,11 @@ void CCreateBranchTagDlg::OnBnClickedOk()
 {\r
        // TODO: Add your control notification handler code here\r
        this->UpdateData(TRUE);\r
-       if(this->m_BranchTagName.Trim().IsEmpty())\r
+\r
+       this->m_BranchTagName.Trim();\r
+       if(this->m_BranchTagName.IsEmpty()  ||  this->m_BranchTagName.Find(' ') >= 0 )\r
        {\r
-               CMessageBox::Show(NULL,_T("Branch\\Tag name can't empty"),_T("TortiseGit"),MB_OK);\r
+               CMessageBox::Show(NULL, IDS_B_T_NOTEMPTY, IDS_TORTOISEGIT, MB_OK);\r
                return;\r
        }\r
        this->UpdateRevsionName();\r
@@ -95,7 +119,7 @@ void CCreateBranchTagDlg::OnCbnSelchangeComboboxexBranch()
 {\r
        // TODO: Add your control notification handler code here\r
        \r
-       if(this->m_ChooseVersioinBranch.GetString().Left(6)==_T("origin"))\r
+       if(this->m_ChooseVersioinBranch.GetString().Left(8)==_T("remotes/"))\r
                this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(TRUE);\r
        else\r
                this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);\r
@@ -103,3 +127,12 @@ void CCreateBranchTagDlg::OnCbnSelchangeComboboxexBranch()
        if(this->m_bIsTag)\r
                this->GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);\r
 }\r
+\r
+void CCreateBranchTagDlg::OnVersionChanged()\r
+{\r
+       int radio=GetCheckedRadioButton(IDC_RADIO_HEAD,IDC_RADIO_VERSION);\r
+       if (radio == IDC_RADIO_BRANCH)\r
+               OnCbnSelchangeComboboxexBranch();\r
+       else\r
+               GetDlgItem(IDC_CHECK_TRACK)->EnableWindow(FALSE);\r
+}\r