1 // CloneDlg.cpp : implementation file
\r
5 #include "TortoiseProc.h"
\r
6 #include "CloneDlg.h"
\r
7 #include "BrowseFolder.h"
\r
8 #include "MessageBox.h"
\r
12 IMPLEMENT_DYNCREATE(CCloneDlg, CResizableStandAloneDialog)
\r
14 CCloneDlg::CCloneDlg(CWnd* pParent /*=NULL*/)
\r
15 : CResizableStandAloneDialog(CCloneDlg::IDD, pParent)
\r
16 , m_Directory(_T(""))
\r
21 CCloneDlg::~CCloneDlg()
\r
25 void CCloneDlg::DoDataExchange(CDataExchange* pDX)
\r
27 CResizableStandAloneDialog::DoDataExchange(pDX);
\r
28 DDX_Control(pDX, IDC_URLCOMBO, m_URLCombo);
\r
29 DDX_Text(pDX, IDC_CLONE_DIR, m_Directory);
\r
32 BOOL CCloneDlg::OnInitDialog()
\r
34 CResizableStandAloneDialog::OnInitDialog();
\r
35 AddAnchor(IDC_URLCOMBO, TOP_LEFT, TOP_RIGHT);
\r
36 AddAnchor(IDC_CLONE_BROWSE_URL, TOP_RIGHT);
\r
37 AddAnchor(IDC_CLONE_DIR, TOP_LEFT,TOP_RIGHT);
\r
38 AddAnchor(IDC_CLONE_DIR_BROWSE, TOP_RIGHT);
\r
39 AddAnchor(IDOK,BOTTOM_RIGHT);
\r
40 AddAnchor(IDCANCEL,BOTTOM_RIGHT);
\r
42 this->AddOthersToAnchor();
\r
44 m_URLCombo.SetURLHistory(TRUE);
\r
45 m_URLCombo.LoadHistory(_T("Software\\TortoiseGit\\History\\repoURLS"), _T("url"));
\r
47 m_URLCombo.SetCurSel(0);
\r
49 m_URLCombo.SetWindowTextW(m_URL);
\r
51 CWnd *window=this->GetDlgItem(IDC_CLONE_DIR);
\r
53 SHAutoComplete(window->m_hWnd, SHACF_FILESYSTEM);
\r
55 EnableSaveRestore(_T("CloneDlg"));
\r
56 return TRUE; // return TRUE unless you set the focus to a control
\r
59 BEGIN_MESSAGE_MAP(CCloneDlg, CResizableStandAloneDialog)
\r
60 ON_BN_CLICKED(IDC_CLONE_BROWSE_URL, &CCloneDlg::OnBnClickedCloneBrowseUrl)
\r
61 ON_BN_CLICKED(IDC_CLONE_DIR_BROWSE, &CCloneDlg::OnBnClickedCloneDirBrowse)
\r
66 // CCloneDlg message handlers
\r
68 void CCloneDlg::OnOK()
\r
70 this->m_URLCombo.GetWindowTextW(m_URL);
\r
73 if(m_URL.IsEmpty()||m_Directory.IsEmpty())
\r
75 CMessageBox::Show(NULL,_T("URL or Dir can't empty"),_T("TortiseGit"),MB_OK);
\r
78 m_URLCombo.SaveHistory();
\r
79 CResizableDialog::OnOK();
\r
83 void CCloneDlg::OnCancel()
\r
85 CResizableDialog::OnCancel();
\r
88 void CCloneDlg::OnBnClickedCloneBrowseUrl()
\r
90 // TODO: Add your control notification handler code here
\r
91 CBrowseFolder browseFolder;
\r
92 browseFolder.m_style = BIF_EDITBOX | BIF_NEWDIALOGSTYLE | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;
\r
93 CString strCloneDirectory;
\r
94 this->m_URLCombo.GetWindowTextW(strCloneDirectory);
\r
95 if (browseFolder.Show(GetSafeHwnd(), strCloneDirectory) == CBrowseFolder::OK)
\r
97 this->m_URLCombo.SetWindowTextW(strCloneDirectory);
\r
101 void CCloneDlg::OnBnClickedCloneDirBrowse()
\r
103 // TODO: Add your control notification handler code here
\r
104 CBrowseFolder browseFolder;
\r
105 browseFolder.m_style = BIF_EDITBOX | BIF_NEWDIALOGSTYLE | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;
\r
106 CString strCloneDirectory = this->m_Directory;
\r
107 if (browseFolder.Show(GetSafeHwnd(), strCloneDirectory) == CBrowseFolder::OK)
\r
110 m_Directory = strCloneDirectory;
\r
115 void CCloneDlg::OnEnChangeCloneDir()
\r
117 // TODO: If this is a RICHEDIT control, the control will not
\r
118 // send this notification unless you override the CDHtmlDialog::OnInitDialog()
\r
119 // function and call CRichEditCtrl().SetEventMask()
\r
120 // with the ENM_CHANGE flag ORed into the mask.
\r
122 // TODO: Add your control notification handler code here
\r