OSDN Git Service

50f417604ddae99624a195541904358144e86bdf
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / FormatPatchDlg.cpp
1 // FormatPatch.cpp : implementation file\r
2 //\r
3 \r
4 #include "stdafx.h"\r
5 #include "TortoiseProc.h"\r
6 #include "FormatPatchDlg.h"\r
7 #include "git.h"\r
8 #include "BrowseFolder.h"\r
9 // CFormatPatchDlg dialog\r
10 \r
11 IMPLEMENT_DYNAMIC(CFormatPatchDlg, CResizableStandAloneDialog)\r
12 \r
13 CFormatPatchDlg::CFormatPatchDlg(CWnd* pParent /*=NULL*/)\r
14         : CResizableStandAloneDialog(CFormatPatchDlg::IDD, pParent)\r
15 {\r
16         m_Num=1;\r
17 }\r
18 \r
19 CFormatPatchDlg::~CFormatPatchDlg()\r
20 {\r
21 }\r
22 \r
23 void CFormatPatchDlg::DoDataExchange(CDataExchange* pDX)\r
24 {\r
25         CDialog::DoDataExchange(pDX);\r
26         DDX_Control(pDX, IDC_COMBOBOXEX_DIR,    m_cDir);\r
27         DDX_Control(pDX, IDC_COMBOBOXEX_SINCE,  m_cSince);\r
28         DDX_Control(pDX, IDC_COMBOBOXEX_FROM,   m_cFrom);\r
29         DDX_Control(pDX, IDC_COMBOBOXEX_TO,             m_cTo);\r
30         DDX_Control(pDX, IDC_EDIT_NUM,                  m_cNum);\r
31 \r
32         DDX_Text(pDX,IDC_EDIT_NUM,m_Num);\r
33 \r
34         DDX_Text(pDX, IDC_COMBOBOXEX_DIR,       m_Dir);\r
35         DDX_Text(pDX, IDC_COMBOBOXEX_SINCE,     m_Since);\r
36         DDX_Text(pDX, IDC_COMBOBOXEX_FROM,      m_From);\r
37         DDX_Text(pDX, IDC_COMBOBOXEX_TO,        m_To);\r
38         \r
39 \r
40 }\r
41 \r
42 \r
43 BEGIN_MESSAGE_MAP(CFormatPatchDlg, CResizableStandAloneDialog)\r
44         ON_BN_CLICKED(IDC_BUTTON_DIR, &CFormatPatchDlg::OnBnClickedButtonDir)\r
45         ON_BN_CLICKED(IDC_BUTTON_FROM, &CFormatPatchDlg::OnBnClickedButtonFrom)\r
46         ON_BN_CLICKED(IDC_BUTTON_TO, &CFormatPatchDlg::OnBnClickedButtonTo)\r
47         ON_BN_CLICKED(IDOK, &CFormatPatchDlg::OnBnClickedOk)\r
48         ON_BN_CLICKED(IDC_RADIO_SINCE, &CFormatPatchDlg::OnBnClickedRadio)\r
49         ON_BN_CLICKED(IDC_RADIO_NUM, &CFormatPatchDlg::OnBnClickedRadio)\r
50         ON_BN_CLICKED(IDC_RADIO_RANGE, &CFormatPatchDlg::OnBnClickedRadio)\r
51 END_MESSAGE_MAP()\r
52 \r
53 BOOL CFormatPatchDlg::OnInitDialog()\r
54 {\r
55         CResizableStandAloneDialog::OnInitDialog();\r
56         \r
57         AddAnchor(IDC_GROUP_DIR, TOP_LEFT, TOP_RIGHT);\r
58         AddAnchor(IDC_COMBOBOXEX_DIR,TOP_LEFT, TOP_RIGHT);\r
59         AddAnchor(IDC_BUTTON_DIR, TOP_RIGHT);\r
60 \r
61         AddAnchor(IDC_GROUP_VERSION, TOP_LEFT, TOP_RIGHT);\r
62         AddAnchor(IDC_COMBOBOXEX_SINCE, TOP_LEFT, TOP_RIGHT);\r
63         AddAnchor(IDC_EDIT_NUM, TOP_LEFT, TOP_RIGHT);\r
64         AddAnchor(IDC_SPIN_NUM, TOP_RIGHT);\r
65 \r
66         AddAnchor(IDC_COMBOBOXEX_FROM, TOP_LEFT, TOP_RIGHT);\r
67         AddAnchor(IDC_COMBOBOXEX_TO, TOP_LEFT, TOP_RIGHT);\r
68 \r
69         AddAnchor(IDC_BUTTON_FROM,  TOP_RIGHT);\r
70         AddAnchor(IDC_BUTTON_TO,        TOP_RIGHT);\r
71         this->AddOthersToAnchor();\r
72 \r
73         m_cDir.SetPathHistory(TRUE);\r
74         m_cDir.LoadHistory(_T("Software\\TortoiseGit\\History\\FormatPatchURLS"), _T("path"));\r
75         m_cDir.SetCurSel(0);\r
76 \r
77         STRING_VECTOR list;\r
78         g_Git.GetBranchList(list,NULL,CGit::BRANCH_ALL);\r
79         m_cSince.AddString(list);\r
80 \r
81         m_cFrom.LoadHistory(_T("Software\\TortoiseGit\\History\\FormatPatchFromURLS"), _T("ver"));\r
82         m_cFrom.SetCurSel(0);\r
83 \r
84         m_cTo.LoadHistory(_T("Software\\TortoiseGit\\History\\FormatPatchToURLS"), _T("ver"));\r
85         m_cTo.SetCurSel(0);\r
86 \r
87         this->CheckRadioButton(IDC_RADIO_SINCE,IDC_RADIO_RANGE,IDC_RADIO_SINCE);\r
88         \r
89         OnBnClickedRadio();\r
90 \r
91         EnableSaveRestore(_T("FormatPatchDlg"));\r
92         return TRUE;\r
93 }\r
94 // CFormatPatchDlg message handlers\r
95 \r
96 void CFormatPatchDlg::OnBnClickedButtonDir()\r
97 {\r
98         // TODO: Add your control notification handler code here\r
99         CBrowseFolder browseFolder;\r
100         browseFolder.m_style = BIF_EDITBOX | BIF_NEWDIALOGSTYLE | BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;\r
101         CString strCloneDirectory;\r
102         this->UpdateData(TRUE);\r
103         strCloneDirectory=m_Dir;\r
104         if (browseFolder.Show(GetSafeHwnd(), strCloneDirectory) == CBrowseFolder::OK) \r
105         {\r
106                 m_Dir=strCloneDirectory;\r
107                 this->UpdateData(FALSE);\r
108         }\r
109 }\r
110 \r
111 void CFormatPatchDlg::OnBnClickedButtonFrom()\r
112 {\r
113         // TODO: Add your control notification handler code here\r
114 }\r
115 \r
116 void CFormatPatchDlg::OnBnClickedButtonTo()\r
117 {\r
118         // TODO: Add your control notification handler code here\r
119 }\r
120 \r
121 void CFormatPatchDlg::OnBnClickedOk()\r
122 {\r
123         // TODO: Add your control notification handler code here\r
124 \r
125         m_cDir.SaveHistory();\r
126         m_cFrom.SaveHistory();\r
127         m_cTo.SaveHistory();\r
128         this->UpdateData(TRUE);\r
129         this->m_Radio=GetCheckedRadioButton(IDC_RADIO_SINCE,IDC_RADIO_RANGE);\r
130         OnOK();\r
131 }\r
132 \r
133 void CFormatPatchDlg::OnBnClickedRadio()\r
134 {\r
135         // TODO: Add your control notification handler code here\r
136         int radio=this->GetCheckedRadioButton(IDC_RADIO_SINCE,IDC_RADIO_RANGE);\r
137         m_cSince.EnableWindow(FALSE);\r
138         m_cNum.EnableWindow(FALSE);\r
139         m_cFrom.EnableWindow(FALSE);\r
140         m_cTo.EnableWindow(FALSE);\r
141         switch(radio)\r
142         {\r
143         case IDC_RADIO_SINCE:\r
144                 m_cSince.EnableWindow(TRUE);\r
145                 break;\r
146         case IDC_RADIO_NUM:\r
147                 m_cNum.EnableWindow(TRUE);\r
148                 break;\r
149         case IDC_RADIO_RANGE:\r
150                 m_cFrom.EnableWindow(TRUE);\r
151                 m_cTo.EnableWindow(TRUE);\r
152         }\r
153 }\r