Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/teraterm/teraterm/addsetting.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5778 - (show annotations) (download) (as text)
Fri Feb 13 08:34:51 2015 UTC (9 years, 1 month ago) by maya
File MIME type: text/x-c++src
File size: 76641 byte(s)
doSelectFolder() がフォルダ選択の成功と失敗を返すようにした
1 /*
2 * Additional settings dialog
3 */
4
5 #include <afxwin.h>
6 #include <afxdlgs.h>
7 #include <afxcmn.h>
8 #include <commctrl.h>
9
10 #include "addsetting.h"
11 #include "teraterm.h"
12 #include "tttypes.h"
13 #include "ttwinman.h"
14 #include "ttcommon.h"
15 #include "ttftypes.h"
16
17 mouse_cursor_t MouseCursor[] = {
18 {"ARROW", IDC_ARROW},
19 {"IBEAM", IDC_IBEAM},
20 {"CROSS", IDC_CROSS},
21 {"HAND", IDC_HAND},
22 {NULL, NULL},
23 };
24 #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
25
26 // –{‘Ì‚Í vtwin.cpp
27 extern void SetWindowStyle(TTTSet *ts);
28
29 void split_buffer(char *buffer, int delimiter, char **head, char **body)
30 {
31 char *p1, *p2;
32
33 *head = *body = NULL;
34
35 if (!isalnum(*buffer) || (p1 = strchr(buffer, delimiter)) == NULL) {
36 return;
37 }
38
39 *head = buffer;
40
41 p2 = buffer;
42 while (p2 < p1 && !isspace(*p2)) {
43 p2++;
44 }
45
46 *p2 = '\0';
47
48 p1++;
49 while (*p1 && isspace(*p1)) {
50 p1++;
51 }
52
53 *body = p1;
54 }
55
56
57 static void SetupRGBbox(HWND hDlgWnd, int index)
58 {
59 HWND hWnd;
60 BYTE c;
61 char buf[10];
62
63 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
64 c = GetRValue(ts.ANSIColor[index]);
65 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
66 SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
67
68 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
69 c = GetGValue(ts.ANSIColor[index]);
70 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
71 SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
72
73 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
74 c = GetBValue(ts.ANSIColor[index]);
75 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
76 SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
77 }
78
79
80
81 // CGeneralPropPageDlg ƒ_ƒCƒAƒ�ƒO
82
83 IMPLEMENT_DYNAMIC(CGeneralPropPageDlg, CPropertyPage)
84
85 CGeneralPropPageDlg::CGeneralPropPageDlg()
86 : CPropertyPage(CGeneralPropPageDlg::IDD)
87 {
88 }
89
90 CGeneralPropPageDlg::~CGeneralPropPageDlg()
91 {
92 if (DlgGeneralFont != NULL) {
93 DeleteObject(DlgGeneralFont);
94 }
95 }
96
97 BEGIN_MESSAGE_MAP(CGeneralPropPageDlg, CPropertyPage)
98 END_MESSAGE_MAP()
99
100 // CGeneralPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
101
102 BOOL CGeneralPropPageDlg::OnInitDialog()
103 {
104 char uimsg[MAX_UIMSG];
105 char buf[64];
106 CButton *btn;
107
108 CPropertyPage::OnInitDialog();
109
110 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
111 GetObject(font, sizeof(LOGFONT), &logfont);
112 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgGeneralFont, ts.UILanguageFile)) {
113 SendDlgItemMessage(IDC_CLICKABLE_URL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
114 SendDlgItemMessage(IDC_DISABLE_SENDBREAK, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
115 SendDlgItemMessage(IDC_ACCEPT_BROADCAST, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0)); // 337: 2007/03/20
116 SendDlgItemMessage(IDC_MOUSEWHEEL_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
117 SendDlgItemMessage(IDC_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
118 SendDlgItemMessage(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
119 SendDlgItemMessage(IDC_CLEAR_ON_RESIZE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
120 SendDlgItemMessage(IDC_CURSOR_CHANGE_IME, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
121 }
122 else {
123 DlgGeneralFont = NULL;
124 }
125
126 GetDlgItemText(IDC_CLICKABLE_URL, uimsg, sizeof(uimsg));
127 get_lang_msg("DLG_TAB_GENERAL_CLICKURL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
128 SetDlgItemText(IDC_CLICKABLE_URL, ts.UIMsg);
129 GetDlgItemText(IDC_DISABLE_SENDBREAK, uimsg, sizeof(uimsg));
130 get_lang_msg("DLG_TAB_GENERAL_DISABLESENDBREAK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
131 SetDlgItemText(IDC_DISABLE_SENDBREAK, ts.UIMsg);
132 GetDlgItemText(IDC_ACCEPT_BROADCAST, uimsg, sizeof(uimsg));
133 get_lang_msg("DLG_TAB_GENERAL_ACCEPTBROADCAST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
134 SetDlgItemText(IDC_ACCEPT_BROADCAST, ts.UIMsg);
135 GetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, uimsg, sizeof(uimsg));
136 get_lang_msg("DLG_TAB_GENERAL_MOUSEWHEEL_SCROLL_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
137 SetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, ts.UIMsg);
138 GetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, uimsg, sizeof(uimsg));
139 get_lang_msg("DLG_TAB_GENERAL_AUTOSCROLL_ONLY_IN_BOTTOM_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
140 SetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, ts.UIMsg);
141 GetDlgItemText(IDC_CLEAR_ON_RESIZE, uimsg, sizeof(uimsg));
142 get_lang_msg("DLG_TAB_GENERAL_CLEAR_ON_RESIZE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
143 SetDlgItemText(IDC_CLEAR_ON_RESIZE, ts.UIMsg);
144 GetDlgItemText(IDC_CURSOR_CHANGE_IME, uimsg, sizeof(uimsg));
145 get_lang_msg("DLG_TAB_GENERAL_CURSOR_CHANGE_IME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
146 SetDlgItemText(IDC_CURSOR_CHANGE_IME, ts.UIMsg);
147
148 // (1)DisableAcceleratorSendBreak
149 btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
150 btn->SetCheck(ts.DisableAcceleratorSendBreak);
151
152 // (2)EnableClickableUrl
153 btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
154 btn->SetCheck(ts.EnableClickableUrl);
155
156 // (3)AcceptBroadcast 337: 2007/03/20
157 btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
158 btn->SetCheck(ts.AcceptBroadcast);
159
160 // (4)IDC_MOUSEWHEEL_SCROLL_LINE
161 _snprintf_s(buf, sizeof(buf), "%d", ts.MouseWheelScrollLine);
162 SetDlgItemText(IDC_SCROLL_LINE, buf);
163
164 // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
165 btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
166 btn->SetCheck(ts.AutoScrollOnlyInBottomLine);
167
168 // (6)IDC_CLEAR_ON_RESIZE
169 btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);
170 btn->SetCheck((ts.TermFlag & TF_CLEARONRESIZE) != 0);
171
172 // (7)IDC_CURSOR_CHANGE_IME
173 btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);
174 btn->SetCheck((ts.WindowFlag & WF_IMECURSORCHANGE) != 0);
175
176 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é (2004.12.7 yutaka)
177 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
178
179 return FALSE;
180 }
181
182 void CGeneralPropPageDlg::OnOK()
183 {
184 CButton *btn;
185 char buf[64];
186 int val;
187
188 // (1)
189 btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
190 ts.DisableAcceleratorSendBreak = btn->GetCheck();
191
192 // (2)
193 btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
194 ts.EnableClickableUrl = btn->GetCheck();
195
196 // (3) 337: 2007/03/20
197 btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
198 ts.AcceptBroadcast = btn->GetCheck();
199
200 // (4)IDC_MOUSEWHEEL_SCROLL_LINE
201 GetDlgItemText(IDC_SCROLL_LINE, buf, sizeof(buf));
202 val = atoi(buf);
203 if (val > 0)
204 ts.MouseWheelScrollLine = val;
205
206 // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
207 btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
208 ts.AutoScrollOnlyInBottomLine = btn->GetCheck();
209
210 // (6)IDC_CLEAR_ON_RESIZE
211 btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);
212 if (((ts.TermFlag & TF_CLEARONRESIZE) != 0) != btn->GetCheck()) {
213 ts.TermFlag ^= TF_CLEARONRESIZE;
214 }
215
216 // (7)IDC_CURSOR_CHANGE_IME
217 btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);
218 if (((ts.WindowFlag & WF_IMECURSORCHANGE) != 0) != btn->GetCheck()) {
219 ts.WindowFlag ^= WF_IMECURSORCHANGE;
220 }
221 }
222
223
224
225 // CSequencePropPageDlg ƒ_ƒCƒAƒ�ƒO
226
227 IMPLEMENT_DYNAMIC(CSequencePropPageDlg, CPropertyPage)
228
229 CSequencePropPageDlg::CSequencePropPageDlg()
230 : CPropertyPage(CSequencePropPageDlg::IDD)
231 {
232 }
233
234 CSequencePropPageDlg::~CSequencePropPageDlg()
235 {
236 if (DlgSequenceFont != NULL) {
237 DeleteObject(DlgSequenceFont);
238 }
239 }
240
241 BEGIN_MESSAGE_MAP(CSequencePropPageDlg, CPropertyPage)
242 END_MESSAGE_MAP()
243
244 // CSequencePropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
245
246 BOOL CSequencePropPageDlg::OnInitDialog()
247 {
248 char uimsg[MAX_UIMSG];
249 CButton *btn, *btn2;
250 CComboBox *cmb;
251
252 CPropertyPage::OnInitDialog();
253
254 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
255 GetObject(font, sizeof(LOGFONT), &logfont);
256 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgSequenceFont, ts.UILanguageFile)) {
257 SendDlgItemMessage(IDC_ACCEPT_MOUSE_EVENT_TRACKING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
258 SendDlgItemMessage(IDC_DISABLE_MOUSE_TRACKING_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
259 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
260 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
261 SendDlgItemMessage(IDC_TITLE_REPORT_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
262 SendDlgItemMessage(IDC_TITLE_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
263 SendDlgItemMessage(IDC_WINDOW_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
264 SendDlgItemMessage(IDC_WINDOW_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
265 SendDlgItemMessage(IDC_CURSOR_CTRL_SEQ, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
266 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
267 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
268 }
269 else {
270 DlgSequenceFont = NULL;
271 }
272
273 GetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, uimsg, sizeof(uimsg));
274 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_MOUSE_EVENT_TRACKING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
275 SetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.UIMsg);
276 GetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, uimsg, sizeof(uimsg));
277 get_lang_msg("DLG_TAB_SEQENCE_DISABLE_MOUSE_TRACKING_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
278 SetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.UIMsg);
279 GetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, uimsg, sizeof(uimsg));
280 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
281 SetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, ts.UIMsg);
282
283 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
284 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
285 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_OVERWRITE", ts.UIMsg, sizeof(ts.UIMsg), "overwrite", ts.UILanguageFile);
286 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
287 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_AHEAD", ts.UIMsg, sizeof(ts.UIMsg), "ahead", ts.UILanguageFile);
288 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
289 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_LAST", ts.UIMsg, sizeof(ts.UIMsg), "last", ts.UILanguageFile);
290 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
291
292 GetDlgItemText(IDC_CURSOR_CTRL_SEQ, uimsg, sizeof(uimsg));
293 get_lang_msg("DLG_TAB_SEQENCE_CURSOR_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
294 SetDlgItemText(IDC_CURSOR_CTRL_SEQ, ts.UIMsg);
295 GetDlgItemText(IDC_WINDOW_CTRL, uimsg, sizeof(uimsg));
296 get_lang_msg("DLG_TAB_SEQENCE_WINDOW_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
297 SetDlgItemText(IDC_WINDOW_CTRL, ts.UIMsg);
298 GetDlgItemText(IDC_WINDOW_REPORT, uimsg, sizeof(uimsg));
299 get_lang_msg("DLG_TAB_SEQENCE_WINDOW_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
300 SetDlgItemText(IDC_WINDOW_REPORT, ts.UIMsg);
301 GetDlgItemText(IDC_TITLE_REPORT_LABEL, uimsg, sizeof(uimsg));
302 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
303 SetDlgItemText(IDC_TITLE_REPORT_LABEL, ts.UIMsg);
304
305 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_IGNORE", ts.UIMsg, sizeof(ts.UIMsg), "ignore", ts.UILanguageFile);
306 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
307 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_ACCEPT", ts.UIMsg, sizeof(ts.UIMsg), "accept", ts.UILanguageFile);
308 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
309 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_EMPTY", ts.UIMsg, sizeof(ts.UIMsg), "empty", ts.UILanguageFile);
310 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
311
312 GetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, uimsg, sizeof(uimsg));
313 get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
314 SetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, ts.UIMsg);
315
316 get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
317 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
318 get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_WRITE", ts.UIMsg, sizeof(ts.UIMsg), "write only", ts.UILanguageFile);
319 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
320 get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_READ", ts.UIMsg, sizeof(ts.UIMsg), "read only", ts.UILanguageFile);
321 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
322 get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_ON", ts.UIMsg, sizeof(ts.UIMsg), "read/write", ts.UILanguageFile);
323 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
324
325 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
326 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
327 btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
328 btn->SetCheck(ts.MouseEventTracking);
329 if (ts.MouseEventTracking) {
330 btn2->EnableWindow(TRUE);
331 } else {
332 btn2->EnableWindow(FALSE);
333 }
334
335 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
336 btn2->SetCheck(ts.DisableMouseTrackingByCtrl);
337
338 // (3)IDC_ACCEPT_TITLE_CHANGING
339 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
340 cmb->SetCurSel(ts.AcceptTitleChangeRequest);
341
342 // (4)IDC_TITLE_REPORT
343 cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);
344 switch (ts.WindowFlag & WF_TITLEREPORT) {
345 case IdTitleReportIgnore:
346 cmb->SetCurSel(0);
347 break;
348 case IdTitleReportAccept:
349 cmb->SetCurSel(1);
350 break;
351 default: // IdTitleReportEmpty
352 cmb->SetCurSel(2);
353 break;
354 }
355
356 // (5)IDC_WINDOW_CTRL
357 btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);
358 btn->SetCheck((ts.WindowFlag & WF_WINDOWCHANGE) != 0);
359
360 // (6)IDC_WINDOW_REPORT
361 btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);
362 btn->SetCheck((ts.WindowFlag & WF_WINDOWREPORT) != 0);
363
364 // (7)IDC_CURSOR_CTRL_SEQ
365 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
366 btn->SetCheck((ts.WindowFlag & WF_CURSORCHANGE) != 0);
367
368 // (8)IDC_CLIPBOARD_ACCESS
369 cmb = (CComboBox *)GetDlgItem(IDC_CLIPBOARD_ACCESS);
370 switch (ts.CtrlFlag & CSF_CBRW) {
371 case CSF_CBRW:
372 cmb->SetCurSel(3);
373 break;
374 case CSF_CBREAD:
375 cmb->SetCurSel(2);
376 break;
377 case CSF_CBWRITE:
378 cmb->SetCurSel(1);
379 break;
380 default: // off
381 cmb->SetCurSel(0);
382 break;
383 }
384
385 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é (2004.12.7 yutaka)
386 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
387
388 return FALSE;
389 }
390
391 BOOL CSequencePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
392 {
393 CButton *btn, *btn2;
394
395 switch (wParam) {
396 case IDC_ACCEPT_MOUSE_EVENT_TRACKING | (BN_CLICKED << 16):
397 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
398 btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
399 if (btn->GetCheck()) {
400 btn2->EnableWindow(TRUE);
401 } else {
402 btn2->EnableWindow(FALSE);
403 }
404 return TRUE;
405 }
406 return CPropertyPage::OnCommand(wParam, lParam);
407 }
408
409 void CSequencePropPageDlg::OnOK()
410 {
411 CButton *btn;
412 CComboBox *cmb;
413
414 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
415 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
416 ts.MouseEventTracking = btn->GetCheck();
417
418 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
419 btn = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
420 ts.DisableMouseTrackingByCtrl = btn->GetCheck();
421
422 // (3)IDC_ACCEPT_TITLE_CHANGING
423 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
424 ts.AcceptTitleChangeRequest = cmb->GetCurSel();
425
426 // (4)IDC_TITLE_REPORT
427 cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);
428 switch (cmb->GetCurSel()) {
429 case 0:
430 ts.WindowFlag &= ~WF_TITLEREPORT;
431 break;
432 case 1:
433 ts.WindowFlag &= ~WF_TITLEREPORT;
434 ts.WindowFlag |= IdTitleReportAccept;
435 break;
436 default: // 2
437 ts.WindowFlag |= IdTitleReportEmpty;
438 break;
439 }
440
441 // (5)IDC_WINDOW_CTRL
442 btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);
443 if (((ts.WindowFlag & WF_WINDOWCHANGE) != 0) != btn->GetCheck()) {
444 ts.WindowFlag ^= WF_WINDOWCHANGE;
445 }
446
447 // (6)IDC_WINDOW_REPORT
448 btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);
449 if (((ts.WindowFlag & WF_WINDOWREPORT) != 0) != btn->GetCheck()) {
450 ts.WindowFlag ^= WF_WINDOWREPORT;
451 }
452
453 // (7)IDC_CURSOR_CTRL_SEQ
454 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
455 if (((ts.WindowFlag & WF_CURSORCHANGE) != 0) != btn->GetCheck()) {
456 ts.WindowFlag ^= WF_CURSORCHANGE;
457 }
458
459 // (8)IDC_TITLE_REPORT
460 cmb = (CComboBox *)GetDlgItem(IDC_CLIPBOARD_ACCESS);
461 switch (cmb->GetCurSel()) {
462 case 0: // off
463 ts.CtrlFlag &= ~CSF_CBRW;
464 break;
465 case 1: // write only
466 ts.CtrlFlag &= ~CSF_CBRW;
467 ts.CtrlFlag |= CSF_CBWRITE;
468 break;
469 case 2: // read only
470 ts.CtrlFlag &= ~CSF_CBRW;
471 ts.CtrlFlag |= CSF_CBREAD;
472 break;
473 default: // read/write
474 ts.CtrlFlag |= CSF_CBRW;
475 break;
476 }
477 }
478
479
480
481 // CCopypastePropPageDlg ƒ_ƒCƒAƒ�ƒO
482
483 IMPLEMENT_DYNAMIC(CCopypastePropPageDlg, CPropertyPage)
484
485 CCopypastePropPageDlg::CCopypastePropPageDlg()
486 : CPropertyPage(CCopypastePropPageDlg::IDD)
487 {
488 }
489
490 CCopypastePropPageDlg::~CCopypastePropPageDlg()
491 {
492 if (DlgCopypasteFont != NULL) {
493 DeleteObject(DlgCopypasteFont);
494 }
495 }
496
497 BEGIN_MESSAGE_MAP(CCopypastePropPageDlg, CPropertyPage)
498 END_MESSAGE_MAP()
499
500 // CCopypastePropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
501
502 BOOL CCopypastePropPageDlg::OnInitDialog()
503 {
504 char uimsg[MAX_UIMSG];
505 CButton *btn, *btn2;
506 CEdit *edit;
507 char buf[64];
508
509 CPropertyPage::OnInitDialog();
510
511 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
512 GetObject(font, sizeof(LOGFONT), &logfont);
513 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCopypasteFont, ts.UILanguageFile)) {
514 SendDlgItemMessage(IDC_LINECOPY, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
515 SendDlgItemMessage(IDC_DISABLE_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
516 SendDlgItemMessage(IDC_CONFIRM_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
517 SendDlgItemMessage(IDC_DISABLE_PASTE_MBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
518 SendDlgItemMessage(IDC_SELECT_LBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
519 SendDlgItemMessage(IDC_CONFIRM_CHANGE_PASTE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
520 SendDlgItemMessage(IDC_CONFIRM_STRING_FILE_LABEL, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
521 SendDlgItemMessage(IDC_CONFIRM_STRING_FILE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
522 SendDlgItemMessage(IDC_CONFIRM_STRING_FILE_PATH, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
523 SendDlgItemMessage(IDC_DELIMITER, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
524 SendDlgItemMessage(IDC_DELIM_LIST, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
525 SendDlgItemMessage(IDC_PASTEDELAY_LABEL, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
526 SendDlgItemMessage(IDC_PASTEDELAY_EDIT, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
527 SendDlgItemMessage(IDC_PASTEDELAY_LABEL2, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
528 }
529 else {
530 DlgCopypasteFont = NULL;
531 }
532
533 GetDlgItemText(IDC_LINECOPY, uimsg, sizeof(uimsg));
534 get_lang_msg("DLG_TAB_COPYPASTE_CONTINUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
535 SetDlgItemText(IDC_LINECOPY, ts.UIMsg);
536 GetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, uimsg, sizeof(uimsg));
537 get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
538 SetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, ts.UIMsg);
539 GetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, uimsg, sizeof(uimsg));
540 get_lang_msg("DLG_TAB_COPYPASTE_CONFIRMPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
541 SetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, ts.UIMsg);
542 GetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, uimsg, sizeof(uimsg));
543 get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTEM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
544 SetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, ts.UIMsg);
545 GetDlgItemText(IDC_SELECT_LBUTTON, uimsg, sizeof(uimsg));
546 get_lang_msg("DLG_TAB_COPYPASTE_SELECTLBUTTON", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
547 SetDlgItemText(IDC_SELECT_LBUTTON, ts.UIMsg);
548 GetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, uimsg, sizeof(uimsg));
549 get_lang_msg("DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
550 SetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, ts.UIMsg);
551 GetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, uimsg, sizeof(uimsg));
552 get_lang_msg("DLG_TAB_CONFIRM_STRING_FILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
553 SetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, ts.UIMsg);
554 GetDlgItemText(IDC_DELIMITER, uimsg, sizeof(uimsg));
555 get_lang_msg("DLG_TAB_COPYPASTE_DELIMITER", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
556 SetDlgItemText(IDC_DELIMITER, ts.UIMsg);
557 GetDlgItemText(IDC_PASTEDELAY_LABEL, uimsg, sizeof(uimsg));
558 get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
559 SetDlgItemText(IDC_PASTEDELAY_LABEL, ts.UIMsg);
560 GetDlgItemText(IDC_PASTEDELAY_LABEL2, uimsg, sizeof(uimsg));
561 get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY2", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
562 SetDlgItemText(IDC_PASTEDELAY_LABEL2, ts.UIMsg);
563
564 // (1)Enable continued-line copy
565 btn = (CButton *)GetDlgItem(IDC_LINECOPY);
566 btn->SetCheck(ts.EnableContinuedLineCopy);
567
568 // (2)DisablePasteMouseRButton
569 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
570 btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
571 btn->SetCheck(ts.DisablePasteMouseRButton);
572 if (ts.DisablePasteMouseRButton) {
573 btn2->EnableWindow(FALSE);
574 } else {
575 btn2->EnableWindow(TRUE);
576 }
577
578 // (3)ConfirmPasteMouseRButton
579 btn2->SetCheck(ts.ConfirmPasteMouseRButton);
580
581 // (4)DisablePasteMouseMButton
582 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
583 btn->SetCheck(ts.DisablePasteMouseMButton);
584
585 // (5)SelectOnlyByLButton
586 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
587 btn->SetCheck(ts.SelectOnlyByLButton);
588
589 // (6)ConfirmChangePaste
590 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
591 btn->SetCheck(ts.ConfirmChangePaste);
592
593 // ƒtƒ@ƒCƒ‹ƒpƒX
594 SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
595 edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);
596 btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);
597 if (ts.ConfirmChangePaste) {
598 edit->EnableWindow(TRUE);
599 btn->EnableWindow(TRUE);
600 } else {
601 edit->EnableWindow(FALSE);
602 btn->EnableWindow(FALSE);
603 }
604
605 // (7)delimiter characters
606 SetDlgItemText(IDC_DELIM_LIST, ts.DelimList);
607
608 // (8)PasteDelayPerLine
609 _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);
610 SetDlgItemText(IDC_PASTEDELAY_EDIT, buf);
611
612 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
613 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));
614
615 return FALSE;
616 }
617
618 BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
619 {
620 CButton *btn, *btn2;
621 CEdit *edit;
622 char uimsg[MAX_UIMSG];
623
624 switch (wParam) {
625 case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):
626 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
627 btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
628 if (btn->GetCheck()) {
629 btn2->EnableWindow(FALSE);
630 } else {
631 btn2->EnableWindow(TRUE);
632 }
633 return TRUE;
634
635 case IDC_CONFIRM_CHANGE_PASTE | (BN_CLICKED << 16):
636 btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
637 btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);
638 edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);
639 if (btn2->GetCheck()) {
640 edit->EnableWindow(TRUE);
641 btn->EnableWindow(TRUE);
642 } else {
643 edit->EnableWindow(FALSE);
644 btn->EnableWindow(FALSE);
645 }
646 return TRUE;
647
648 case IDC_CONFIRM_STRING_FILE_PATH | (BN_CLICKED << 16):
649 {
650 OPENFILENAME ofn;
651
652 ZeroMemory(&ofn, sizeof(ofn));
653 ofn.lStructSize = get_OPENFILENAME_SIZE();
654 ofn.hwndOwner = GetSafeHwnd();
655 get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
656 "txt(*.txt)\\0*.txt\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
657 ofn.lpstrFilter = ts.UIMsg;
658 ofn.lpstrFile = ts.ConfirmChangePasteStringFile;
659 ofn.nMaxFile = sizeof(ts.ConfirmChangePasteStringFile);
660 get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_TITLE", uimsg, sizeof(uimsg),
661 "Choose a file including strings for ConfirmChangePaste", ts.UILanguageFile);
662 ofn.lpstrTitle = uimsg;
663 ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
664 if (GetOpenFileName(&ofn) != 0) {
665 SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
666 }
667 }
668 return TRUE;
669 }
670
671 return CPropertyPage::OnCommand(wParam, lParam);
672 }
673
674 void CCopypastePropPageDlg::OnOK()
675 {
676 CButton *btn;
677 char buf[64];
678 int val;
679
680 // (1)
681 btn = (CButton *)GetDlgItem(IDC_LINECOPY);
682 ts.EnableContinuedLineCopy = btn->GetCheck();
683
684 // (2)
685 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
686 ts.DisablePasteMouseRButton = btn->GetCheck();
687
688 // (3)
689 btn = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
690 ts.ConfirmPasteMouseRButton = btn->GetCheck();
691
692 // (4)
693 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
694 ts.DisablePasteMouseMButton = btn->GetCheck();
695
696 // (5)
697 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
698 ts.SelectOnlyByLButton = btn->GetCheck();
699
700 // (6)IDC_CONFIRM_CHANGE_PASTE
701 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
702 ts.ConfirmChangePaste = btn->GetCheck();
703 GetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
704
705 // (7)
706 GetDlgItemText(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
707
708 // (8)
709 GetDlgItemText(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));
710 val = atoi(buf);
711 ts.PasteDelayPerLine = min(max(0, val), 5000);
712 }
713
714
715
716 // CVisualPropPageDlg ƒ_ƒCƒAƒ�ƒO
717
718 IMPLEMENT_DYNAMIC(CVisualPropPageDlg, CPropertyPage)
719
720 CVisualPropPageDlg::CVisualPropPageDlg()
721 : CPropertyPage(CVisualPropPageDlg::IDD)
722 {
723
724 }
725
726 CVisualPropPageDlg::~CVisualPropPageDlg()
727 {
728 if (DlgVisualFont != NULL) {
729 DeleteObject(DlgVisualFont);
730 }
731 }
732
733 BEGIN_MESSAGE_MAP(CVisualPropPageDlg, CPropertyPage)
734 END_MESSAGE_MAP()
735
736 // CVisualPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
737
738 BOOL CVisualPropPageDlg::OnInitDialog()
739 {
740 char buf[MAXPATHLEN];
741 char uimsg[MAX_UIMSG];
742 CListBox *listbox;
743 CButton *btn;
744 CComboBox *cmb;
745 int i;
746
747 CPropertyPage::OnInitDialog();
748
749 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
750 GetObject(font, sizeof(LOGFONT), &logfont);
751 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgVisualFont, ts.UILanguageFile)) {
752 SendDlgItemMessage(IDC_ALPHABLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
753 SendDlgItemMessage(IDC_ALPHA_BLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
754 SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
755 SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
756 SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
757 SendDlgItemMessage(IDC_FONT_QUALITY_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
758 SendDlgItemMessage(IDC_FONT_QUALITY, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
759 SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
760 SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
761 SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
762 SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
763 SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
764 SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
765 SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
766 SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
767 SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
768 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
769 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
770 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
771 SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
772 SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
773 SendDlgItemMessage(IDC_URL_UNDERLINE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
774 SendDlgItemMessage(IDC_BGIMG_CHECK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
775 SendDlgItemMessage(IDC_BGIMG_EDIT, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
776 SendDlgItemMessage(IDC_BGIMG_BUTTON, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
777 SendDlgItemMessage(IDC_RESTART, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
778 }
779 else {
780 DlgVisualFont = NULL;
781 }
782
783 GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));
784 get_lang_msg("DLG_TAB_VISUAL_ALHPA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
785 SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);
786 GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));
787 get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
788 SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);
789 GetDlgItemText(IDC_BGIMG_CHECK, uimsg, sizeof(uimsg));
790 get_lang_msg("DLG_TAB_VISUAL_BGIMG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
791 SetDlgItemText(IDC_BGIMG_CHECK, ts.UIMsg);
792 GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));
793 get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
794 SetDlgItemText(IDC_MOUSE, ts.UIMsg);
795 GetDlgItemText(IDC_FONT_QUALITY_LABEL, uimsg, sizeof(uimsg));
796 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
797 SetDlgItemText(IDC_FONT_QUALITY_LABEL, ts.UIMsg);
798 GetDlgItemText(IDC_ANSICOLOR, uimsg, sizeof(uimsg));
799 get_lang_msg("DLG_TAB_VISUAL_ANSICOLOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
800 SetDlgItemText(IDC_ANSICOLOR, ts.UIMsg);
801 GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));
802 get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
803 SetDlgItemText(IDC_RED, ts.UIMsg);
804 GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));
805 get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
806 SetDlgItemText(IDC_GREEN, ts.UIMsg);
807 GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));
808 get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
809 SetDlgItemText(IDC_BLUE, ts.UIMsg);
810 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));
811 get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
812 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);
813 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));
814 get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
815 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);
816 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));
817 get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
818 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);
819 GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));
820 get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
821 SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);
822 GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));
823 get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
824 SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);
825 GetDlgItemText(IDC_URL_UNDERLINE, uimsg, sizeof(uimsg));
826 get_lang_msg("DLG_TAB_VISUAL_URLUL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
827 SetDlgItemText(IDC_URL_UNDERLINE, ts.UIMsg);
828 GetDlgItemText(IDC_RESTART, uimsg, sizeof(uimsg));
829 get_lang_msg("DLG_TAB_VISUAL_RESTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
830 SetDlgItemText(IDC_RESTART, ts.UIMsg);
831
832 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT", ts.UIMsg, sizeof(ts.UIMsg), "Default", ts.UILanguageFile);
833 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
834 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Non-Antialiased", ts.UILanguageFile);
835 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
836 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Antialiased", ts.UILanguageFile);
837 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
838 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE", ts.UIMsg, sizeof(ts.UIMsg), "ClearType", ts.UILanguageFile);
839 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
840
841 // (1)AlphaBlend
842 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlend);
843 SetDlgItemText(IDC_ALPHA_BLEND, buf);
844
845 // (2)[BG] BGEnable
846 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
847 btn->SetCheck(ts.EtermLookfeel.BGEnable);
848
849 // Eterm look-feel‚Ì”wŒi‰æ‘œŽw’è�B
850 SetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath);
851 if (ts.EtermLookfeel.BGEnable) {
852 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);
853
854 btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
855 if (strcmp(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE) == 0) {
856 btn->SetCheck(BST_CHECKED);
857 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
858 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
859 } else {
860 btn->SetCheck(BST_UNCHECKED);
861 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
862 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
863 }
864 } else {
865 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);
866 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
867 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
868 }
869
870 // (3)Mouse cursor type
871 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
872 for (i = 0 ; MouseCursor[i].name ; i++) {
873 listbox->InsertString(i, MouseCursor[i].name);
874 }
875 listbox->SelectString(0, ts.MouseCursorName);
876
877 // (4)Font quality
878 cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
879 switch (ts.FontQuality) {
880 case DEFAULT_QUALITY:
881 cmb->SetCurSel(0);
882 break;
883 case NONANTIALIASED_QUALITY:
884 cmb->SetCurSel(1);
885 break;
886 case ANTIALIASED_QUALITY:
887 cmb->SetCurSel(2);
888 break;
889 default: // CLEARTYPE_QUALITY
890 cmb->SetCurSel(3);
891 break;
892 }
893
894 // (5)ANSI color
895 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
896 for (i = 0 ; i < 16 ; i++) {
897 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
898 listbox->InsertString(i, buf);
899 }
900 SetupRGBbox(GetSafeHwnd(), 0);
901 #if 0
902 SendMessage(WM_CTLCOLORSTATIC,
903 (WPARAM)label_hdc,
904 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
905 #endif
906
907 // (6)Bold Attr Color
908 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
909 btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
910
911 // (7)Blink Attr Color
912 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
913 btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
914
915 // (8)Reverse Attr Color
916 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
917 btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
918
919 // (9)URL Color
920 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
921 btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
922
923 // (10)Color
924 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
925 btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
926
927 // (11)URL Underline
928 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
929 btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);
930
931 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
932 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND));
933
934 return FALSE;
935 }
936
937 BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
938 {
939 CListBox *listbox;
940 int sel;
941 char buf[MAXPATHLEN];
942 CButton *btn;
943
944 switch (wParam) {
945 case IDC_ETERM_LOOKFEEL:
946 // ƒ`ƒFƒbƒN‚³‚ꂽ‚ç Enable/Disable ‚ðƒgƒOƒ‹‚·‚é�B
947 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
948 if (btn->GetCheck()) {
949 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);
950 btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
951 if (btn->GetCheck()) {
952 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
953 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
954 } else {
955 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
956 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
957 }
958 } else {
959 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);
960 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
961 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
962
963 // –³Œø‰»‚³‚ꂽ‚ç�ABGThemeFile ‚ðŒ³‚É–ß‚·�B
964 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
965 // ”wŒi‰æ‘œ‚à–³Œø‰»‚·‚é�B
966 SetDlgItemText(IDC_BGIMG_EDIT, "");
967 }
968 return TRUE;
969
970 case IDC_BGIMG_CHECK:
971 btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
972 if (btn->GetCheck()) {
973 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
974 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
975
976 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
977 } else {
978 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
979 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
980
981 // –³Œø‰»‚³‚ꂽ‚ç�ABGThemeFile ‚ðŒ³‚É–ß‚·�B
982 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
983 // ”wŒi‰æ‘œ‚à–³Œø‰»‚·‚é�B
984 SetDlgItemText(IDC_BGIMG_EDIT, "");
985 }
986 return TRUE;
987
988 case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
989 // ”wŒi‰æ‘œ‚ðƒ_ƒCƒAƒ�ƒO‚ÅŽw’è‚·‚é�B
990 {
991 CString filter("Image Files(*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|All Files(*.*)|*.*||");
992 CFileDialog selDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);
993 if (selDlg.DoModal() == IDOK) {
994 // ”wŒi‰æ‘œŽw’肪ˆÓ�}“I‚É�s‚í‚ꂽ‚ç�ABGThemeFile ‚ðŒÅ’艻‚·‚é�B
995 SetDlgItemText(IDC_BGIMG_EDIT, selDlg.GetPathName());
996 }
997 }
998 return TRUE;
999
1000 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
1001 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1002 sel = listbox->GetCurSel();
1003 if (sel != -1) {
1004 SetupRGBbox(GetSafeHwnd(), sel);
1005 #if 0
1006 SendMessage(WM_CTLCOLORSTATIC,
1007 (WPARAM)label_hdc,
1008 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1009 #endif
1010 }
1011 return TRUE;
1012
1013 case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
1014 case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
1015 case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
1016 {
1017 BYTE r, g, b;
1018
1019 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1020 sel = listbox->GetCurSel();
1021 if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
1022 return TRUE;
1023 }
1024
1025 GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
1026 r = atoi(buf);
1027
1028 GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
1029 g = atoi(buf);
1030
1031 GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
1032 b = atoi(buf);
1033
1034 ts.ANSIColor[sel] = RGB(r, g, b);
1035
1036 // 255‚ð’´‚¦‚½RGB’l‚Í•â�³‚³‚ê‚é‚Ì‚Å�A‚»‚ê‚ðEdit‚É•\ަ‚·‚é (2007.2.18 maya)
1037 SetupRGBbox(GetSafeHwnd(), sel);
1038 #if 0
1039 SendMessage(WM_CTLCOLORSTATIC,
1040 (WPARAM)label_hdc,
1041 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1042 #endif
1043 }
1044
1045 return TRUE;
1046 #if 0
1047 case WM_CTLCOLORSTATIC:
1048 {
1049 HDC hDC = (HDC)wp;
1050 HWND hWnd = (HWND)lp;
1051
1052 //if (label_hdc == NULL) {
1053 hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
1054 // label_hdc = hDC;
1055 //}
1056
1057 if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
1058 BYTE r, g, b;
1059
1060 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
1061 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1062 r = atoi(buf);
1063
1064 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
1065 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1066 g = atoi(buf);
1067
1068 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
1069 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1070 b = atoi(buf);
1071
1072 OutputDebugPrintf("%06x\n", RGB(r, g, b));
1073
1074 SetBkMode(hDC, TRANSPARENT);
1075 SetTextColor(hDC, RGB(r, g, b) );
1076 ReleaseDC(hDlgWnd, hDC);
1077
1078 return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
1079 }
1080 return FALSE;
1081 }
1082 break ;
1083 #endif
1084 }
1085
1086 return CPropertyPage::OnCommand(wParam, lParam);
1087 }
1088
1089 void CVisualPropPageDlg::OnOK()
1090 {
1091 CListBox *listbox;
1092 CButton *btn;
1093 CComboBox *cmb;
1094 int sel;
1095 int beforeAlphaBlend;
1096 char buf[MAXPATHLEN];
1097 COLORREF TmpColor;
1098 int flag_changed = 0;
1099
1100 // (1)
1101 beforeAlphaBlend = ts.AlphaBlend;
1102 GetDlgItemText(IDC_ALPHA_BLEND, buf, sizeof(buf));
1103 if (isdigit(buf[0])) {
1104 ts.AlphaBlend = atoi(buf);
1105 ts.AlphaBlend = max(0, ts.AlphaBlend);
1106 ts.AlphaBlend = min(255, ts.AlphaBlend);
1107 }
1108
1109 // (2)
1110 // ƒOƒ��[ƒoƒ‹•Ï�” BGEnable ‚ð’¼�Ú�‘‚«Š·‚¦‚邯�Aƒvƒ�ƒOƒ‰ƒ€‚ª—Ž‚¿‚邱‚Æ‚ª
1111 // ‚ ‚é‚̂ŃRƒs�[‚ð�C�³‚·‚é‚݂̂Ƃ·‚é�B(2005.4.24 yutaka)
1112 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1113 if (ts.EtermLookfeel.BGEnable != btn->GetCheck()) {
1114 flag_changed = 1;
1115 ts.EtermLookfeel.BGEnable = btn->GetCheck();
1116 }
1117
1118 if (ts.EtermLookfeel.BGEnable) {
1119 GetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
1120 } else {
1121 strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
1122 }
1123
1124 // (3)
1125 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1126 sel = listbox->GetCurSel();
1127 if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
1128 strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
1129 }
1130
1131 // (4)Font quality
1132 cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1133 switch (cmb->GetCurSel()) {
1134 case 0:
1135 ts.FontQuality = DEFAULT_QUALITY;
1136 break;
1137 case 1:
1138 ts.FontQuality = NONANTIALIASED_QUALITY;
1139 break;
1140 case 2:
1141 ts.FontQuality = ANTIALIASED_QUALITY;
1142 break;
1143 default: // 3
1144 ts.FontQuality = CLEARTYPE_QUALITY;
1145 break;
1146 }
1147
1148 // (6) Attr Bold Color
1149 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1150 if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
1151 ts.ColorFlag ^= CF_BOLDCOLOR;
1152 }
1153
1154 // (7) Attr Blink Color
1155 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1156 if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
1157 ts.ColorFlag ^= CF_BLINKCOLOR;
1158 }
1159
1160 // (8) Attr Reverse Color
1161 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1162 if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoƒ‚�[ƒh(DECSCNM)Žž‚Í�ˆ—�‚ð•Ï‚¦‚é
1163 if (ts.ColorFlag & CF_REVERSECOLOR) {
1164 if (!btn->GetCheck()) {
1165 TmpColor = ts.VTColor[0];
1166 ts.VTColor[0] = ts.VTReverseColor[1];
1167 ts.VTReverseColor[1] = ts.VTColor[1];
1168 ts.VTColor[1] = ts.VTReverseColor[0];
1169 ts.VTReverseColor[0] = TmpColor;
1170 ts.ColorFlag ^= CF_REVERSECOLOR;
1171 }
1172 }
1173 else if (btn->GetCheck()) {
1174 TmpColor = ts.VTColor[0];
1175 ts.VTColor[0] = ts.VTReverseColor[0];
1176 ts.VTReverseColor[0] = ts.VTColor[1];
1177 ts.VTColor[1] = ts.VTReverseColor[1];
1178 ts.VTReverseColor[1] = TmpColor;
1179 ts.ColorFlag ^= CF_REVERSECOLOR;
1180 }
1181 }
1182 else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
1183 ts.ColorFlag ^= CF_REVERSECOLOR;
1184 }
1185
1186 // (9) URL Color
1187 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1188 if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
1189 ts.ColorFlag ^= CF_URLCOLOR;
1190 }
1191
1192 // (10) Color
1193 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1194 if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
1195 ts.ColorFlag ^= CF_ANSICOLOR;
1196 }
1197
1198 // (11) URL Underline
1199 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1200 if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {
1201 ts.FontFlag ^= FF_URLUNDERLINE;
1202 }
1203
1204 // 2006/03/11 by 337 : Alpha’l‚à‘¦Žž•Ï�X
1205 // Layered‘‹‚ɂȂÁ‚Ä‚¢‚È‚¢�ê�‡‚ÍŒø‰Ê‚ª–³‚¢
1206 if (ts.EtermLookfeel.BGUseAlphaBlendAPI) {
1207 // ‹N“®Žž‚É”¼“§–¾ƒŒƒCƒ„‚É‚µ‚Ä‚¢‚È‚¢�ê�‡‚Å‚à�A‘¦�À‚É”¼“§–¾‚Æ‚È‚é‚æ‚¤‚É‚·‚é�B(2006.4.1 yutaka)
1208 //MySetLayeredWindowAttributes(HVTWin, 0, (ts.AlphaBlend > 255) ? 255: ts.AlphaBlend, LWA_ALPHA);
1209 // ’l‚ª•Ï�X‚³‚ꂽ‚Æ‚«‚Ì‚Ý�Ý’è‚𔽉f‚·‚é�B(2007.10.19 maya)
1210 if (ts.AlphaBlend != beforeAlphaBlend) {
1211 SetWindowStyle(&ts);
1212 }
1213 }
1214
1215 if (flag_changed) {
1216 // re-launch
1217 // RestartTeraTerm(GetSafeHwnd(), &ts);
1218 }
1219 }
1220
1221
1222
1223 // CLogPropPageDlg ƒ_ƒCƒAƒ�ƒO
1224
1225 IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
1226
1227 CLogPropPageDlg::CLogPropPageDlg()
1228 : CPropertyPage(CLogPropPageDlg::IDD)
1229 {
1230
1231 }
1232
1233 CLogPropPageDlg::~CLogPropPageDlg()
1234 {
1235 if (DlgLogFont != NULL) {
1236 DeleteObject(DlgLogFont);
1237 }
1238 }
1239
1240 BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
1241 END_MESSAGE_MAP()
1242
1243 // CLogPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1244
1245 #define LOG_ROTATE_SIZETYPE_NUM 3
1246 static char *LogRotateSizeType[] = {
1247 "Byte", "KB", "MB"
1248 };
1249
1250 static char *GetLogRotateSizeType(int val)
1251 {
1252 if (val >= LOG_ROTATE_SIZETYPE_NUM)
1253 val = 0;
1254
1255 return LogRotateSizeType[val];
1256 }
1257
1258 BOOL CLogPropPageDlg::OnInitDialog()
1259 {
1260 char uimsg[MAX_UIMSG];
1261 CButton *btn;
1262 CComboBox *combo;
1263 int i, TmpLogRotateSize;
1264
1265 CPropertyPage::OnInitDialog();
1266
1267 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1268 GetObject(font, sizeof(LOGFONT), &logfont);
1269 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
1270 SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1271 SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1272 SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1273 SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1274 SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1275 SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1276 SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1277 SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1278 SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1279
1280 // Log rotate
1281 SendDlgItemMessage(IDC_LOG_ROTATE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1282 SendDlgItemMessage(IDC_ROTATE_SIZE_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1283 SendDlgItemMessage(IDC_ROTATE_SIZE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1284 SendDlgItemMessage(IDC_ROTATE_SIZE_TYPE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1285 SendDlgItemMessage(IDC_ROTATE_STEP_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1286 SendDlgItemMessage(IDC_ROTATE_STEP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1287
1288 // Log options
1289 SendDlgItemMessage(IDC_LOG_OPTION_GROUP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1290 SendDlgItemMessage(IDC_OPT_BINARY, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1291 SendDlgItemMessage(IDC_OPT_APPEND, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1292 SendDlgItemMessage(IDC_OPT_PLAINTEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1293 SendDlgItemMessage(IDC_OPT_TIMESTAMP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1294 SendDlgItemMessage(IDC_OPT_HIDEDLG, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1295 SendDlgItemMessage(IDC_OPT_INCBUF, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1296 }
1297 else {
1298 DlgLogFont = NULL;
1299 }
1300
1301 GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
1302 get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1303 SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
1304 GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
1305 get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1306 SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
1307 GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
1308 get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1309 SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
1310 GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
1311 get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1312 SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
1313 // Log rotate
1314 GetDlgItemText(IDC_LOG_ROTATE, uimsg, sizeof(uimsg));
1315 get_lang_msg("DLG_TAB_LOG_ROTATE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1316 SetDlgItemText(IDC_LOG_ROTATE, ts.UIMsg);
1317 GetDlgItemText(IDC_ROTATE_SIZE_TEXT, uimsg, sizeof(uimsg));
1318 get_lang_msg("DLG_TAB_LOG_ROTATE_SIZE_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1319 SetDlgItemText(IDC_ROTATE_SIZE_TEXT, ts.UIMsg);
1320 GetDlgItemText(IDC_ROTATE_STEP_TEXT, uimsg, sizeof(uimsg));
1321 get_lang_msg("IDC_ROTATE_STEP_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1322 SetDlgItemText(IDC_ROTATE_STEP_TEXT, ts.UIMsg);
1323 // Log options
1324 // FIXME: ƒ�ƒbƒZ�[ƒWƒJƒ^ƒ�ƒO‚ÍŠù‘¶‚̃�ƒOƒIƒvƒVƒ‡ƒ“‚Ì‚à‚̂𗬗p‚µ‚½‚ª�AƒAƒNƒZƒ‰ƒŒ�[ƒ^ƒL�[‚ª�d•¡‚·‚é‚©‚à‚µ‚ê‚È‚¢�B
1325 GetDlgItemText(IDC_LOG_OPTION_GROUP, uimsg, sizeof(uimsg));
1326 get_lang_msg("DLG_FOPT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1327 SetDlgItemText(IDC_LOG_OPTION_GROUP, ts.UIMsg);
1328 GetDlgItemText(IDC_OPT_BINARY, uimsg, sizeof(uimsg));
1329 get_lang_msg("DLG_FOPT_BINARY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1330 SetDlgItemText(IDC_OPT_BINARY, ts.UIMsg);
1331 GetDlgItemText(IDC_OPT_APPEND, uimsg, sizeof(uimsg));
1332 get_lang_msg("DLG_FOPT_APPEND", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1333 SetDlgItemText(IDC_OPT_APPEND, ts.UIMsg);
1334 GetDlgItemText(IDC_OPT_PLAINTEXT, uimsg, sizeof(uimsg));
1335 get_lang_msg("DLG_FOPT_PLAIN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1336 SetDlgItemText(IDC_OPT_PLAINTEXT, ts.UIMsg);
1337 GetDlgItemText(IDC_OPT_TIMESTAMP, uimsg, sizeof(uimsg));
1338 get_lang_msg("DLG_FOPT_TIMESTAMP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1339 SetDlgItemText(IDC_OPT_TIMESTAMP, ts.UIMsg);
1340 GetDlgItemText(IDC_OPT_HIDEDLG, uimsg, sizeof(uimsg));
1341 get_lang_msg("DLG_FOPT_HIDEDIALOG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1342 SetDlgItemText(IDC_OPT_HIDEDLG, ts.UIMsg);
1343 GetDlgItemText(IDC_OPT_INCBUF, uimsg, sizeof(uimsg));
1344 get_lang_msg("DLG_FOPT_ALLBUFFINFIRST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1345 SetDlgItemText(IDC_OPT_INCBUF, ts.UIMsg);
1346
1347
1348 // Viewlog Editor path (2005.1.29 yutaka)
1349 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1350
1351 // Log Default File Name (2006.8.28 maya)
1352 SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1353
1354 // Log Default File Path (2007.5.30 maya)
1355 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1356
1357 /* Auto start logging (2007.5.31 maya) */
1358 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1359 btn->SetCheck(ts.LogAutoStart);
1360
1361 // Log rotate
1362 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1363 btn->SetCheck(ts.LogRotate != ROTATE_NONE);
1364
1365 combo = (CComboBox *)GetDlgItem(IDC_ROTATE_SIZE_TYPE);
1366 for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1367 combo->AddString(LogRotateSizeType[i]);
1368 }
1369
1370 TmpLogRotateSize = ts.LogRotateSize;
1371 for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1372 TmpLogRotateSize /= 1024;
1373 SetDlgItemInt(IDC_ROTATE_SIZE, TmpLogRotateSize, FALSE);
1374 combo->SelectString(-1, GetLogRotateSizeType(ts.LogRotateSizeType));
1375 SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1376 if (ts.LogRotate == ROTATE_NONE) {
1377 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1378 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1379 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1380 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1381 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1382 } else {
1383 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1384 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1385 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1386 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1387 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1388 }
1389
1390 // Log options
1391 btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1392 btn->SetCheck(ts.LogBinary != 0);
1393 if (ts.LogBinary) {
1394 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1395 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1396 } else {
1397 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1398 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1399 }
1400 btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1401 btn->SetCheck(ts.Append != 0);
1402 btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1403 btn->SetCheck(ts.LogTypePlainText != 0);
1404 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1405 btn->SetCheck(ts.LogTimestamp != 0);
1406 btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1407 btn->SetCheck(ts.LogHideDialog != 0);
1408 btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1409 btn->SetCheck(ts.LogAllBuffIncludedInFirst != 0);
1410
1411
1412 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1413 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1414
1415 return FALSE;
1416 }
1417
1418 BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1419 {
1420 char uimsg[MAX_UIMSG];
1421 char buf[MAX_PATH], buf2[MAX_PATH];
1422
1423 switch (wParam) {
1424 case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1425 {
1426 OPENFILENAME ofn;
1427
1428 ZeroMemory(&ofn, sizeof(ofn));
1429 ofn.lStructSize = get_OPENFILENAME_SIZE();
1430 ofn.hwndOwner = GetSafeHwnd();
1431 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1432 "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1433 ofn.lpstrFilter = ts.UIMsg;
1434 ofn.lpstrFile = ts.ViewlogEditor;
1435 ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1436 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1437 "Choose a executing file with launching logging file", ts.UILanguageFile);
1438 ofn.lpstrTitle = uimsg;
1439 ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1440 if (GetOpenFileName(&ofn) != 0) {
1441 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1442 }
1443 }
1444 return TRUE;
1445
1446 case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1447 // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1448 get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1449 "Select log folder", ts.UILanguageFile);
1450 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, buf, sizeof(buf));
1451 if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1452 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, buf2);
1453 }
1454
1455 return TRUE;
1456
1457 case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1458 {
1459 CButton *btn;
1460 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1461 if (btn->GetCheck()) {
1462 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1463 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1464 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1465 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1466 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1467 } else {
1468 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1469 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1470 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1471 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1472 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1473 }
1474
1475 }
1476 return TRUE;
1477
1478 case IDC_OPT_BINARY | (BN_CLICKED << 16):
1479 {
1480 CButton *btn;
1481 // ƒoƒCƒiƒŠƒIƒvƒVƒ‡ƒ“‚ª—LŒø‚Ì�ê�‡�AFixLogOption() ‚Å–³Œø‰»‚µ‚Ä‚¢‚é
1482 // ƒIƒvƒVƒ‡ƒ“‚ð�A‚±‚±‚Å‚à–³Œø‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢�B
1483 btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1484 if (btn->GetCheck()) {
1485 ts.LogBinary = 1;
1486
1487 ts.LogTypePlainText = 0;
1488 ts.LogTimestamp = 0;
1489 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1490 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1491 } else {
1492 ts.LogBinary = 0;
1493
1494 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1495 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1496 }
1497 }
1498 return TRUE;
1499
1500 case IDC_OPT_APPEND | (BN_CLICKED << 16):
1501 {
1502 CButton *btn;
1503 btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1504 if (btn->GetCheck()) {
1505 ts.Append = 1;
1506 } else {
1507 ts.Append = 0;
1508 }
1509 }
1510 return TRUE;
1511
1512 case IDC_OPT_PLAINTEXT | (BN_CLICKED << 16):
1513 {
1514 CButton *btn;
1515 btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1516 if (btn->GetCheck()) {
1517 ts.LogTypePlainText = 1;
1518 } else {
1519 ts.LogTypePlainText = 0;
1520 }
1521 }
1522 return TRUE;
1523
1524 case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1525 {
1526 CButton *btn;
1527 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1528 if (btn->GetCheck()) {
1529 ts.LogTimestamp = 1;
1530 } else {
1531 ts.LogTimestamp = 0;
1532 }
1533 }
1534 return TRUE;
1535
1536 case IDC_OPT_HIDEDLG | (BN_CLICKED << 16):
1537 {
1538 CButton *btn;
1539 btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1540 if (btn->GetCheck()) {
1541 ts.LogHideDialog = 1;
1542 } else {
1543 ts.LogHideDialog = 0;
1544 }
1545 }
1546 return TRUE;
1547
1548 case IDC_OPT_INCBUF | (BN_CLICKED << 16):
1549 {
1550 CButton *btn;
1551 btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1552 if (btn->GetCheck()) {
1553 ts.LogAllBuffIncludedInFirst = 1;
1554 } else {
1555 ts.LogAllBuffIncludedInFirst = 0;
1556 }
1557 }
1558 return TRUE;
1559 }
1560
1561 return CPropertyPage::OnCommand(wParam, lParam);
1562 }
1563
1564 void CLogPropPageDlg::OnOK()
1565 {
1566 char buf[80], buf2[80];
1567 time_t time_local;
1568 struct tm *tm_local;
1569 char uimsg[MAX_UIMSG];
1570 CButton *btn;
1571 CString str;
1572 int i;
1573
1574 // Viewlog Editor path (2005.1.29 yutaka)
1575 GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1576
1577 // Log Default File Name (2006.8.28 maya)
1578 GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1579 if (isInvalidStrftimeChar(buf)) {
1580 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1581 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1582 "Invalid character is included in log file name.", ts.UILanguageFile);
1583 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1584 return;
1585 }
1586 // Œ»�ÝŽž��‚ðŽæ“¾
1587 time(&time_local);
1588 tm_local = localtime(&time_local);
1589 // Žž��•¶Žš—ñ‚ɕϊ·
1590 if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1591 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1592 get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1593 "The log file name is too long.", ts.UILanguageFile);
1594 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1595 return;
1596 }
1597 if (isInvalidFileNameChar(buf2)) {
1598 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1599 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1600 "Invalid character is included in log file name.", ts.UILanguageFile);
1601 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1602 return;
1603 }
1604 strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1605
1606 // Log Default File Path (2007.5.30 maya)
1607 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1608
1609 /* Auto start logging (2007.5.31 maya) */
1610 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1611 ts.LogAutoStart = btn->GetCheck();
1612
1613 /* Log Rotate */
1614 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1615 if (btn->GetCheck()) { /* on */
1616 ts.LogRotate = ROTATE_SIZE;
1617
1618 ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);
1619 for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1620 if (strcmp(str, LogRotateSizeType[i]) == 0)
1621 break;
1622 }
1623 if (i >= LOG_ROTATE_SIZETYPE_NUM)
1624 i = 0;
1625 ts.LogRotateSizeType = i;
1626
1627 ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1628 for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1629 ts.LogRotateSize *= 1024;
1630
1631 ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1632
1633 } else { /* off */
1634 ts.LogRotate = ROTATE_NONE;
1635 /* Žc‚è‚̃�ƒ“ƒo�[‚͈Ó�}“I‚É�Ý’è‚ðŽc‚·�B*/
1636 }
1637
1638 }
1639
1640
1641
1642 // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
1643
1644 IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1645
1646 CCygwinPropPageDlg::CCygwinPropPageDlg()
1647 : CPropertyPage(CCygwinPropPageDlg::IDD)
1648 {
1649 }
1650
1651 CCygwinPropPageDlg::~CCygwinPropPageDlg()
1652 {
1653 if (DlgCygwinFont != NULL) {
1654 DeleteObject(DlgCygwinFont);
1655 }
1656 }
1657
1658 BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1659 END_MESSAGE_MAP()
1660
1661 // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1662 #define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file
1663
1664 BOOL CCygwinPropPageDlg::OnInitDialog()
1665 {
1666 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1667 char cfg[MAX_PATH];
1668 FILE *fp;
1669 char buf[256], *head, *body;
1670 char uimsg[MAX_UIMSG];
1671 CButton *btn;
1672
1673 CPropertyPage::OnInitDialog();
1674
1675 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1676 GetObject(font, sizeof(LOGFONT), &logfont);
1677 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1678 SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1679 SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1680 SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1681 SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1682 SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1683 SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1684 SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1685 SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1686 SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1687 SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1688 SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1689 SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1690 SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1691 SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1692 SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1693 SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1694 SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1695 SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1696 SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1697 SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1698 SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1699 }
1700 else {
1701 DlgCygwinFont = NULL;
1702 }
1703
1704 GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1705 get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1706 SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1707
1708 // try to read CygTerm config file
1709 memset(&settings, 0, sizeof(settings));
1710 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
1711 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
1712 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
1713 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
1714 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
1715 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
1716 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
1717 settings.login_shell = FALSE;
1718 settings.home_chdir = FALSE;
1719 settings.agent_proxy = FALSE;
1720
1721 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1722 AppendSlash(cfg, sizeof(cfg));
1723 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1724
1725 fp = fopen(cfg, "r");
1726 if (fp != NULL) {
1727 while (fgets(buf, sizeof(buf), fp) != NULL) {
1728 int len = strlen(buf);
1729
1730 if (buf[len - 1] == '\n')
1731 buf[len - 1] = '\0';
1732
1733 split_buffer(buf, '=', &head, &body);
1734 if (head == NULL || body == NULL)
1735 continue;
1736
1737 if (_stricmp(head, "TERM") == 0) {
1738 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1739
1740 } else if (_stricmp(head, "TERM_TYPE") == 0) {
1741 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1742
1743 } else if (_stricmp(head, "PORT_START") == 0) {
1744 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1745
1746 } else if (_stricmp(head, "PORT_RANGE") == 0) {
1747 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1748
1749 } else if (_stricmp(head, "SHELL") == 0) {
1750 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1751
1752 } else if (_stricmp(head, "ENV_1") == 0) {
1753 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1754
1755 } else if (_stricmp(head, "ENV_2") == 0) {
1756 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1757
1758 } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1759 if (strchr("YyTt", *body)) {
1760 settings.login_shell = TRUE;
1761 }
1762
1763 } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1764 if (strchr("YyTt", *body)) {
1765 settings.home_chdir = TRUE;
1766 }
1767
1768 } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1769 if (strchr("YyTt", *body)) {
1770 settings.agent_proxy = TRUE;
1771 }
1772
1773 } else {
1774 // TODO: error check
1775
1776 }
1777 }
1778 fclose(fp);
1779 }
1780 SetDlgItemText(IDC_TERM_EDIT, settings.term);
1781 SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1782 SetDlgItemText(IDC_PORT_START, settings.port_start);
1783 SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1784 SetDlgItemText(IDC_SHELL, settings.shell);
1785 SetDlgItemText(IDC_ENV1, settings.env1);
1786 SetDlgItemText(IDC_ENV2, settings.env2);
1787 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1788 btn->SetCheck(settings.login_shell);
1789 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1790 btn->SetCheck(settings.home_chdir);
1791 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1792 btn->SetCheck(settings.agent_proxy);
1793
1794 // Cygwin install path
1795 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1796
1797 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1798 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1799
1800 return FALSE;
1801 }
1802
1803 BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1804 {
1805 char buf[MAX_PATH], buf2[MAX_PATH];
1806
1807 switch (wParam) {
1808 case IDC_SELECT_FILE | (BN_CLICKED << 16):
1809 // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1810 get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1811 "Select Cygwin directory", ts.UILanguageFile);
1812 GetDlgItemText(IDC_CYGWIN_PATH, buf, sizeof(buf));
1813 if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1814 SetDlgItemText(IDC_CYGWIN_PATH, buf2);
1815 }
1816 return TRUE;
1817 }
1818
1819 return CPropertyPage::OnCommand(wParam, lParam);
1820 }
1821
1822 void CCygwinPropPageDlg::OnOK()
1823 {
1824 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1825 char *tmpfile = "cygterm.tmp";
1826 char cfg[MAX_PATH];
1827 char tmp[MAX_PATH];
1828 FILE *fp;
1829 FILE *tmp_fp;
1830 char buf[256], *head, *body;
1831 char uimsg[MAX_UIMSG];
1832 CButton *btn;
1833
1834 // writing to CygTerm config file
1835 GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1836 GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1837 GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1838 GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1839 GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1840 GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1841 GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1842 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1843 settings.login_shell = btn->GetCheck();
1844 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1845 settings.home_chdir = btn->GetCheck();
1846 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1847 settings.agent_proxy = btn->GetCheck();
1848
1849 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1850 AppendSlash(cfg, sizeof(cfg));
1851 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1852
1853 strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1854 AppendSlash(tmp, sizeof(tmp));
1855 strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1856
1857 fp = fopen(cfg, "r");
1858 tmp_fp = fopen(tmp, "w");
1859 if (tmp_fp == NULL) {
1860 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1861 get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1862 "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1863 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1864 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1865 } else {
1866 if (fp != NULL) {
1867 while (fgets(buf, sizeof(buf), fp) != NULL) {
1868 int len = strlen(buf);
1869
1870 if (buf[len - 1] == '\n')
1871 buf[len - 1] = '\0';
1872
1873 split_buffer(buf, '=', &head, &body);
1874 if (head == NULL || body == NULL) {
1875 fprintf(tmp_fp, "%s\n", buf);
1876 }
1877 else if (_stricmp(head, "TERM") == 0) {
1878 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1879 settings.term[0] = '\0';
1880 }
1881 else if (_stricmp(head, "TERM_TYPE") == 0) {
1882 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1883 settings.term_type[0] = '\0';
1884 }
1885 else if (_stricmp(head, "PORT_START") == 0) {
1886 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1887 settings.port_start[0] = '\0';
1888 }
1889 else if (_stricmp(head, "PORT_RANGE") == 0) {
1890 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1891 settings.port_range[0] = '\0';
1892 }
1893 else if (_stricmp(head, "SHELL") == 0) {
1894 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1895 settings.shell[0] = '\0';
1896 }
1897 else if (_stricmp(head, "ENV_1") == 0) {
1898 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1899 settings.env1[0] = '\0';
1900 }
1901 else if (_stricmp(head, "ENV_2") == 0) {
1902 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1903 settings.env2[0] = '\0';
1904 }
1905 else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1906 fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1907 settings.login_shell = FALSE;
1908 }
1909 else if (_stricmp(head, "HOME_CHDIR") == 0) {
1910 fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1911 settings.home_chdir = FALSE;
1912 }
1913 else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1914 fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1915 settings.agent_proxy = FALSE;
1916 }
1917 else {
1918 fprintf(tmp_fp, "%s = %s\n", head, body);
1919 }
1920 }
1921 fclose(fp);
1922 }
1923 else {
1924 fputs("# CygTerm setting\n", tmp_fp);
1925 fputs("\n", tmp_fp);
1926 }
1927 if (settings.term[0] != '\0') {
1928 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1929 }
1930 if (settings.term_type[0] != '\0') {
1931 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1932 }
1933 if (settings.port_start[0] != '\0') {
1934 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1935 }
1936 if (settings.port_range[0] != '\0') {
1937 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1938 }
1939 if (settings.shell[0] != '\0') {
1940 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1941 }
1942 if (settings.env1[0] != '\0') {
1943 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1944 }
1945 if (settings.env2[0] != '\0') {
1946 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1947 }
1948 if (settings.login_shell) {
1949 fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1950 }
1951 if (settings.home_chdir) {
1952 fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1953 }
1954 if (settings.agent_proxy) {
1955 fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1956 }
1957 fclose(tmp_fp);
1958
1959 if (remove(cfg) != 0 && errno != ENOENT) {
1960 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1961 get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1962 "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1963 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1964 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1965 }
1966 else if (rename(tmp, cfg) != 0) {
1967 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1968 get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1969 "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1970 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1971 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1972 } else {
1973 // cygterm.cfg ƒtƒ@ƒCƒ‹‚ւ̕ۑ¶‚ª�¬Œ÷‚µ‚½‚ç�Aƒ�ƒbƒZ�[ƒWƒ_ƒCƒAƒ�ƒO‚ð•\ަ‚·‚é�B
1974 // ‰ü‚ß‚Ä�ASave setup‚ðŽÀ�s‚·‚é•K—v‚͂Ȃ¢‚±‚Æ‚ð’�ˆÓŠ«‹N‚·‚é�B
1975 // (2012.5.1 yutaka)
1976 get_lang_msg("MSG_TT_NOTICE", uimsg, sizeof(uimsg), "MSG_TT_NOTICE", ts.UILanguageFile);
1977 get_lang_msg("MSG_CYGTERM_CONF_SAVED_NOTICE", ts.UIMsg, sizeof(ts.UIMsg),
1978 "%s has been saved. Do not do save setup.", ts.UILanguageFile);
1979 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, CYGTERM_FILE);
1980 MessageBox(buf, uimsg, MB_OK | MB_ICONINFORMATION);
1981 }
1982 }
1983
1984 // Cygwin install path
1985 GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1986 }
1987
1988
1989
1990 // CAddSettingPropSheetDlg
1991
1992 IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1993
1994 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1995 :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1996 {
1997 AddPage(&m_GeneralPage);
1998 AddPage(&m_SequencePage);
1999 AddPage(&m_CopypastePage);
2000 AddPage(&m_VisualPage);
2001 AddPage(&m_LogPage);
2002 AddPage(&m_CygwinPage);
2003
2004 m_psh.dwFlags |= PSH_NOAPPLYNOW;
2005 }
2006
2007 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
2008 :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
2009 {
2010 AddPage(&m_GeneralPage);
2011 AddPage(&m_SequencePage);
2012 AddPage(&m_CopypastePage);
2013 AddPage(&m_VisualPage);
2014 AddPage(&m_LogPage);
2015 AddPage(&m_CygwinPage);
2016
2017 m_psh.dwFlags |= PSH_NOAPPLYNOW;
2018 }
2019
2020 CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
2021 {
2022 }
2023
2024
2025 BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
2026 END_MESSAGE_MAP()
2027
2028
2029 // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
2030
2031 BOOL CAddSettingPropSheetDlg::OnInitDialog()
2032 {
2033 CPropertySheet::OnInitDialog();
2034
2035 get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
2036 "Tera Term: Additional settings", ts.UILanguageFile);
2037 SetWindowText(ts.UIMsg);
2038
2039 CTabCtrl *tab = GetTabControl();
2040 TCITEM tc;
2041 tc.mask = TCIF_TEXT;
2042
2043 get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
2044 "General", ts.UILanguageFile);
2045 tc.pszText = ts.UIMsg;
2046 tab->SetItem(0, &tc);
2047
2048 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
2049 "Control Sequence", ts.UILanguageFile);
2050 tc.pszText = ts.UIMsg;
2051 tab->SetItem(1, &tc);
2052
2053 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
2054 "Copy and Paste", ts.UILanguageFile);
2055 tc.pszText = ts.UIMsg;
2056 tab->SetItem(2, &tc);
2057
2058 get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
2059 "Visual", ts.UILanguageFile);
2060 tc.pszText = ts.UIMsg;
2061 tab->SetItem(3, &tc);
2062
2063 get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
2064 "Log", ts.UILanguageFile);
2065 tc.pszText = ts.UIMsg;
2066 tab->SetItem(4, &tc);
2067
2068 get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
2069 "Cygwin", ts.UILanguageFile);
2070 tc.pszText = ts.UIMsg;
2071 tab->SetItem(5, &tc);
2072
2073 return FALSE;
2074 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26