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 5171 - (show annotations) (download) (as text)
Sun Mar 24 10:55:37 2013 UTC (11 years ago) by yutakapon
File MIME type: text/x-c++src
File size: 70233 byte(s)
ログ・ローテートの設定を Additional settings ダイアログから行えるようにした。

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_LABEL, 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_LABEL, uimsg, sizeof(uimsg));
790 get_lang_msg("DLG_TAB_VISUAL_BGIMG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
791 SetDlgItemText(IDC_BGIMG_LABEL, 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_LABEL)->EnableWindow(TRUE);
853 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
854 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
855 } else {
856 GetDlgItem(IDC_BGIMG_LABEL)->EnableWindow(FALSE);
857 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
858 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
859 }
860
861 // (3)Mouse cursor type
862 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
863 for (i = 0 ; MouseCursor[i].name ; i++) {
864 listbox->InsertString(i, MouseCursor[i].name);
865 }
866 listbox->SelectString(0, ts.MouseCursorName);
867
868 // (4)Font quality
869 cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
870 switch (ts.FontQuality) {
871 case DEFAULT_QUALITY:
872 cmb->SetCurSel(0);
873 break;
874 case NONANTIALIASED_QUALITY:
875 cmb->SetCurSel(1);
876 break;
877 case ANTIALIASED_QUALITY:
878 cmb->SetCurSel(2);
879 break;
880 default: // CLEARTYPE_QUALITY
881 cmb->SetCurSel(3);
882 break;
883 }
884
885 // (5)ANSI color
886 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
887 for (i = 0 ; i < 16 ; i++) {
888 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
889 listbox->InsertString(i, buf);
890 }
891 SetupRGBbox(GetSafeHwnd(), 0);
892 #if 0
893 SendMessage(WM_CTLCOLORSTATIC,
894 (WPARAM)label_hdc,
895 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
896 #endif
897
898 // (6)Bold Attr Color
899 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
900 btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
901
902 // (7)Blink Attr Color
903 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
904 btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
905
906 // (8)Reverse Attr Color
907 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
908 btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
909
910 // (9)URL Color
911 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
912 btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
913
914 // (10)Color
915 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
916 btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
917
918 // (11)URL Underline
919 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
920 btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);
921
922 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
923 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND));
924
925 return FALSE;
926 }
927
928 BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
929 {
930 CListBox *listbox;
931 int sel;
932 char buf[MAXPATHLEN];
933 CButton *btn;
934
935 switch (wParam) {
936 case IDC_ETERM_LOOKFEEL:
937 // ƒ`ƒFƒbƒN‚³‚ꂽ‚ç Enable/Disable ‚ðƒgƒOƒ‹‚·‚é�B
938 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
939 if (btn->GetCheck()) {
940 GetDlgItem(IDC_BGIMG_LABEL)->EnableWindow(TRUE);
941 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
942 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
943 } else {
944 GetDlgItem(IDC_BGIMG_LABEL)->EnableWindow(FALSE);
945 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
946 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
947 // –³Œø‰»‚³‚ꂽ‚ç�ABGThemeFile ‚ðŒ³‚É–ß‚·�B
948 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
949 // ”wŒi‰æ‘œ‚à–³Œø‰»‚·‚é�B
950 SetDlgItemText(IDC_BGIMG_EDIT, "");
951 }
952 return TRUE;
953
954 case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
955 // ”wŒi‰æ‘œ‚ðƒ_ƒCƒAƒ�ƒO‚ÅŽw’è‚·‚é�B
956 {
957 CString filter("Image Files(*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|All Files(*.*)|*.*||");
958 CFileDialog selDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);
959 if (selDlg.DoModal() == IDOK) {
960 // ”wŒi‰æ‘œŽw’肪ˆÓ�}“I‚É�s‚í‚ꂽ‚ç�ABGThemeFile ‚ðŒÅ’艻‚·‚é�B
961 SetDlgItemText(IDC_BGIMG_EDIT, selDlg.GetPathName());
962 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
963 }
964 }
965 return TRUE;
966
967 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
968 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
969 sel = listbox->GetCurSel();
970 if (sel != -1) {
971 SetupRGBbox(GetSafeHwnd(), sel);
972 #if 0
973 SendMessage(WM_CTLCOLORSTATIC,
974 (WPARAM)label_hdc,
975 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
976 #endif
977 }
978 return TRUE;
979
980 case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
981 case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
982 case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
983 {
984 BYTE r, g, b;
985
986 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
987 sel = listbox->GetCurSel();
988 if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
989 return TRUE;
990 }
991
992 GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
993 r = atoi(buf);
994
995 GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
996 g = atoi(buf);
997
998 GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
999 b = atoi(buf);
1000
1001 ts.ANSIColor[sel] = RGB(r, g, b);
1002
1003 // 255‚ð’´‚¦‚½RGB’l‚Í•â�³‚³‚ê‚é‚Ì‚Å�A‚»‚ê‚ðEdit‚É•\ަ‚·‚é (2007.2.18 maya)
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
1012 return TRUE;
1013 #if 0
1014 case WM_CTLCOLORSTATIC:
1015 {
1016 HDC hDC = (HDC)wp;
1017 HWND hWnd = (HWND)lp;
1018
1019 //if (label_hdc == NULL) {
1020 hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
1021 // label_hdc = hDC;
1022 //}
1023
1024 if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
1025 BYTE r, g, b;
1026
1027 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
1028 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1029 r = atoi(buf);
1030
1031 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
1032 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1033 g = atoi(buf);
1034
1035 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
1036 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1037 b = atoi(buf);
1038
1039 OutputDebugPrintf("%06x\n", RGB(r, g, b));
1040
1041 SetBkMode(hDC, TRANSPARENT);
1042 SetTextColor(hDC, RGB(r, g, b) );
1043 ReleaseDC(hDlgWnd, hDC);
1044
1045 return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
1046 }
1047 return FALSE;
1048 }
1049 break ;
1050 #endif
1051 }
1052
1053 return CPropertyPage::OnCommand(wParam, lParam);
1054 }
1055
1056 void CVisualPropPageDlg::OnOK()
1057 {
1058 CListBox *listbox;
1059 CButton *btn;
1060 CComboBox *cmb;
1061 int sel;
1062 int beforeAlphaBlend;
1063 char buf[MAXPATHLEN];
1064 COLORREF TmpColor;
1065 int flag_changed = 0;
1066
1067 // (1)
1068 beforeAlphaBlend = ts.AlphaBlend;
1069 GetDlgItemText(IDC_ALPHA_BLEND, buf, sizeof(buf));
1070 if (isdigit(buf[0])) {
1071 ts.AlphaBlend = atoi(buf);
1072 ts.AlphaBlend = max(0, ts.AlphaBlend);
1073 ts.AlphaBlend = min(255, ts.AlphaBlend);
1074 }
1075
1076 // (2)
1077 // ƒOƒ��[ƒoƒ‹•Ï�” BGEnable ‚ð’¼�Ú�‘‚«Š·‚¦‚邯�Aƒvƒ�ƒOƒ‰ƒ€‚ª—Ž‚¿‚邱‚Æ‚ª
1078 // ‚ ‚é‚̂ŃRƒs�[‚ð�C�³‚·‚é‚݂̂Ƃ·‚é�B(2005.4.24 yutaka)
1079 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1080 if (ts.EtermLookfeel.BGEnable != btn->GetCheck()) {
1081 flag_changed = 1;
1082 ts.EtermLookfeel.BGEnable = btn->GetCheck();
1083 }
1084
1085 if (ts.EtermLookfeel.BGEnable) {
1086 GetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
1087 } else {
1088 strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
1089 }
1090
1091 // (3)
1092 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1093 sel = listbox->GetCurSel();
1094 if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
1095 strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
1096 }
1097
1098 // (4)Font quality
1099 cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1100 switch (cmb->GetCurSel()) {
1101 case 0:
1102 ts.FontQuality = DEFAULT_QUALITY;
1103 break;
1104 case 1:
1105 ts.FontQuality = NONANTIALIASED_QUALITY;
1106 break;
1107 case 2:
1108 ts.FontQuality = ANTIALIASED_QUALITY;
1109 break;
1110 default: // 3
1111 ts.FontQuality = CLEARTYPE_QUALITY;
1112 break;
1113 }
1114
1115 // (6) Attr Bold Color
1116 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1117 if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
1118 ts.ColorFlag ^= CF_BOLDCOLOR;
1119 }
1120
1121 // (7) Attr Blink Color
1122 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1123 if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
1124 ts.ColorFlag ^= CF_BLINKCOLOR;
1125 }
1126
1127 // (8) Attr Reverse Color
1128 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1129 if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoƒ‚�[ƒh(DECSCNM)Žž‚Í�ˆ—�‚ð•Ï‚¦‚é
1130 if (ts.ColorFlag & CF_REVERSECOLOR) {
1131 if (!btn->GetCheck()) {
1132 TmpColor = ts.VTColor[0];
1133 ts.VTColor[0] = ts.VTReverseColor[1];
1134 ts.VTReverseColor[1] = ts.VTColor[1];
1135 ts.VTColor[1] = ts.VTReverseColor[0];
1136 ts.VTReverseColor[0] = TmpColor;
1137 ts.ColorFlag ^= CF_REVERSECOLOR;
1138 }
1139 }
1140 else if (btn->GetCheck()) {
1141 TmpColor = ts.VTColor[0];
1142 ts.VTColor[0] = ts.VTReverseColor[0];
1143 ts.VTReverseColor[0] = ts.VTColor[1];
1144 ts.VTColor[1] = ts.VTReverseColor[1];
1145 ts.VTReverseColor[1] = TmpColor;
1146 ts.ColorFlag ^= CF_REVERSECOLOR;
1147 }
1148 }
1149 else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
1150 ts.ColorFlag ^= CF_REVERSECOLOR;
1151 }
1152
1153 // (9) URL Color
1154 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1155 if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
1156 ts.ColorFlag ^= CF_URLCOLOR;
1157 }
1158
1159 // (10) Color
1160 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1161 if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
1162 ts.ColorFlag ^= CF_ANSICOLOR;
1163 }
1164
1165 // (11) URL Underline
1166 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1167 if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {
1168 ts.FontFlag ^= FF_URLUNDERLINE;
1169 }
1170
1171 // 2006/03/11 by 337 : Alpha’l‚à‘¦Žž•Ï�X
1172 // Layered‘‹‚ɂȂÁ‚Ä‚¢‚È‚¢�ê�‡‚ÍŒø‰Ê‚ª–³‚¢
1173 if (ts.EtermLookfeel.BGUseAlphaBlendAPI) {
1174 // ‹N“®Žž‚É”¼“§–¾ƒŒƒCƒ„‚É‚µ‚Ä‚¢‚È‚¢�ê�‡‚Å‚à�A‘¦�À‚É”¼“§–¾‚Æ‚È‚é‚æ‚¤‚É‚·‚é�B(2006.4.1 yutaka)
1175 //MySetLayeredWindowAttributes(HVTWin, 0, (ts.AlphaBlend > 255) ? 255: ts.AlphaBlend, LWA_ALPHA);
1176 // ’l‚ª•Ï�X‚³‚ꂽ‚Æ‚«‚Ì‚Ý�Ý’è‚𔽉f‚·‚é�B(2007.10.19 maya)
1177 if (ts.AlphaBlend != beforeAlphaBlend) {
1178 SetWindowStyle(&ts);
1179 }
1180 }
1181
1182 if (flag_changed) {
1183 // re-launch
1184 // RestartTeraTerm(GetSafeHwnd(), &ts);
1185 }
1186 }
1187
1188
1189
1190 // CLogPropPageDlg ƒ_ƒCƒAƒ�ƒO
1191
1192 IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
1193
1194 CLogPropPageDlg::CLogPropPageDlg()
1195 : CPropertyPage(CLogPropPageDlg::IDD)
1196 {
1197
1198 }
1199
1200 CLogPropPageDlg::~CLogPropPageDlg()
1201 {
1202 if (DlgLogFont != NULL) {
1203 DeleteObject(DlgLogFont);
1204 }
1205 }
1206
1207 BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
1208 END_MESSAGE_MAP()
1209
1210 // CLogPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1211
1212 #define LOG_ROTATE_SIZETYPE_NUM 3
1213 static char *LogRotateSizeType[] = {
1214 "Byte", "KB", "MB"
1215 };
1216
1217 static char *GetLogRotateSizeType(int val)
1218 {
1219 if (val >= LOG_ROTATE_SIZETYPE_NUM)
1220 val = 0;
1221
1222 return LogRotateSizeType[val];
1223 }
1224
1225 BOOL CLogPropPageDlg::OnInitDialog()
1226 {
1227 char uimsg[MAX_UIMSG];
1228 CButton *btn;
1229 CComboBox *combo;
1230 int i;
1231
1232 CPropertyPage::OnInitDialog();
1233
1234 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1235 GetObject(font, sizeof(LOGFONT), &logfont);
1236 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
1237 SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1238 SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1239 SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1240 SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1241 SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1242 SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1243 SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1244 SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1245 SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1246
1247 // Log rotate
1248 SendDlgItemMessage(IDC_LOG_ROTATE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1249 SendDlgItemMessage(IDC_ROTATE_SIZE_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1250 SendDlgItemMessage(IDC_ROTATE_SIZE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1251 SendDlgItemMessage(IDC_ROTATE_SIZE_TYPE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1252 SendDlgItemMessage(IDC_ROTATE_STEP_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1253 SendDlgItemMessage(IDC_ROTATE_STEP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1254 }
1255 else {
1256 DlgLogFont = NULL;
1257 }
1258
1259 GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
1260 get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1261 SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
1262 GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
1263 get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1264 SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
1265 GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
1266 get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1267 SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
1268 GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
1269 get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1270 SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
1271 // TODO: Log rotate
1272 #if 0
1273 get_lang_msg("DLG_TAB_LOG_ROTATE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1274 SetDlgItemText(IDC_LOG_ROTATE, ts.UIMsg);
1275 get_lang_msg("DLG_TAB_LOG_ROTATE_SIZE_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1276 SetDlgItemText(IDC_ROTATE_SIZE_TEXT, ts.UIMsg);
1277 get_lang_msg("IDC_ROTATE_STEP_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1278 SetDlgItemText(IDC_ROTATE_STEP_TEXT, ts.UIMsg);
1279 #endif
1280
1281
1282 // Viewlog Editor path (2005.1.29 yutaka)
1283 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1284
1285 // Log Default File Name (2006.8.28 maya)
1286 SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1287
1288 // Log Default File Path (2007.5.30 maya)
1289 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1290
1291 /* Auto start logging (2007.5.31 maya) */
1292 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1293 btn->SetCheck(ts.LogAutoStart);
1294
1295 // Log rotate
1296 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1297 btn->SetCheck(ts.LogRotate != ROTATE_NONE);
1298
1299 combo = (CComboBox *)GetDlgItem(IDC_ROTATE_SIZE_TYPE);
1300 for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1301 combo->AddString(LogRotateSizeType[i]);
1302 }
1303
1304 SetDlgItemInt(IDC_ROTATE_SIZE, ts.LogRotateSize, FALSE);
1305 combo->SelectString(-1, GetLogRotateSizeType(ts.LogRotateSizeType));
1306 SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1307 if (ts.LogRotate == ROTATE_NONE) {
1308 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1309 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1310 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1311 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1312 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1313 } else {
1314 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1315 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1316 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1317 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1318 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1319 }
1320
1321
1322 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1323 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1324
1325 return FALSE;
1326 }
1327
1328 BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1329 {
1330 char uimsg[MAX_UIMSG];
1331
1332 switch (wParam) {
1333 case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1334 {
1335 OPENFILENAME ofn;
1336
1337 ZeroMemory(&ofn, sizeof(ofn));
1338 ofn.lStructSize = get_OPENFILENAME_SIZE();
1339 ofn.hwndOwner = GetSafeHwnd();
1340 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1341 "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1342 ofn.lpstrFilter = ts.UIMsg;
1343 ofn.lpstrFile = ts.ViewlogEditor;
1344 ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1345 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1346 "Choose a executing file with launching logging file", ts.UILanguageFile);
1347 ofn.lpstrTitle = uimsg;
1348 ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1349 if (GetOpenFileName(&ofn) != 0) {
1350 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1351 }
1352 }
1353 return TRUE;
1354
1355 case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1356 // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1357 get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1358 "Select log folder", ts.UILanguageFile);
1359 doSelectFolder(GetSafeHwnd(), ts.LogDefaultPath, sizeof(ts.LogDefaultPath),
1360 ts.UIMsg);
1361 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1362
1363 return TRUE;
1364
1365 case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1366 {
1367 CButton *btn;
1368 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1369 if (btn->GetCheck()) {
1370 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1371 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1372 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1373 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1374 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1375 } else {
1376 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1377 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1378 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1379 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1380 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1381 }
1382
1383 }
1384 return TRUE;
1385 }
1386
1387 return CPropertyPage::OnCommand(wParam, lParam);
1388 }
1389
1390 void CLogPropPageDlg::OnOK()
1391 {
1392 char buf[80], buf2[80];
1393 time_t time_local;
1394 struct tm *tm_local;
1395 char uimsg[MAX_UIMSG];
1396 CButton *btn;
1397 CString str;
1398 int i;
1399
1400 // Viewlog Editor path (2005.1.29 yutaka)
1401 GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1402
1403 // Log Default File Name (2006.8.28 maya)
1404 GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1405 if (isInvalidStrftimeChar(buf)) {
1406 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1407 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1408 "Invalid character is included in log file name.", ts.UILanguageFile);
1409 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1410 return;
1411 }
1412 // Œ»�ÝŽž��‚ðŽæ“¾
1413 time(&time_local);
1414 tm_local = localtime(&time_local);
1415 // Žž��•¶Žš—ñ‚ɕϊ·
1416 if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1417 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1418 get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1419 "The log file name is too long.", ts.UILanguageFile);
1420 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1421 return;
1422 }
1423 if (isInvalidFileNameChar(buf2)) {
1424 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1425 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1426 "Invalid character is included in log file name.", ts.UILanguageFile);
1427 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1428 return;
1429 }
1430 strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1431
1432 // Log Default File Path (2007.5.30 maya)
1433 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1434
1435 /* Auto start logging (2007.5.31 maya) */
1436 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1437 ts.LogAutoStart = btn->GetCheck();
1438
1439 /* Log Rotate */
1440 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1441 if (btn->GetCheck()) { /* on */
1442 ts.LogRotate = ROTATE_SIZE;
1443
1444 ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);
1445 for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1446 if (strcmp(str, LogRotateSizeType[i]) == 0)
1447 break;
1448 }
1449 if (i >= LOG_ROTATE_SIZETYPE_NUM)
1450 i = 0;
1451 ts.LogRotateSizeType = i;
1452
1453 ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1454 for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1455 ts.LogRotateSize *= 1024;
1456
1457 ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1458
1459 } else { /* off */
1460 ts.LogRotate = ROTATE_NONE;
1461 /* Žc‚è‚̃�ƒ“ƒo�[‚͈Ó�}“I‚É�Ý’è‚ðŽc‚·�B*/
1462 }
1463
1464 }
1465
1466
1467
1468 // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
1469
1470 IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1471
1472 CCygwinPropPageDlg::CCygwinPropPageDlg()
1473 : CPropertyPage(CCygwinPropPageDlg::IDD)
1474 {
1475 }
1476
1477 CCygwinPropPageDlg::~CCygwinPropPageDlg()
1478 {
1479 if (DlgCygwinFont != NULL) {
1480 DeleteObject(DlgCygwinFont);
1481 }
1482 }
1483
1484 BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1485 END_MESSAGE_MAP()
1486
1487 // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1488 #define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file
1489
1490 BOOL CCygwinPropPageDlg::OnInitDialog()
1491 {
1492 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1493 char cfg[MAX_PATH];
1494 FILE *fp;
1495 char buf[256], *head, *body;
1496 char uimsg[MAX_UIMSG];
1497 CButton *btn;
1498
1499 CPropertyPage::OnInitDialog();
1500
1501 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1502 GetObject(font, sizeof(LOGFONT), &logfont);
1503 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1504 SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1505 SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1506 SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1507 SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1508 SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1509 SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1510 SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1511 SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1512 SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1513 SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1514 SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1515 SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1516 SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1517 SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1518 SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1519 SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1520 SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1521 SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1522 SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1523 SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1524 SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1525 }
1526 else {
1527 DlgCygwinFont = NULL;
1528 }
1529
1530 GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1531 get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1532 SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1533
1534 // try to read CygTerm config file
1535 memset(&settings, 0, sizeof(settings));
1536 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
1537 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
1538 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
1539 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
1540 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
1541 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
1542 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
1543 settings.login_shell = FALSE;
1544 settings.home_chdir = FALSE;
1545 settings.agent_proxy = FALSE;
1546
1547 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1548 AppendSlash(cfg, sizeof(cfg));
1549 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1550
1551 fp = fopen(cfg, "r");
1552 if (fp != NULL) {
1553 while (fgets(buf, sizeof(buf), fp) != NULL) {
1554 int len = strlen(buf);
1555
1556 if (buf[len - 1] == '\n')
1557 buf[len - 1] = '\0';
1558
1559 split_buffer(buf, '=', &head, &body);
1560 if (head == NULL || body == NULL)
1561 continue;
1562
1563 if (_stricmp(head, "TERM") == 0) {
1564 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1565
1566 } else if (_stricmp(head, "TERM_TYPE") == 0) {
1567 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1568
1569 } else if (_stricmp(head, "PORT_START") == 0) {
1570 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1571
1572 } else if (_stricmp(head, "PORT_RANGE") == 0) {
1573 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1574
1575 } else if (_stricmp(head, "SHELL") == 0) {
1576 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1577
1578 } else if (_stricmp(head, "ENV_1") == 0) {
1579 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1580
1581 } else if (_stricmp(head, "ENV_2") == 0) {
1582 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1583
1584 } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1585 if (strchr("YyTt", *body)) {
1586 settings.login_shell = TRUE;
1587 }
1588
1589 } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1590 if (strchr("YyTt", *body)) {
1591 settings.home_chdir = TRUE;
1592 }
1593
1594 } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1595 if (strchr("YyTt", *body)) {
1596 settings.agent_proxy = TRUE;
1597 }
1598
1599 } else {
1600 // TODO: error check
1601
1602 }
1603 }
1604 fclose(fp);
1605 }
1606 SetDlgItemText(IDC_TERM_EDIT, settings.term);
1607 SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1608 SetDlgItemText(IDC_PORT_START, settings.port_start);
1609 SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1610 SetDlgItemText(IDC_SHELL, settings.shell);
1611 SetDlgItemText(IDC_ENV1, settings.env1);
1612 SetDlgItemText(IDC_ENV2, settings.env2);
1613 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1614 btn->SetCheck(settings.login_shell);
1615 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1616 btn->SetCheck(settings.home_chdir);
1617 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1618 btn->SetCheck(settings.agent_proxy);
1619
1620 // Cygwin install path
1621 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1622
1623 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1624 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1625
1626 return FALSE;
1627 }
1628
1629 BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1630 {
1631 switch (wParam) {
1632 case IDC_SELECT_FILE | (BN_CLICKED << 16):
1633 // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1634 get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1635 "Select Cygwin directory", ts.UILanguageFile);
1636 doSelectFolder(GetSafeHwnd(), ts.CygwinDirectory, sizeof(ts.CygwinDirectory),
1637 ts.UIMsg);
1638 // Cygwin install path
1639 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1640 return TRUE;
1641 }
1642
1643 return CPropertyPage::OnCommand(wParam, lParam);
1644 }
1645
1646 void CCygwinPropPageDlg::OnOK()
1647 {
1648 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1649 char *tmpfile = "cygterm.tmp";
1650 char cfg[MAX_PATH];
1651 char tmp[MAX_PATH];
1652 FILE *fp;
1653 FILE *tmp_fp;
1654 char buf[256], *head, *body;
1655 char uimsg[MAX_UIMSG];
1656 CButton *btn;
1657
1658 // writing to CygTerm config file
1659 GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1660 GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1661 GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1662 GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1663 GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1664 GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1665 GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1666 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1667 settings.login_shell = btn->GetCheck();
1668 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1669 settings.home_chdir = btn->GetCheck();
1670 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1671 settings.agent_proxy = btn->GetCheck();
1672
1673 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1674 AppendSlash(cfg, sizeof(cfg));
1675 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1676
1677 strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1678 AppendSlash(tmp, sizeof(tmp));
1679 strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1680
1681 fp = fopen(cfg, "r");
1682 tmp_fp = fopen(tmp, "w");
1683 if (tmp_fp == NULL) {
1684 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1685 get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1686 "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1687 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1688 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1689 } else {
1690 if (fp != NULL) {
1691 while (fgets(buf, sizeof(buf), fp) != NULL) {
1692 int len = strlen(buf);
1693
1694 if (buf[len - 1] == '\n')
1695 buf[len - 1] = '\0';
1696
1697 split_buffer(buf, '=', &head, &body);
1698 if (head == NULL || body == NULL) {
1699 fprintf(tmp_fp, "%s\n", buf);
1700 }
1701 else if (_stricmp(head, "TERM") == 0) {
1702 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1703 settings.term[0] = '\0';
1704 }
1705 else if (_stricmp(head, "TERM_TYPE") == 0) {
1706 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1707 settings.term_type[0] = '\0';
1708 }
1709 else if (_stricmp(head, "PORT_START") == 0) {
1710 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1711 settings.port_start[0] = '\0';
1712 }
1713 else if (_stricmp(head, "PORT_RANGE") == 0) {
1714 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1715 settings.port_range[0] = '\0';
1716 }
1717 else if (_stricmp(head, "SHELL") == 0) {
1718 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1719 settings.shell[0] = '\0';
1720 }
1721 else if (_stricmp(head, "ENV_1") == 0) {
1722 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1723 settings.env1[0] = '\0';
1724 }
1725 else if (_stricmp(head, "ENV_2") == 0) {
1726 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1727 settings.env2[0] = '\0';
1728 }
1729 else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1730 fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1731 settings.login_shell = FALSE;
1732 }
1733 else if (_stricmp(head, "HOME_CHDIR") == 0) {
1734 fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1735 settings.home_chdir = FALSE;
1736 }
1737 else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1738 fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1739 settings.agent_proxy = FALSE;
1740 }
1741 else {
1742 fprintf(tmp_fp, "%s = %s\n", head, body);
1743 }
1744 }
1745 fclose(fp);
1746 }
1747 else {
1748 fputs("# CygTerm setting\n", tmp_fp);
1749 fputs("\n", tmp_fp);
1750 }
1751 if (settings.term[0] != '\0') {
1752 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1753 }
1754 if (settings.term_type[0] != '\0') {
1755 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1756 }
1757 if (settings.port_start[0] != '\0') {
1758 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1759 }
1760 if (settings.port_range[0] != '\0') {
1761 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1762 }
1763 if (settings.shell[0] != '\0') {
1764 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1765 }
1766 if (settings.env1[0] != '\0') {
1767 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1768 }
1769 if (settings.env2[0] != '\0') {
1770 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1771 }
1772 if (settings.login_shell) {
1773 fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1774 }
1775 if (settings.home_chdir) {
1776 fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1777 }
1778 if (settings.agent_proxy) {
1779 fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1780 }
1781 fclose(tmp_fp);
1782
1783 if (remove(cfg) != 0 && errno != ENOENT) {
1784 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1785 get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1786 "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1787 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1788 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1789 }
1790 else if (rename(tmp, cfg) != 0) {
1791 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1792 get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1793 "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1794 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1795 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1796 } else {
1797 // cygterm.cfg ƒtƒ@ƒCƒ‹‚ւ̕ۑ¶‚ª�¬Œ÷‚µ‚½‚ç�Aƒ�ƒbƒZ�[ƒWƒ_ƒCƒAƒ�ƒO‚ð•\ަ‚·‚é�B
1798 // ‰ü‚ß‚Ä�ASave setup‚ðŽÀ�s‚·‚é•K—v‚͂Ȃ¢‚±‚Æ‚ð’�ˆÓŠ«‹N‚·‚é�B
1799 // (2012.5.1 yutaka)
1800 get_lang_msg("MSG_TT_NOTICE", uimsg, sizeof(uimsg), "MSG_TT_NOTICE", ts.UILanguageFile);
1801 get_lang_msg("MSG_CYGTERM_CONF_SAVED_NOTICE", ts.UIMsg, sizeof(ts.UIMsg),
1802 "%s has been saved. Do not do save setup.", ts.UILanguageFile);
1803 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, CYGTERM_FILE);
1804 MessageBox(buf, uimsg, MB_OK | MB_ICONINFORMATION);
1805 }
1806 }
1807
1808 // Cygwin install path
1809 GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1810 }
1811
1812
1813
1814 // CAddSettingPropSheetDlg
1815
1816 IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1817
1818 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1819 :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1820 {
1821 AddPage(&m_GeneralPage);
1822 AddPage(&m_SequencePage);
1823 AddPage(&m_CopypastePage);
1824 AddPage(&m_VisualPage);
1825 AddPage(&m_LogPage);
1826 AddPage(&m_CygwinPage);
1827
1828 m_psh.dwFlags |= PSH_NOAPPLYNOW;
1829 }
1830
1831 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
1832 :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
1833 {
1834 AddPage(&m_GeneralPage);
1835 AddPage(&m_SequencePage);
1836 AddPage(&m_CopypastePage);
1837 AddPage(&m_VisualPage);
1838 AddPage(&m_LogPage);
1839 AddPage(&m_CygwinPage);
1840
1841 m_psh.dwFlags |= PSH_NOAPPLYNOW;
1842 }
1843
1844 CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1845 {
1846 }
1847
1848
1849 BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
1850 END_MESSAGE_MAP()
1851
1852
1853 // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1854
1855 BOOL CAddSettingPropSheetDlg::OnInitDialog()
1856 {
1857 CPropertySheet::OnInitDialog();
1858
1859 get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1860 "Tera Term: Additional settings", ts.UILanguageFile);
1861 SetWindowText(ts.UIMsg);
1862
1863 CTabCtrl *tab = GetTabControl();
1864 TCITEM tc;
1865 tc.mask = TCIF_TEXT;
1866
1867 get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
1868 "General", ts.UILanguageFile);
1869 tc.pszText = ts.UIMsg;
1870 tab->SetItem(0, &tc);
1871
1872 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
1873 "Control Sequence", ts.UILanguageFile);
1874 tc.pszText = ts.UIMsg;
1875 tab->SetItem(1, &tc);
1876
1877 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
1878 "Copy and Paste", ts.UILanguageFile);
1879 tc.pszText = ts.UIMsg;
1880 tab->SetItem(2, &tc);
1881
1882 get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
1883 "Visual", ts.UILanguageFile);
1884 tc.pszText = ts.UIMsg;
1885 tab->SetItem(3, &tc);
1886
1887 get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
1888 "Log", ts.UILanguageFile);
1889 tc.pszText = ts.UIMsg;
1890 tab->SetItem(4, &tc);
1891
1892 get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
1893 "Cygwin", ts.UILanguageFile);
1894 tc.pszText = ts.UIMsg;
1895 tab->SetItem(5, &tc);
1896
1897 return FALSE;
1898 }

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