#include "FormatPatchDlg.h"\r
#include "git.h"\r
#include "BrowseFolder.h"\r
+#include "LogDlg.h"\r
+#include "BrowseRefsDlg.h"\r
// CFormatPatchDlg dialog\r
\r
IMPLEMENT_DYNAMIC(CFormatPatchDlg, CResizableStandAloneDialog)\r
ON_BN_CLICKED(IDC_RADIO_SINCE, &CFormatPatchDlg::OnBnClickedRadio)\r
ON_BN_CLICKED(IDC_RADIO_NUM, &CFormatPatchDlg::OnBnClickedRadio)\r
ON_BN_CLICKED(IDC_RADIO_RANGE, &CFormatPatchDlg::OnBnClickedRadio)\r
+ ON_BN_CLICKED(IDC_BUTTON_REF, &CFormatPatchDlg::OnBnClickedButtonRef)\r
END_MESSAGE_MAP()\r
\r
BOOL CFormatPatchDlg::OnInitDialog()\r
\r
STRING_VECTOR list;\r
g_Git.GetBranchList(list,NULL,CGit::BRANCH_ALL);\r
+ m_cSince.SetMaxHistoryItems(list.size());\r
m_cSince.AddString(list);\r
\r
if(!m_Since.IsEmpty())\r
\r
void CFormatPatchDlg::OnBnClickedButtonFrom()\r
{\r
- // TODO: Add your control notification handler code here\r
+ CLogDlg dlg;\r
+ // tell the dialog to use mode for selecting revisions\r
+ dlg.SetSelect(true);\r
+ // only one revision must be selected however\r
+ dlg.SingleSelection(true);\r
+ if ( dlg.DoModal() == IDOK )\r
+ {\r
+ // get selected hash if any\r
+ CString selectedHash = dlg.GetSelectedHash();\r
+ // load into window, do this even if empty so that it is clear that nothing has been selected\r
+ m_cFrom.AddString(selectedHash);\r
+ CheckRadioButton(IDC_RADIO_SINCE, IDC_RADIO_RANGE, IDC_RADIO_RANGE);\r
+ OnBnClickedRadio();\r
+ }\r
}\r
\r
void CFormatPatchDlg::OnBnClickedButtonTo()\r
{\r
- // TODO: Add your control notification handler code here\r
+ CLogDlg dlg;\r
+ // tell the dialog to use mode for selecting revisions\r
+ dlg.SetSelect(true);\r
+ // only one revision must be selected however\r
+ dlg.SingleSelection(true);\r
+ if ( dlg.DoModal() == IDOK )\r
+ {\r
+ // get selected hash if any\r
+ CString selectedHash = dlg.GetSelectedHash();\r
+ // load into window, do this even if empty so that it is clear that nothing has been selected\r
+ m_cTo.AddString(selectedHash);\r
+ CheckRadioButton(IDC_RADIO_SINCE, IDC_RADIO_RANGE, IDC_RADIO_RANGE);\r
+ OnBnClickedRadio();\r
+ }\r
}\r
\r
void CFormatPatchDlg::OnBnClickedOk()\r
m_cTo.EnableWindow(TRUE);\r
}\r
}\r
+\r
+void CFormatPatchDlg::OnBnClickedButtonRef()\r
+{\r
+ if(CBrowseRefsDlg::PickRefForCombo(&m_cSince, gPickRef_NoTag))\r
+ {\r
+ CheckRadioButton(IDC_RADIO_SINCE, IDC_RADIO_RANGE, IDC_RADIO_SINCE);\r
+ OnBnClickedRadio();\r
+ }\r
+}\r