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 5613 - (show annotations) (download) (as text)
Sat Jun 21 12:29:59 2014 UTC (9 years, 9 months ago) by yutakapon
File MIME type: text/x-c++src
File size: 76423 byte(s)
チケット #33912
「TeraTerm:その他の設定」画面の「ログ」タブに、手動ログ採取時に選択できる
下記オプション群を設定できるようにした。
 ・バイナリ
 ・追記
 ・プレーンテキスト
 ・タイムスタンプ
 ・ダイアログを非表示
 ・現在バッファを含む

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;
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 SetDlgItemInt(IDC_ROTATE_SIZE, ts.LogRotateSize, FALSE);
1371 combo->SelectString(-1, GetLogRotateSizeType(ts.LogRotateSizeType));
1372 SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1373 if (ts.LogRotate == ROTATE_NONE) {
1374 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1375 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1376 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1377 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1378 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1379 } else {
1380 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1381 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1382 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1383 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1384 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1385 }
1386
1387 // Log options
1388 btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1389 btn->SetCheck(ts.LogBinary != 0);
1390 if (ts.LogBinary) {
1391 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1392 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1393 } else {
1394 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1395 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1396 }
1397 btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1398 btn->SetCheck(ts.Append != 0);
1399 btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1400 btn->SetCheck(ts.LogTypePlainText != 0);
1401 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1402 btn->SetCheck(ts.LogTimestamp != 0);
1403 btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1404 btn->SetCheck(ts.LogHideDialog != 0);
1405 btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1406 btn->SetCheck(ts.LogAllBuffIncludedInFirst != 0);
1407
1408
1409 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1410 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1411
1412 return FALSE;
1413 }
1414
1415 BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1416 {
1417 char uimsg[MAX_UIMSG];
1418
1419 switch (wParam) {
1420 case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1421 {
1422 OPENFILENAME ofn;
1423
1424 ZeroMemory(&ofn, sizeof(ofn));
1425 ofn.lStructSize = get_OPENFILENAME_SIZE();
1426 ofn.hwndOwner = GetSafeHwnd();
1427 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1428 "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1429 ofn.lpstrFilter = ts.UIMsg;
1430 ofn.lpstrFile = ts.ViewlogEditor;
1431 ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1432 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1433 "Choose a executing file with launching logging file", ts.UILanguageFile);
1434 ofn.lpstrTitle = uimsg;
1435 ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1436 if (GetOpenFileName(&ofn) != 0) {
1437 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1438 }
1439 }
1440 return TRUE;
1441
1442 case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1443 // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1444 get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1445 "Select log folder", ts.UILanguageFile);
1446 doSelectFolder(GetSafeHwnd(), ts.LogDefaultPath, sizeof(ts.LogDefaultPath),
1447 ts.UIMsg);
1448 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1449
1450 return TRUE;
1451
1452 case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1453 {
1454 CButton *btn;
1455 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1456 if (btn->GetCheck()) {
1457 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1458 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1459 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1460 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1461 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1462 } else {
1463 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1464 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1465 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1466 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1467 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1468 }
1469
1470 }
1471 return TRUE;
1472
1473 case IDC_OPT_BINARY | (BN_CLICKED << 16):
1474 {
1475 CButton *btn;
1476 // ƒoƒCƒiƒŠƒIƒvƒVƒ‡ƒ“‚ª—LŒø‚Ì�ê�‡�AFixLogOption() ‚Å–³Œø‰»‚µ‚Ä‚¢‚é
1477 // ƒIƒvƒVƒ‡ƒ“‚ð�A‚±‚±‚Å‚à–³Œø‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢�B
1478 btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1479 if (btn->GetCheck()) {
1480 ts.LogBinary = 1;
1481
1482 ts.LogTypePlainText = 0;
1483 ts.LogTimestamp = 0;
1484 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1485 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1486 } else {
1487 ts.LogBinary = 0;
1488
1489 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1490 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1491 }
1492 }
1493 return TRUE;
1494
1495 case IDC_OPT_APPEND | (BN_CLICKED << 16):
1496 {
1497 CButton *btn;
1498 btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1499 if (btn->GetCheck()) {
1500 ts.Append = 1;
1501 } else {
1502 ts.Append = 0;
1503 }
1504 }
1505 return TRUE;
1506
1507 case IDC_OPT_PLAINTEXT | (BN_CLICKED << 16):
1508 {
1509 CButton *btn;
1510 btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1511 if (btn->GetCheck()) {
1512 ts.LogTypePlainText = 1;
1513 } else {
1514 ts.LogTypePlainText = 0;
1515 }
1516 }
1517 return TRUE;
1518
1519 case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1520 {
1521 CButton *btn;
1522 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1523 if (btn->GetCheck()) {
1524 ts.LogTimestamp = 1;
1525 } else {
1526 ts.LogTimestamp = 0;
1527 }
1528 }
1529 return TRUE;
1530
1531 case IDC_OPT_HIDEDLG | (BN_CLICKED << 16):
1532 {
1533 CButton *btn;
1534 btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1535 if (btn->GetCheck()) {
1536 ts.LogHideDialog = 1;
1537 } else {
1538 ts.LogHideDialog = 0;
1539 }
1540 }
1541 return TRUE;
1542
1543 case IDC_OPT_INCBUF | (BN_CLICKED << 16):
1544 {
1545 CButton *btn;
1546 btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1547 if (btn->GetCheck()) {
1548 ts.LogAllBuffIncludedInFirst = 1;
1549 } else {
1550 ts.LogAllBuffIncludedInFirst = 0;
1551 }
1552 }
1553 return TRUE;
1554 }
1555
1556 return CPropertyPage::OnCommand(wParam, lParam);
1557 }
1558
1559 void CLogPropPageDlg::OnOK()
1560 {
1561 char buf[80], buf2[80];
1562 time_t time_local;
1563 struct tm *tm_local;
1564 char uimsg[MAX_UIMSG];
1565 CButton *btn;
1566 CString str;
1567 int i;
1568
1569 // Viewlog Editor path (2005.1.29 yutaka)
1570 GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1571
1572 // Log Default File Name (2006.8.28 maya)
1573 GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1574 if (isInvalidStrftimeChar(buf)) {
1575 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1576 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1577 "Invalid character is included in log file name.", ts.UILanguageFile);
1578 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1579 return;
1580 }
1581 // Œ»�ÝŽž��‚ðŽæ“¾
1582 time(&time_local);
1583 tm_local = localtime(&time_local);
1584 // Žž��•¶Žš—ñ‚ɕϊ·
1585 if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1586 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1587 get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1588 "The log file name is too long.", ts.UILanguageFile);
1589 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1590 return;
1591 }
1592 if (isInvalidFileNameChar(buf2)) {
1593 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1594 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1595 "Invalid character is included in log file name.", ts.UILanguageFile);
1596 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1597 return;
1598 }
1599 strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1600
1601 // Log Default File Path (2007.5.30 maya)
1602 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1603
1604 /* Auto start logging (2007.5.31 maya) */
1605 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1606 ts.LogAutoStart = btn->GetCheck();
1607
1608 /* Log Rotate */
1609 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1610 if (btn->GetCheck()) { /* on */
1611 ts.LogRotate = ROTATE_SIZE;
1612
1613 ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);
1614 for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1615 if (strcmp(str, LogRotateSizeType[i]) == 0)
1616 break;
1617 }
1618 if (i >= LOG_ROTATE_SIZETYPE_NUM)
1619 i = 0;
1620 ts.LogRotateSizeType = i;
1621
1622 ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1623 for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1624 ts.LogRotateSize *= 1024;
1625
1626 ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1627
1628 } else { /* off */
1629 ts.LogRotate = ROTATE_NONE;
1630 /* Žc‚è‚̃�ƒ“ƒo�[‚͈Ó�}“I‚É�Ý’è‚ðŽc‚·�B*/
1631 }
1632
1633 }
1634
1635
1636
1637 // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
1638
1639 IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1640
1641 CCygwinPropPageDlg::CCygwinPropPageDlg()
1642 : CPropertyPage(CCygwinPropPageDlg::IDD)
1643 {
1644 }
1645
1646 CCygwinPropPageDlg::~CCygwinPropPageDlg()
1647 {
1648 if (DlgCygwinFont != NULL) {
1649 DeleteObject(DlgCygwinFont);
1650 }
1651 }
1652
1653 BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1654 END_MESSAGE_MAP()
1655
1656 // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1657 #define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file
1658
1659 BOOL CCygwinPropPageDlg::OnInitDialog()
1660 {
1661 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1662 char cfg[MAX_PATH];
1663 FILE *fp;
1664 char buf[256], *head, *body;
1665 char uimsg[MAX_UIMSG];
1666 CButton *btn;
1667
1668 CPropertyPage::OnInitDialog();
1669
1670 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1671 GetObject(font, sizeof(LOGFONT), &logfont);
1672 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1673 SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1674 SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1675 SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1676 SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1677 SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1678 SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1679 SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1680 SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1681 SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1682 SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1683 SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1684 SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1685 SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1686 SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1687 SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1688 SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1689 SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1690 SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1691 SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1692 SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1693 SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1694 }
1695 else {
1696 DlgCygwinFont = NULL;
1697 }
1698
1699 GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1700 get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1701 SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1702
1703 // try to read CygTerm config file
1704 memset(&settings, 0, sizeof(settings));
1705 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
1706 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
1707 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
1708 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
1709 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
1710 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
1711 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
1712 settings.login_shell = FALSE;
1713 settings.home_chdir = FALSE;
1714 settings.agent_proxy = FALSE;
1715
1716 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1717 AppendSlash(cfg, sizeof(cfg));
1718 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1719
1720 fp = fopen(cfg, "r");
1721 if (fp != NULL) {
1722 while (fgets(buf, sizeof(buf), fp) != NULL) {
1723 int len = strlen(buf);
1724
1725 if (buf[len - 1] == '\n')
1726 buf[len - 1] = '\0';
1727
1728 split_buffer(buf, '=', &head, &body);
1729 if (head == NULL || body == NULL)
1730 continue;
1731
1732 if (_stricmp(head, "TERM") == 0) {
1733 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1734
1735 } else if (_stricmp(head, "TERM_TYPE") == 0) {
1736 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1737
1738 } else if (_stricmp(head, "PORT_START") == 0) {
1739 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1740
1741 } else if (_stricmp(head, "PORT_RANGE") == 0) {
1742 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1743
1744 } else if (_stricmp(head, "SHELL") == 0) {
1745 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1746
1747 } else if (_stricmp(head, "ENV_1") == 0) {
1748 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1749
1750 } else if (_stricmp(head, "ENV_2") == 0) {
1751 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1752
1753 } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1754 if (strchr("YyTt", *body)) {
1755 settings.login_shell = TRUE;
1756 }
1757
1758 } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1759 if (strchr("YyTt", *body)) {
1760 settings.home_chdir = TRUE;
1761 }
1762
1763 } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1764 if (strchr("YyTt", *body)) {
1765 settings.agent_proxy = TRUE;
1766 }
1767
1768 } else {
1769 // TODO: error check
1770
1771 }
1772 }
1773 fclose(fp);
1774 }
1775 SetDlgItemText(IDC_TERM_EDIT, settings.term);
1776 SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1777 SetDlgItemText(IDC_PORT_START, settings.port_start);
1778 SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1779 SetDlgItemText(IDC_SHELL, settings.shell);
1780 SetDlgItemText(IDC_ENV1, settings.env1);
1781 SetDlgItemText(IDC_ENV2, settings.env2);
1782 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1783 btn->SetCheck(settings.login_shell);
1784 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1785 btn->SetCheck(settings.home_chdir);
1786 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1787 btn->SetCheck(settings.agent_proxy);
1788
1789 // Cygwin install path
1790 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1791
1792 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1793 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1794
1795 return FALSE;
1796 }
1797
1798 BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1799 {
1800 switch (wParam) {
1801 case IDC_SELECT_FILE | (BN_CLICKED << 16):
1802 // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1803 get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1804 "Select Cygwin directory", ts.UILanguageFile);
1805 doSelectFolder(GetSafeHwnd(), ts.CygwinDirectory, sizeof(ts.CygwinDirectory),
1806 ts.UIMsg);
1807 // Cygwin install path
1808 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1809 return TRUE;
1810 }
1811
1812 return CPropertyPage::OnCommand(wParam, lParam);
1813 }
1814
1815 void CCygwinPropPageDlg::OnOK()
1816 {
1817 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1818 char *tmpfile = "cygterm.tmp";
1819 char cfg[MAX_PATH];
1820 char tmp[MAX_PATH];
1821 FILE *fp;
1822 FILE *tmp_fp;
1823 char buf[256], *head, *body;
1824 char uimsg[MAX_UIMSG];
1825 CButton *btn;
1826
1827 // writing to CygTerm config file
1828 GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1829 GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1830 GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1831 GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1832 GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1833 GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1834 GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1835 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1836 settings.login_shell = btn->GetCheck();
1837 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1838 settings.home_chdir = btn->GetCheck();
1839 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1840 settings.agent_proxy = btn->GetCheck();
1841
1842 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1843 AppendSlash(cfg, sizeof(cfg));
1844 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1845
1846 strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1847 AppendSlash(tmp, sizeof(tmp));
1848 strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1849
1850 fp = fopen(cfg, "r");
1851 tmp_fp = fopen(tmp, "w");
1852 if (tmp_fp == NULL) {
1853 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1854 get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1855 "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1856 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1857 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1858 } else {
1859 if (fp != NULL) {
1860 while (fgets(buf, sizeof(buf), fp) != NULL) {
1861 int len = strlen(buf);
1862
1863 if (buf[len - 1] == '\n')
1864 buf[len - 1] = '\0';
1865
1866 split_buffer(buf, '=', &head, &body);
1867 if (head == NULL || body == NULL) {
1868 fprintf(tmp_fp, "%s\n", buf);
1869 }
1870 else if (_stricmp(head, "TERM") == 0) {
1871 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1872 settings.term[0] = '\0';
1873 }
1874 else if (_stricmp(head, "TERM_TYPE") == 0) {
1875 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1876 settings.term_type[0] = '\0';
1877 }
1878 else if (_stricmp(head, "PORT_START") == 0) {
1879 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1880 settings.port_start[0] = '\0';
1881 }
1882 else if (_stricmp(head, "PORT_RANGE") == 0) {
1883 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1884 settings.port_range[0] = '\0';
1885 }
1886 else if (_stricmp(head, "SHELL") == 0) {
1887 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1888 settings.shell[0] = '\0';
1889 }
1890 else if (_stricmp(head, "ENV_1") == 0) {
1891 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1892 settings.env1[0] = '\0';
1893 }
1894 else if (_stricmp(head, "ENV_2") == 0) {
1895 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1896 settings.env2[0] = '\0';
1897 }
1898 else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1899 fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1900 settings.login_shell = FALSE;
1901 }
1902 else if (_stricmp(head, "HOME_CHDIR") == 0) {
1903 fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1904 settings.home_chdir = FALSE;
1905 }
1906 else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1907 fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1908 settings.agent_proxy = FALSE;
1909 }
1910 else {
1911 fprintf(tmp_fp, "%s = %s\n", head, body);
1912 }
1913 }
1914 fclose(fp);
1915 }
1916 else {
1917 fputs("# CygTerm setting\n", tmp_fp);
1918 fputs("\n", tmp_fp);
1919 }
1920 if (settings.term[0] != '\0') {
1921 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1922 }
1923 if (settings.term_type[0] != '\0') {
1924 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1925 }
1926 if (settings.port_start[0] != '\0') {
1927 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1928 }
1929 if (settings.port_range[0] != '\0') {
1930 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1931 }
1932 if (settings.shell[0] != '\0') {
1933 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1934 }
1935 if (settings.env1[0] != '\0') {
1936 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1937 }
1938 if (settings.env2[0] != '\0') {
1939 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1940 }
1941 if (settings.login_shell) {
1942 fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1943 }
1944 if (settings.home_chdir) {
1945 fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1946 }
1947 if (settings.agent_proxy) {
1948 fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1949 }
1950 fclose(tmp_fp);
1951
1952 if (remove(cfg) != 0 && errno != ENOENT) {
1953 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1954 get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1955 "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1956 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1957 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1958 }
1959 else if (rename(tmp, cfg) != 0) {
1960 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1961 get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1962 "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1963 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1964 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1965 } else {
1966 // cygterm.cfg ƒtƒ@ƒCƒ‹‚ւ̕ۑ¶‚ª�¬Œ÷‚µ‚½‚ç�Aƒ�ƒbƒZ�[ƒWƒ_ƒCƒAƒ�ƒO‚ð•\ަ‚·‚é�B
1967 // ‰ü‚ß‚Ä�ASave setup‚ðŽÀ�s‚·‚é•K—v‚͂Ȃ¢‚±‚Æ‚ð’�ˆÓŠ«‹N‚·‚é�B
1968 // (2012.5.1 yutaka)
1969 get_lang_msg("MSG_TT_NOTICE", uimsg, sizeof(uimsg), "MSG_TT_NOTICE", ts.UILanguageFile);
1970 get_lang_msg("MSG_CYGTERM_CONF_SAVED_NOTICE", ts.UIMsg, sizeof(ts.UIMsg),
1971 "%s has been saved. Do not do save setup.", ts.UILanguageFile);
1972 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, CYGTERM_FILE);
1973 MessageBox(buf, uimsg, MB_OK | MB_ICONINFORMATION);
1974 }
1975 }
1976
1977 // Cygwin install path
1978 GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1979 }
1980
1981
1982
1983 // CAddSettingPropSheetDlg
1984
1985 IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1986
1987 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1988 :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1989 {
1990 AddPage(&m_GeneralPage);
1991 AddPage(&m_SequencePage);
1992 AddPage(&m_CopypastePage);
1993 AddPage(&m_VisualPage);
1994 AddPage(&m_LogPage);
1995 AddPage(&m_CygwinPage);
1996
1997 m_psh.dwFlags |= PSH_NOAPPLYNOW;
1998 }
1999
2000 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
2001 :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
2002 {
2003 AddPage(&m_GeneralPage);
2004 AddPage(&m_SequencePage);
2005 AddPage(&m_CopypastePage);
2006 AddPage(&m_VisualPage);
2007 AddPage(&m_LogPage);
2008 AddPage(&m_CygwinPage);
2009
2010 m_psh.dwFlags |= PSH_NOAPPLYNOW;
2011 }
2012
2013 CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
2014 {
2015 }
2016
2017
2018 BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
2019 END_MESSAGE_MAP()
2020
2021
2022 // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
2023
2024 BOOL CAddSettingPropSheetDlg::OnInitDialog()
2025 {
2026 CPropertySheet::OnInitDialog();
2027
2028 get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
2029 "Tera Term: Additional settings", ts.UILanguageFile);
2030 SetWindowText(ts.UIMsg);
2031
2032 CTabCtrl *tab = GetTabControl();
2033 TCITEM tc;
2034 tc.mask = TCIF_TEXT;
2035
2036 get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
2037 "General", ts.UILanguageFile);
2038 tc.pszText = ts.UIMsg;
2039 tab->SetItem(0, &tc);
2040
2041 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
2042 "Control Sequence", ts.UILanguageFile);
2043 tc.pszText = ts.UIMsg;
2044 tab->SetItem(1, &tc);
2045
2046 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
2047 "Copy and Paste", ts.UILanguageFile);
2048 tc.pszText = ts.UIMsg;
2049 tab->SetItem(2, &tc);
2050
2051 get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
2052 "Visual", ts.UILanguageFile);
2053 tc.pszText = ts.UIMsg;
2054 tab->SetItem(3, &tc);
2055
2056 get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
2057 "Log", ts.UILanguageFile);
2058 tc.pszText = ts.UIMsg;
2059 tab->SetItem(4, &tc);
2060
2061 get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
2062 "Cygwin", ts.UILanguageFile);
2063 tc.pszText = ts.UIMsg;
2064 tab->SetItem(5, &tc);
2065
2066 return FALSE;
2067 }

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