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 4043 - (show annotations) (download) (as text)
Sun Aug 22 17:53:38 2010 UTC (13 years, 7 months ago) by doda
File MIME type: text/x-c++src
File size: 58172 byte(s)
IME状態依存カーソルを additional settings で設定できるようにした。 [Ttssh2-devel 1736]

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
15 mouse_cursor_t MouseCursor[] = {
16 {"ARROW", IDC_ARROW},
17 {"IBEAM", IDC_IBEAM},
18 {"CROSS", IDC_CROSS},
19 {"HAND", IDC_HAND},
20 {NULL, NULL},
21 };
22 #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
23
24 // –{‘Ì‚Í vtwin.cpp
25 extern void SetWindowStyle(TTTSet *ts);
26
27 void split_buffer(char *buffer, int delimiter, char **head, char **body)
28 {
29 char *p1, *p2;
30
31 *head = *body = NULL;
32
33 if (!isalnum(*buffer) || (p1 = strchr(buffer, delimiter)) == NULL) {
34 return;
35 }
36
37 *head = buffer;
38
39 p2 = buffer;
40 while (p2 < p1 && !isspace(*p2)) {
41 p2++;
42 }
43
44 *p2 = '\0';
45
46 p1++;
47 while (*p1 && isspace(*p1)) {
48 p1++;
49 }
50
51 *body = p1;
52 }
53
54
55 static void SetupRGBbox(HWND hDlgWnd, int index)
56 {
57 HWND hWnd;
58 BYTE c;
59 char buf[10];
60
61 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
62 c = GetRValue(ts.ANSIColor[index]);
63 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
64 SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
65
66 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
67 c = GetGValue(ts.ANSIColor[index]);
68 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
69 SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
70
71 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
72 c = GetBValue(ts.ANSIColor[index]);
73 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
74 SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
75 }
76
77
78
79 // CGeneralPropPageDlg ƒ_ƒCƒAƒ�ƒO
80
81 IMPLEMENT_DYNAMIC(CGeneralPropPageDlg, CPropertyPage)
82
83 CGeneralPropPageDlg::CGeneralPropPageDlg()
84 : CPropertyPage(CGeneralPropPageDlg::IDD)
85 {
86 }
87
88 CGeneralPropPageDlg::~CGeneralPropPageDlg()
89 {
90 if (DlgGeneralFont != NULL) {
91 DeleteObject(DlgGeneralFont);
92 }
93 }
94
95 BEGIN_MESSAGE_MAP(CGeneralPropPageDlg, CPropertyPage)
96 END_MESSAGE_MAP()
97
98 // CGeneralPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
99
100 BOOL CGeneralPropPageDlg::OnInitDialog()
101 {
102 char uimsg[MAX_UIMSG];
103 char buf[64];
104 CButton *btn;
105
106 CPropertyPage::OnInitDialog();
107
108 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
109 GetObject(font, sizeof(LOGFONT), &logfont);
110 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgGeneralFont, ts.UILanguageFile)) {
111 SendDlgItemMessage(IDC_CLICKABLE_URL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
112 SendDlgItemMessage(IDC_DISABLE_SENDBREAK, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
113 SendDlgItemMessage(IDC_ACCEPT_BROADCAST, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0)); // 337: 2007/03/20
114 SendDlgItemMessage(IDC_MOUSEWHEEL_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
115 SendDlgItemMessage(IDC_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
116 SendDlgItemMessage(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
117 SendDlgItemMessage(IDC_CLEAR_ON_RESIZE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
118 SendDlgItemMessage(IDC_CURSOR_CHANGE_IME, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
119 }
120 else {
121 DlgGeneralFont = NULL;
122 }
123
124 GetDlgItemText(IDC_CLICKABLE_URL, uimsg, sizeof(uimsg));
125 get_lang_msg("DLG_TAB_GENERAL_CLICKURL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
126 SetDlgItemText(IDC_CLICKABLE_URL, ts.UIMsg);
127 GetDlgItemText(IDC_DISABLE_SENDBREAK, uimsg, sizeof(uimsg));
128 get_lang_msg("DLG_TAB_GENERAL_DISABLESENDBREAK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
129 SetDlgItemText(IDC_DISABLE_SENDBREAK, ts.UIMsg);
130 GetDlgItemText(IDC_ACCEPT_BROADCAST, uimsg, sizeof(uimsg));
131 get_lang_msg("DLG_TAB_GENERAL_ACCEPTBROADCAST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
132 SetDlgItemText(IDC_ACCEPT_BROADCAST, ts.UIMsg);
133 GetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, uimsg, sizeof(uimsg));
134 get_lang_msg("DLG_TAB_GENERAL_MOUSEWHEEL_SCROLL_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
135 SetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, ts.UIMsg);
136 GetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, uimsg, sizeof(uimsg));
137 get_lang_msg("DLG_TAB_GENERAL_AUTOSCROLL_ONLY_IN_BOTTOM_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
138 SetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, ts.UIMsg);
139 GetDlgItemText(IDC_CLEAR_ON_RESIZE, uimsg, sizeof(uimsg));
140 get_lang_msg("DLG_TAB_GENERAL_CLEAR_ON_RESIZE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
141 SetDlgItemText(IDC_CLEAR_ON_RESIZE, ts.UIMsg);
142 GetDlgItemText(IDC_CURSOR_CHANGE_IME, uimsg, sizeof(uimsg));
143 get_lang_msg("DLG_TAB_GENERAL_CURSOR_CHANGE_IME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
144 SetDlgItemText(IDC_CURSOR_CHANGE_IME, ts.UIMsg);
145
146 // (1)DisableAcceleratorSendBreak
147 btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
148 btn->SetCheck(ts.DisableAcceleratorSendBreak);
149
150 // (2)EnableClickableUrl
151 btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
152 btn->SetCheck(ts.EnableClickableUrl);
153
154 // (3)AcceptBroadcast 337: 2007/03/20
155 btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
156 btn->SetCheck(ts.AcceptBroadcast);
157
158 // (4)IDC_MOUSEWHEEL_SCROLL_LINE
159 _snprintf_s(buf, sizeof(buf), "%d", ts.MouseWheelScrollLine);
160 SetDlgItemText(IDC_SCROLL_LINE, buf);
161
162 // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
163 btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
164 btn->SetCheck(ts.AutoScrollOnlyInBottomLine);
165
166 // (6)IDC_CLEAR_ON_RESIZE
167 btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);
168 btn->SetCheck((ts.TermFlag & TF_CLEARONRESIZE) != 0);
169
170 // (7)IDC_CURSOR_CHANGE_IME
171 btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);
172 btn->SetCheck((ts.WindowFlag & WF_IMECURSORCHANGE) != 0);
173
174 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é (2004.12.7 yutaka)
175 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
176
177 return FALSE;
178 }
179
180 void CGeneralPropPageDlg::OnOK()
181 {
182 CButton *btn;
183 char buf[64];
184 int val;
185
186 // (1)
187 btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
188 ts.DisableAcceleratorSendBreak = btn->GetCheck();
189
190 // (2)
191 btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
192 ts.EnableClickableUrl = btn->GetCheck();
193
194 // (3) 337: 2007/03/20
195 btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
196 ts.AcceptBroadcast = btn->GetCheck();
197
198 // (4)IDC_MOUSEWHEEL_SCROLL_LINE
199 GetDlgItemText(IDC_SCROLL_LINE, buf, sizeof(buf));
200 val = atoi(buf);
201 if (val > 0)
202 ts.MouseWheelScrollLine = val;
203
204 // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
205 btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
206 ts.AutoScrollOnlyInBottomLine = btn->GetCheck();
207
208 // (6)IDC_CLEAR_ON_RESIZE
209 btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);
210 if (((ts.TermFlag & TF_CLEARONRESIZE) != 0) != btn->GetCheck()) {
211 ts.TermFlag ^= TF_CLEARONRESIZE;
212 }
213
214 // (7)IDC_CURSOR_CHANGE_IME
215 btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);
216 if (((ts.WindowFlag & WF_IMECURSORCHANGE) != 0) != btn->GetCheck()) {
217 ts.WindowFlag ^= WF_IMECURSORCHANGE;
218 }
219 }
220
221
222
223 // CSequencePropPageDlg ƒ_ƒCƒAƒ�ƒO
224
225 IMPLEMENT_DYNAMIC(CSequencePropPageDlg, CPropertyPage)
226
227 CSequencePropPageDlg::CSequencePropPageDlg()
228 : CPropertyPage(CSequencePropPageDlg::IDD)
229 {
230 }
231
232 CSequencePropPageDlg::~CSequencePropPageDlg()
233 {
234 if (DlgSequenceFont != NULL) {
235 DeleteObject(DlgSequenceFont);
236 }
237 }
238
239 BEGIN_MESSAGE_MAP(CSequencePropPageDlg, CPropertyPage)
240 END_MESSAGE_MAP()
241
242 // CSequencePropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
243
244 BOOL CSequencePropPageDlg::OnInitDialog()
245 {
246 char uimsg[MAX_UIMSG];
247 CButton *btn, *btn2;
248 CComboBox *cmb;
249
250 CPropertyPage::OnInitDialog();
251
252 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
253 GetObject(font, sizeof(LOGFONT), &logfont);
254 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgSequenceFont, ts.UILanguageFile)) {
255 SendDlgItemMessage(IDC_ACCEPT_MOUSE_EVENT_TRACKING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
256 SendDlgItemMessage(IDC_DISABLE_MOUSE_TRACKING_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
257 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
258 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
259 SendDlgItemMessage(IDC_TITLE_REPORT_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
260 SendDlgItemMessage(IDC_TITLE_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
261 SendDlgItemMessage(IDC_WINDOW_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
262 SendDlgItemMessage(IDC_WINDOW_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
263 SendDlgItemMessage(IDC_CURSOR_CTRL_SEQ, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
264 }
265 else {
266 DlgSequenceFont = NULL;
267 }
268
269 GetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, uimsg, sizeof(uimsg));
270 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_MOUSE_EVENT_TRACKING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
271 SetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.UIMsg);
272 GetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, uimsg, sizeof(uimsg));
273 get_lang_msg("DLG_TAB_SEQENCE_DISABLE_MOUSE_TRACKING_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
274 SetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.UIMsg);
275 GetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, uimsg, sizeof(uimsg));
276 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
277 SetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, ts.UIMsg);
278
279 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
280 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
281 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_OVERWRITE", ts.UIMsg, sizeof(ts.UIMsg), "overwrite", ts.UILanguageFile);
282 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
283 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_AHEAD", ts.UIMsg, sizeof(ts.UIMsg), "ahead", ts.UILanguageFile);
284 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
285 get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_LAST", ts.UIMsg, sizeof(ts.UIMsg), "last", ts.UILanguageFile);
286 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
287
288 GetDlgItemText(IDC_CURSOR_CTRL_SEQ, uimsg, sizeof(uimsg));
289 get_lang_msg("DLG_TAB_SEQENCE_CURSOR_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
290 SetDlgItemText(IDC_CURSOR_CTRL_SEQ, ts.UIMsg);
291 GetDlgItemText(IDC_WINDOW_CTRL, uimsg, sizeof(uimsg));
292 get_lang_msg("DLG_TAB_SEQENCE_WINDOW_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
293 SetDlgItemText(IDC_WINDOW_CTRL, ts.UIMsg);
294 GetDlgItemText(IDC_WINDOW_REPORT, uimsg, sizeof(uimsg));
295 get_lang_msg("DLG_TAB_SEQENCE_WINDOW_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
296 SetDlgItemText(IDC_WINDOW_REPORT, ts.UIMsg);
297 GetDlgItemText(IDC_TITLE_REPORT_LABEL, uimsg, sizeof(uimsg));
298 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
299 SetDlgItemText(IDC_TITLE_REPORT_LABEL, ts.UIMsg);
300
301 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_IGNORE", ts.UIMsg, sizeof(ts.UIMsg), "ignore", ts.UILanguageFile);
302 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
303 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_ACCEPT", ts.UIMsg, sizeof(ts.UIMsg), "accept", ts.UILanguageFile);
304 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
305 get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_EMPTY", ts.UIMsg, sizeof(ts.UIMsg), "empty", ts.UILanguageFile);
306 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
307
308 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
309 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
310 btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
311 btn->SetCheck(ts.MouseEventTracking);
312 if (ts.MouseEventTracking) {
313 btn2->EnableWindow(TRUE);
314 } else {
315 btn2->EnableWindow(FALSE);
316 }
317
318 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
319 btn2->SetCheck(ts.DisableMouseTrackingByCtrl);
320
321 // (3)IDC_ACCEPT_TITLE_CHANGING
322 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
323 cmb->SetCurSel(ts.AcceptTitleChangeRequest);
324
325 // (4)IDC_TITLE_REPORT
326 cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);
327 switch (ts.WindowFlag & WF_TITLEREPORT) {
328 case IdTitleReportIgnore:
329 cmb->SetCurSel(0);
330 break;
331 case IdTitleReportAccept:
332 cmb->SetCurSel(1);
333 break;
334 default: // IdTitleReportEmpty
335 cmb->SetCurSel(2);
336 break;
337 }
338
339 // (5)IDC_WINDOW_CTRL
340 btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);
341 btn->SetCheck((ts.WindowFlag & WF_WINDOWCHANGE) != 0);
342
343 // (6)IDC_WINDOW_REPORT
344 btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);
345 btn->SetCheck((ts.WindowFlag & WF_WINDOWREPORT) != 0);
346
347 // (7)IDC_CURSOR_CTRL_SEQ
348 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
349 btn->SetCheck((ts.WindowFlag & WF_CURSORCHANGE) != 0);
350
351 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é (2004.12.7 yutaka)
352 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
353
354 return FALSE;
355 }
356
357 BOOL CSequencePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
358 {
359 CButton *btn, *btn2;
360
361 switch (wParam) {
362 case IDC_ACCEPT_MOUSE_EVENT_TRACKING | (BN_CLICKED << 16):
363 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
364 btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
365 if (btn->GetCheck()) {
366 btn2->EnableWindow(TRUE);
367 } else {
368 btn2->EnableWindow(FALSE);
369 }
370 return TRUE;
371 }
372 return CPropertyPage::OnCommand(wParam, lParam);
373 }
374
375 void CSequencePropPageDlg::OnOK()
376 {
377 CButton *btn;
378 CComboBox *cmb;
379
380 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
381 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
382 ts.MouseEventTracking = btn->GetCheck();
383
384 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
385 btn = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
386 ts.DisableMouseTrackingByCtrl = btn->GetCheck();
387
388 // (3)IDC_ACCEPT_TITLE_CHANGING
389 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
390 ts.AcceptTitleChangeRequest = cmb->GetCurSel();
391
392 // (4)IDC_TITLE_REPORT
393 cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);
394 switch (cmb->GetCurSel()) {
395 case 0:
396 ts.WindowFlag &= ~WF_TITLEREPORT;
397 break;
398 case 1:
399 ts.WindowFlag &= ~WF_TITLEREPORT;
400 ts.WindowFlag |= IdTitleReportAccept;
401 break;
402 default: // 2
403 ts.WindowFlag |= IdTitleReportEmpty;
404 break;
405 }
406
407 // (5)IDC_WINDOW_CTRL
408 btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);
409 if (((ts.WindowFlag & WF_WINDOWCHANGE) != 0) != btn->GetCheck()) {
410 ts.WindowFlag ^= WF_WINDOWCHANGE;
411 }
412
413 // (6)IDC_WINDOW_REPORT
414 btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);
415 if (((ts.WindowFlag & WF_WINDOWREPORT) != 0) != btn->GetCheck()) {
416 ts.WindowFlag ^= WF_WINDOWREPORT;
417 }
418
419 // (7)IDC_CURSOR_CTRL_SEQ
420 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
421 if (((ts.WindowFlag & WF_CURSORCHANGE) != 0) != btn->GetCheck()) {
422 ts.WindowFlag ^= WF_CURSORCHANGE;
423 }
424
425 }
426
427
428
429 // CCopypastePropPageDlg ƒ_ƒCƒAƒ�ƒO
430
431 IMPLEMENT_DYNAMIC(CCopypastePropPageDlg, CPropertyPage)
432
433 CCopypastePropPageDlg::CCopypastePropPageDlg()
434 : CPropertyPage(CCopypastePropPageDlg::IDD)
435 {
436 }
437
438 CCopypastePropPageDlg::~CCopypastePropPageDlg()
439 {
440 if (DlgCopypasteFont != NULL) {
441 DeleteObject(DlgCopypasteFont);
442 }
443 }
444
445 BEGIN_MESSAGE_MAP(CCopypastePropPageDlg, CPropertyPage)
446 END_MESSAGE_MAP()
447
448 // CCopypastePropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
449
450 BOOL CCopypastePropPageDlg::OnInitDialog()
451 {
452 char uimsg[MAX_UIMSG];
453 CButton *btn, *btn2;
454 CEdit *edit;
455 char buf[64];
456
457 CPropertyPage::OnInitDialog();
458
459 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
460 GetObject(font, sizeof(LOGFONT), &logfont);
461 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCopypasteFont, ts.UILanguageFile)) {
462 SendDlgItemMessage(IDC_LINECOPY, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
463 SendDlgItemMessage(IDC_DISABLE_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
464 SendDlgItemMessage(IDC_CONFIRM_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
465 SendDlgItemMessage(IDC_DISABLE_PASTE_MBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
466 SendDlgItemMessage(IDC_SELECT_LBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
467 SendDlgItemMessage(IDC_CONFIRM_CHANGE_PASTE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
468 SendDlgItemMessage(IDC_DELIMITER, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
469 SendDlgItemMessage(IDC_DELIM_LIST, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
470 SendDlgItemMessage(IDC_PASTEDELAY_LABEL, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
471 SendDlgItemMessage(IDC_PASTEDELAY_EDIT, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
472 SendDlgItemMessage(IDC_PASTEDELAY_LABEL2, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
473 }
474 else {
475 DlgCopypasteFont = NULL;
476 }
477
478 GetDlgItemText(IDC_LINECOPY, uimsg, sizeof(uimsg));
479 get_lang_msg("DLG_TAB_COPYPASTE_CONTINUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
480 SetDlgItemText(IDC_LINECOPY, ts.UIMsg);
481 GetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, uimsg, sizeof(uimsg));
482 get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
483 SetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, ts.UIMsg);
484 GetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, uimsg, sizeof(uimsg));
485 get_lang_msg("DLG_TAB_COPYPASTE_CONFIRMPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
486 SetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, ts.UIMsg);
487 GetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, uimsg, sizeof(uimsg));
488 get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTEM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
489 SetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, ts.UIMsg);
490 GetDlgItemText(IDC_SELECT_LBUTTON, uimsg, sizeof(uimsg));
491 get_lang_msg("DLG_TAB_COPYPASTE_SELECTLBUTTON", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
492 SetDlgItemText(IDC_SELECT_LBUTTON, ts.UIMsg);
493 GetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, uimsg, sizeof(uimsg));
494 get_lang_msg("DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
495 SetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, ts.UIMsg);
496 GetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, uimsg, sizeof(uimsg));
497 get_lang_msg("DLG_TAB_CONFIRM_STRING_FILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
498 SetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, ts.UIMsg);
499 GetDlgItemText(IDC_DELIMITER, uimsg, sizeof(uimsg));
500 get_lang_msg("DLG_TAB_COPYPASTE_DELIMITER", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
501 SetDlgItemText(IDC_DELIMITER, ts.UIMsg);
502 GetDlgItemText(IDC_PASTEDELAY_LABEL, uimsg, sizeof(uimsg));
503 get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
504 SetDlgItemText(IDC_PASTEDELAY_LABEL, ts.UIMsg);
505 GetDlgItemText(IDC_PASTEDELAY_LABEL2, uimsg, sizeof(uimsg));
506 get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY2", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
507 SetDlgItemText(IDC_PASTEDELAY_LABEL2, ts.UIMsg);
508
509 // (1)Enable continued-line copy
510 btn = (CButton *)GetDlgItem(IDC_LINECOPY);
511 btn->SetCheck(ts.EnableContinuedLineCopy);
512
513 // (2)DisablePasteMouseRButton
514 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
515 btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
516 btn->SetCheck(ts.DisablePasteMouseRButton);
517 if (ts.DisablePasteMouseRButton) {
518 btn2->EnableWindow(FALSE);
519 } else {
520 btn2->EnableWindow(TRUE);
521 }
522
523 // (3)ConfirmPasteMouseRButton
524 btn2->SetCheck(ts.ConfirmPasteMouseRButton);
525
526 // (4)DisablePasteMouseMButton
527 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
528 btn->SetCheck(ts.DisablePasteMouseMButton);
529
530 // (5)SelectOnlyByLButton
531 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
532 btn->SetCheck(ts.SelectOnlyByLButton);
533
534 // (6)ConfirmChangePaste
535 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
536 btn->SetCheck(ts.ConfirmChangePaste);
537
538 // ƒtƒ@ƒCƒ‹ƒpƒX
539 SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
540 edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);
541 btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);
542 if (ts.ConfirmChangePaste) {
543 edit->EnableWindow(TRUE);
544 btn->EnableWindow(TRUE);
545 } else {
546 edit->EnableWindow(FALSE);
547 btn->EnableWindow(FALSE);
548 }
549
550 // (7)delimiter characters
551 SetDlgItemText(IDC_DELIM_LIST, ts.DelimList);
552
553 // (8)PasteDelayPerLine
554 _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);
555 SetDlgItemText(IDC_PASTEDELAY_EDIT, buf);
556
557 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
558 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));
559
560 return FALSE;
561 }
562
563 BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
564 {
565 CButton *btn, *btn2;
566 CEdit *edit;
567 char uimsg[MAX_UIMSG];
568
569 switch (wParam) {
570 case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):
571 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
572 btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
573 if (btn->GetCheck()) {
574 btn2->EnableWindow(FALSE);
575 } else {
576 btn2->EnableWindow(TRUE);
577 }
578 return TRUE;
579
580 case IDC_CONFIRM_CHANGE_PASTE | (BN_CLICKED << 16):
581 btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
582 btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);
583 edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);
584 if (btn2->GetCheck()) {
585 edit->EnableWindow(TRUE);
586 btn->EnableWindow(TRUE);
587 } else {
588 edit->EnableWindow(FALSE);
589 btn->EnableWindow(FALSE);
590 }
591 return TRUE;
592
593 case IDC_CONFIRM_STRING_FILE_PATH | (BN_CLICKED << 16):
594 {
595 OPENFILENAME ofn;
596
597 ZeroMemory(&ofn, sizeof(ofn));
598 ofn.lStructSize = get_OPENFILENAME_SIZE();
599 ofn.hwndOwner = GetSafeHwnd();
600 get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
601 "txt(*.txt)\\0*.txt\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
602 ofn.lpstrFilter = ts.UIMsg;
603 ofn.lpstrFile = ts.ConfirmChangePasteStringFile;
604 ofn.nMaxFile = sizeof(ts.ConfirmChangePasteStringFile);
605 get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_TITLE", uimsg, sizeof(uimsg),
606 "Choose a file including strings for ConfirmChangePaste", ts.UILanguageFile);
607 ofn.lpstrTitle = uimsg;
608 ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
609 if (GetOpenFileName(&ofn) != 0) {
610 SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
611 }
612 }
613 return TRUE;
614 }
615
616 return CPropertyPage::OnCommand(wParam, lParam);
617 }
618
619 void CCopypastePropPageDlg::OnOK()
620 {
621 CButton *btn;
622 char buf[64];
623 int val;
624
625 // (1)
626 btn = (CButton *)GetDlgItem(IDC_LINECOPY);
627 ts.EnableContinuedLineCopy = btn->GetCheck();
628
629 // (2)
630 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
631 ts.DisablePasteMouseRButton = btn->GetCheck();
632
633 // (3)
634 btn = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
635 ts.ConfirmPasteMouseRButton = btn->GetCheck();
636
637 // (4)
638 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
639 ts.DisablePasteMouseMButton = btn->GetCheck();
640
641 // (5)
642 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
643 ts.SelectOnlyByLButton = btn->GetCheck();
644
645 // (6)IDC_CONFIRM_CHANGE_PASTE
646 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
647 ts.ConfirmChangePaste = btn->GetCheck();
648 GetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
649
650 // (7)
651 GetDlgItemText(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
652
653 // (8)
654 GetDlgItemText(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));
655 val = atoi(buf);
656 ts.PasteDelayPerLine = min(max(0, val), 5000);
657 }
658
659
660
661 // CVisualPropPageDlg ƒ_ƒCƒAƒ�ƒO
662
663 IMPLEMENT_DYNAMIC(CVisualPropPageDlg, CPropertyPage)
664
665 CVisualPropPageDlg::CVisualPropPageDlg()
666 : CPropertyPage(CVisualPropPageDlg::IDD)
667 {
668
669 }
670
671 CVisualPropPageDlg::~CVisualPropPageDlg()
672 {
673 if (DlgVisualFont != NULL) {
674 DeleteObject(DlgVisualFont);
675 }
676 }
677
678 BEGIN_MESSAGE_MAP(CVisualPropPageDlg, CPropertyPage)
679 END_MESSAGE_MAP()
680
681 // CVisualPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
682
683 BOOL CVisualPropPageDlg::OnInitDialog()
684 {
685 char buf[MAXPATHLEN];
686 char uimsg[MAX_UIMSG];
687 CListBox *listbox;
688 CButton *btn;
689 int i;
690
691 CPropertyPage::OnInitDialog();
692
693 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
694 GetObject(font, sizeof(LOGFONT), &logfont);
695 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgVisualFont, ts.UILanguageFile)) {
696 SendDlgItemMessage(IDC_ALPHABLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
697 SendDlgItemMessage(IDC_ALPHA_BLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
698 SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
699 SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
700 SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
701 SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
702 SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
703 SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
704 SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
705 SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
706 SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
707 SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
708 SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
709 SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
710 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
711 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
712 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
713 SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
714 SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
715 SendDlgItemMessage(IDC_URL_UNDERLINE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
716 }
717 else {
718 DlgVisualFont = NULL;
719 }
720
721 GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));
722 get_lang_msg("DLG_TAB_VISUAL_ALHPA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
723 SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);
724 GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));
725 get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
726 SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);
727 GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));
728 get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
729 SetDlgItemText(IDC_MOUSE, ts.UIMsg);
730 GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));
731 get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
732 SetDlgItemText(IDC_RED, ts.UIMsg);
733 GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));
734 get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
735 SetDlgItemText(IDC_GREEN, ts.UIMsg);
736 GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));
737 get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
738 SetDlgItemText(IDC_BLUE, ts.UIMsg);
739 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));
740 get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
741 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);
742 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));
743 get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
744 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);
745 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));
746 get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
747 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);
748 GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));
749 get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
750 SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);
751 GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));
752 get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
753 SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);
754 GetDlgItemText(IDC_URL_UNDERLINE, uimsg, sizeof(uimsg));
755 get_lang_msg("DLG_TAB_VISUAL_URLUL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
756 SetDlgItemText(IDC_URL_UNDERLINE, ts.UIMsg);
757
758 // (1)AlphaBlend
759 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlend);
760 SetDlgItemText(IDC_ALPHA_BLEND, buf);
761
762 // (2)[BG] BGEnable
763 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
764 btn->SetCheck(ts.EtermLookfeel.BGEnable);
765
766 // (3)Mouse cursor type
767 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
768 for (i = 0 ; MouseCursor[i].name ; i++) {
769 listbox->InsertString(i, MouseCursor[i].name);
770 }
771 listbox->SelectString(0, ts.MouseCursorName);
772
773 // (4)ANSI color
774 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
775 for (i = 0 ; i < 16 ; i++) {
776 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
777 listbox->InsertString(i, buf);
778 }
779 SetupRGBbox(GetSafeHwnd(), 0);
780 #if 0
781 SendMessage(WM_CTLCOLORSTATIC,
782 (WPARAM)label_hdc,
783 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
784 #endif
785
786 // (5)Bold Attr Color
787 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
788 btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
789
790 // (6)Blink Attr Color
791 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
792 btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
793
794 // (7)Reverse Attr Color
795 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
796 btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
797
798 // (8)URL Color
799 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
800 btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
801
802 // (9)Color
803 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
804 btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
805
806 // (10)URL Underline
807 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
808 btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);
809
810 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
811 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND));
812
813 return FALSE;
814 }
815
816 BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
817 {
818 CListBox *listbox;
819 int sel;
820 char buf[MAXPATHLEN];
821
822 switch (wParam) {
823 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
824 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
825 sel = listbox->GetCurSel();
826 if (sel != -1) {
827 SetupRGBbox(GetSafeHwnd(), sel);
828 #if 0
829 SendMessage(WM_CTLCOLORSTATIC,
830 (WPARAM)label_hdc,
831 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
832 #endif
833 }
834 return TRUE;
835
836 case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
837 case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
838 case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
839 {
840 BYTE r, g, b;
841
842 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
843 sel = listbox->GetCurSel();
844 if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
845 return TRUE;
846 }
847
848 GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
849 r = atoi(buf);
850
851 GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
852 g = atoi(buf);
853
854 GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
855 b = atoi(buf);
856
857 ts.ANSIColor[sel] = RGB(r, g, b);
858
859 // 255‚ð’´‚¦‚½RGB’l‚Í•â�³‚³‚ê‚é‚Ì‚Å�A‚»‚ê‚ðEdit‚É•\ަ‚·‚é (2007.2.18 maya)
860 SetupRGBbox(GetSafeHwnd(), sel);
861 #if 0
862 SendMessage(WM_CTLCOLORSTATIC,
863 (WPARAM)label_hdc,
864 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
865 #endif
866 }
867
868 return TRUE;
869 #if 0
870 case WM_CTLCOLORSTATIC:
871 {
872 HDC hDC = (HDC)wp;
873 HWND hWnd = (HWND)lp;
874
875 //if (label_hdc == NULL) {
876 hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
877 // label_hdc = hDC;
878 //}
879
880 if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
881 BYTE r, g, b;
882
883 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
884 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
885 r = atoi(buf);
886
887 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
888 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
889 g = atoi(buf);
890
891 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
892 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
893 b = atoi(buf);
894
895 OutputDebugPrintf("%06x\n", RGB(r, g, b));
896
897 SetBkMode(hDC, TRANSPARENT);
898 SetTextColor(hDC, RGB(r, g, b) );
899 ReleaseDC(hDlgWnd, hDC);
900
901 return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
902 }
903 return FALSE;
904 }
905 break ;
906 #endif
907 }
908
909 return CPropertyPage::OnCommand(wParam, lParam);
910 }
911
912 void CVisualPropPageDlg::OnOK()
913 {
914 CListBox *listbox;
915 CButton *btn;
916 int sel;
917 int beforeAlphaBlend;
918 char buf[MAXPATHLEN];
919 COLORREF TmpColor;
920
921 // (1)
922 beforeAlphaBlend = ts.AlphaBlend;
923 GetDlgItemText(IDC_ALPHA_BLEND, buf, sizeof(buf));
924 if (isdigit(buf[0])) {
925 ts.AlphaBlend = atoi(buf);
926 ts.AlphaBlend = max(0, ts.AlphaBlend);
927 ts.AlphaBlend = min(255, ts.AlphaBlend);
928 }
929
930 // (2)
931 // ƒOƒ��[ƒoƒ‹•Ï�” BGEnable ‚ð’¼�Ú�‘‚«Š·‚¦‚邯�Aƒvƒ�ƒOƒ‰ƒ€‚ª—Ž‚¿‚邱‚Æ‚ª
932 // ‚ ‚é‚̂ŃRƒs�[‚ð�C�³‚·‚é‚݂̂Ƃ·‚é�B(2005.4.24 yutaka)
933 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
934 ts.EtermLookfeel.BGEnable = btn->GetCheck();
935
936 // (3)
937 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
938 sel = listbox->GetCurSel();
939 if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
940 strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
941 }
942
943 // (5) Attr Bold Color
944 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
945 if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
946 ts.ColorFlag ^= CF_BOLDCOLOR;
947 }
948
949 // (6) Attr Blink Color
950 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
951 if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
952 ts.ColorFlag ^= CF_BLINKCOLOR;
953 }
954
955 // (7) Attr Reverse Color
956 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
957 if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoƒ‚�[ƒh(DECSCNM)Žž‚Í�ˆ—�‚ð•Ï‚¦‚é
958 if (ts.ColorFlag & CF_REVERSECOLOR) {
959 if (!btn->GetCheck()) {
960 TmpColor = ts.VTColor[0];
961 ts.VTColor[0] = ts.VTReverseColor[1];
962 ts.VTReverseColor[1] = ts.VTColor[1];
963 ts.VTColor[1] = ts.VTReverseColor[0];
964 ts.VTReverseColor[0] = TmpColor;
965 ts.ColorFlag ^= CF_REVERSECOLOR;
966 }
967 }
968 else if (btn->GetCheck()) {
969 TmpColor = ts.VTColor[0];
970 ts.VTColor[0] = ts.VTReverseColor[0];
971 ts.VTReverseColor[0] = ts.VTColor[1];
972 ts.VTColor[1] = ts.VTReverseColor[1];
973 ts.VTReverseColor[1] = TmpColor;
974 ts.ColorFlag ^= CF_REVERSECOLOR;
975 }
976 }
977 else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
978 ts.ColorFlag ^= CF_REVERSECOLOR;
979 }
980
981 // (8) URL Color
982 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
983 if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
984 ts.ColorFlag ^= CF_URLCOLOR;
985 }
986
987 // (9) Color
988 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
989 if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
990 ts.ColorFlag ^= CF_ANSICOLOR;
991 }
992
993 // (10) URL Underline
994 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
995 if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {
996 ts.FontFlag ^= FF_URLUNDERLINE;
997 }
998
999 // 2006/03/11 by 337 : Alpha’l‚à‘¦Žž•Ï�X
1000 // Layered‘‹‚ɂȂÁ‚Ä‚¢‚È‚¢�ê�‡‚ÍŒø‰Ê‚ª–³‚¢
1001 if (ts.EtermLookfeel.BGUseAlphaBlendAPI) {
1002 // ‹N“®Žž‚É”¼“§–¾ƒŒƒCƒ„‚É‚µ‚Ä‚¢‚È‚¢�ê�‡‚Å‚à�A‘¦�À‚É”¼“§–¾‚Æ‚È‚é‚æ‚¤‚É‚·‚é�B(2006.4.1 yutaka)
1003 //MySetLayeredWindowAttributes(HVTWin, 0, (ts.AlphaBlend > 255) ? 255: ts.AlphaBlend, LWA_ALPHA);
1004 // ’l‚ª•Ï�X‚³‚ꂽ‚Æ‚«‚Ì‚Ý�Ý’è‚𔽉f‚·‚é�B(2007.10.19 maya)
1005 if (ts.AlphaBlend != beforeAlphaBlend) {
1006 SetWindowStyle(&ts);
1007 }
1008 }
1009 }
1010
1011
1012
1013 // CLogPropPageDlg ƒ_ƒCƒAƒ�ƒO
1014
1015 IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
1016
1017 CLogPropPageDlg::CLogPropPageDlg()
1018 : CPropertyPage(CLogPropPageDlg::IDD)
1019 {
1020
1021 }
1022
1023 CLogPropPageDlg::~CLogPropPageDlg()
1024 {
1025 if (DlgLogFont != NULL) {
1026 DeleteObject(DlgLogFont);
1027 }
1028 }
1029
1030 BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
1031 END_MESSAGE_MAP()
1032
1033 // CLogPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1034
1035 BOOL CLogPropPageDlg::OnInitDialog()
1036 {
1037 char uimsg[MAX_UIMSG];
1038 CButton *btn;
1039
1040 CPropertyPage::OnInitDialog();
1041
1042 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1043 GetObject(font, sizeof(LOGFONT), &logfont);
1044 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
1045 SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1046 SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1047 SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1048 SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1049 SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1050 SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1051 SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1052 SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1053 SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1054 }
1055 else {
1056 DlgLogFont = NULL;
1057 }
1058
1059 GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
1060 get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1061 SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
1062 GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
1063 get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1064 SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
1065 GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
1066 get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1067 SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
1068 GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
1069 get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1070 SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
1071
1072 // Viewlog Editor path (2005.1.29 yutaka)
1073 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1074
1075 // Log Default File Name (2006.8.28 maya)
1076 SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1077
1078 // Log Default File Path (2007.5.30 maya)
1079 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1080
1081 /* Auto start logging (2007.5.31 maya) */
1082 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1083 btn->SetCheck(ts.LogAutoStart);
1084
1085 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1086 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1087
1088 return FALSE;
1089 }
1090
1091 BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1092 {
1093 char uimsg[MAX_UIMSG];
1094
1095 switch (wParam) {
1096 case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1097 {
1098 OPENFILENAME ofn;
1099
1100 ZeroMemory(&ofn, sizeof(ofn));
1101 ofn.lStructSize = get_OPENFILENAME_SIZE();
1102 ofn.hwndOwner = GetSafeHwnd();
1103 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1104 "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1105 ofn.lpstrFilter = ts.UIMsg;
1106 ofn.lpstrFile = ts.ViewlogEditor;
1107 ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1108 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1109 "Choose a executing file with launching logging file", ts.UILanguageFile);
1110 ofn.lpstrTitle = uimsg;
1111 ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1112 if (GetOpenFileName(&ofn) != 0) {
1113 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1114 }
1115 }
1116 return TRUE;
1117
1118 case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1119 // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1120 get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1121 "Select log folder", ts.UILanguageFile);
1122 doSelectFolder(GetSafeHwnd(), ts.LogDefaultPath, sizeof(ts.LogDefaultPath),
1123 ts.UIMsg);
1124 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1125
1126 return TRUE;
1127 }
1128
1129 return CPropertyPage::OnCommand(wParam, lParam);
1130 }
1131
1132 void CLogPropPageDlg::OnOK()
1133 {
1134 char buf[80], buf2[80];
1135 time_t time_local;
1136 struct tm *tm_local;
1137 char uimsg[MAX_UIMSG];
1138 CButton *btn;
1139
1140 // Viewlog Editor path (2005.1.29 yutaka)
1141 GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1142
1143 // Log Default File Name (2006.8.28 maya)
1144 GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1145 if (isInvalidStrftimeChar(buf)) {
1146 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1147 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1148 "Invalid character is included in log file name.", ts.UILanguageFile);
1149 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1150 return;
1151 }
1152 // Œ»�ÝŽž��‚ðŽæ“¾
1153 time(&time_local);
1154 tm_local = localtime(&time_local);
1155 // Žž��•¶Žš—ñ‚ɕϊ·
1156 if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1157 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1158 get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1159 "The log file name is too long.", ts.UILanguageFile);
1160 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1161 return;
1162 }
1163 if (isInvalidFileNameChar(buf2)) {
1164 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1165 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1166 "Invalid character is included in log file name.", ts.UILanguageFile);
1167 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1168 return;
1169 }
1170 strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1171
1172 // Log Default File Path (2007.5.30 maya)
1173 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1174
1175 /* Auto start logging (2007.5.31 maya) */
1176 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1177 ts.LogAutoStart = btn->GetCheck();
1178 }
1179
1180
1181
1182 // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
1183
1184 IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1185
1186 CCygwinPropPageDlg::CCygwinPropPageDlg()
1187 : CPropertyPage(CCygwinPropPageDlg::IDD)
1188 {
1189 }
1190
1191 CCygwinPropPageDlg::~CCygwinPropPageDlg()
1192 {
1193 if (DlgCygwinFont != NULL) {
1194 DeleteObject(DlgCygwinFont);
1195 }
1196 }
1197
1198 BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1199 END_MESSAGE_MAP()
1200
1201 // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1202
1203 BOOL CCygwinPropPageDlg::OnInitDialog()
1204 {
1205 char *cfgfile = "cygterm.cfg"; // CygTerm configuration file
1206 char cfg[MAX_PATH];
1207 FILE *fp;
1208 char buf[256], *head, *body;
1209 char uimsg[MAX_UIMSG];
1210 CButton *btn;
1211
1212 CPropertyPage::OnInitDialog();
1213
1214 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1215 GetObject(font, sizeof(LOGFONT), &logfont);
1216 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1217 SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1218 SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1219 SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1220 SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1221 SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1222 SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1223 SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1224 SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1225 SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1226 SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1227 SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1228 SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1229 SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1230 SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1231 SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1232 SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1233 SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1234 SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1235 SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1236 SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1237 SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1238 }
1239 else {
1240 DlgCygwinFont = NULL;
1241 }
1242
1243 GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1244 get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1245 SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1246
1247 // try to read CygTerm config file
1248 memset(&settings, 0, sizeof(settings));
1249 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
1250 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
1251 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
1252 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
1253 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
1254 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
1255 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
1256 settings.login_shell = FALSE;
1257 settings.home_chdir = FALSE;
1258 settings.agent_proxy = FALSE;
1259
1260 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1261 AppendSlash(cfg, sizeof(cfg));
1262 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1263
1264 fp = fopen(cfg, "r");
1265 if (fp != NULL) {
1266 while (fgets(buf, sizeof(buf), fp) != NULL) {
1267 int len = strlen(buf);
1268
1269 if (buf[len - 1] == '\n')
1270 buf[len - 1] = '\0';
1271
1272 split_buffer(buf, '=', &head, &body);
1273 if (head == NULL || body == NULL)
1274 continue;
1275
1276 if (_stricmp(head, "TERM") == 0) {
1277 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1278
1279 } else if (_stricmp(head, "TERM_TYPE") == 0) {
1280 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1281
1282 } else if (_stricmp(head, "PORT_START") == 0) {
1283 _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1284
1285 } else if (_stricmp(head, "PORT_RANGE") == 0) {
1286 _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1287
1288 } else if (_stricmp(head, "SHELL") == 0) {
1289 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1290
1291 } else if (_stricmp(head, "ENV_1") == 0) {
1292 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1293
1294 } else if (_stricmp(head, "ENV_2") == 0) {
1295 _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1296
1297 } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1298 if (strchr("YyTt", *body)) {
1299 settings.login_shell = TRUE;
1300 }
1301
1302 } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1303 if (strchr("YyTt", *body)) {
1304 settings.home_chdir = TRUE;
1305 }
1306
1307 } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1308 if (strchr("YyTt", *body)) {
1309 settings.agent_proxy = TRUE;
1310 }
1311
1312 } else {
1313 // TODO: error check
1314
1315 }
1316 }
1317 fclose(fp);
1318 }
1319 SetDlgItemText(IDC_TERM_EDIT, settings.term);
1320 SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1321 SetDlgItemText(IDC_PORT_START, settings.port_start);
1322 SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1323 SetDlgItemText(IDC_SHELL, settings.shell);
1324 SetDlgItemText(IDC_ENV1, settings.env1);
1325 SetDlgItemText(IDC_ENV2, settings.env2);
1326 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1327 btn->SetCheck(settings.login_shell);
1328 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1329 btn->SetCheck(settings.home_chdir);
1330 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1331 btn->SetCheck(settings.agent_proxy);
1332
1333 // Cygwin install path
1334 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1335
1336 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1337 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1338
1339 return FALSE;
1340 }
1341
1342 BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1343 {
1344 switch (wParam) {
1345 case IDC_SELECT_FILE | (BN_CLICKED << 16):
1346 // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1347 get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1348 "Select Cygwin directory", ts.UILanguageFile);
1349 doSelectFolder(GetSafeHwnd(), ts.CygwinDirectory, sizeof(ts.CygwinDirectory),
1350 ts.UIMsg);
1351 // Cygwin install path
1352 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1353 return TRUE;
1354 }
1355
1356 return CPropertyPage::OnCommand(wParam, lParam);
1357 }
1358
1359 void CCygwinPropPageDlg::OnOK()
1360 {
1361 char *cfgfile = "cygterm.cfg"; // CygTerm configuration file
1362 char *tmpfile = "cygterm.tmp";
1363 char cfg[MAX_PATH];
1364 char tmp[MAX_PATH];
1365 FILE *fp;
1366 FILE *tmp_fp;
1367 char buf[256], *head, *body;
1368 char uimsg[MAX_UIMSG];
1369 CButton *btn;
1370
1371 // writing to CygTerm config file
1372 GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1373 GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1374 GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1375 GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1376 GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1377 GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1378 GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1379 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1380 settings.login_shell = btn->GetCheck();
1381 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1382 settings.home_chdir = btn->GetCheck();
1383 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1384 settings.agent_proxy = btn->GetCheck();
1385
1386 strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1387 AppendSlash(cfg, sizeof(cfg));
1388 strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1389
1390 strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1391 AppendSlash(tmp, sizeof(tmp));
1392 strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1393
1394 fp = fopen(cfg, "r");
1395 tmp_fp = fopen(tmp, "w");
1396 if (tmp_fp == NULL) {
1397 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1398 get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1399 "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1400 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1401 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1402 } else {
1403 if (fp != NULL) {
1404 while (fgets(buf, sizeof(buf), fp) != NULL) {
1405 int len = strlen(buf);
1406
1407 if (buf[len - 1] == '\n')
1408 buf[len - 1] = '\0';
1409
1410 split_buffer(buf, '=', &head, &body);
1411 if (head == NULL || body == NULL) {
1412 fprintf(tmp_fp, "%s\n", buf);
1413 }
1414 else if (_stricmp(head, "TERM") == 0) {
1415 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1416 settings.term[0] = '\0';
1417 }
1418 else if (_stricmp(head, "TERM_TYPE") == 0) {
1419 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1420 settings.term_type[0] = '\0';
1421 }
1422 else if (_stricmp(head, "PORT_START") == 0) {
1423 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1424 settings.port_start[0] = '\0';
1425 }
1426 else if (_stricmp(head, "PORT_RANGE") == 0) {
1427 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1428 settings.port_range[0] = '\0';
1429 }
1430 else if (_stricmp(head, "SHELL") == 0) {
1431 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1432 settings.shell[0] = '\0';
1433 }
1434 else if (_stricmp(head, "ENV_1") == 0) {
1435 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1436 settings.env1[0] = '\0';
1437 }
1438 else if (_stricmp(head, "ENV_2") == 0) {
1439 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1440 settings.env2[0] = '\0';
1441 }
1442 else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1443 fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1444 settings.login_shell = FALSE;
1445 }
1446 else if (_stricmp(head, "HOME_CHDIR") == 0) {
1447 fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1448 settings.home_chdir = FALSE;
1449 }
1450 else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1451 fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1452 settings.agent_proxy = FALSE;
1453 }
1454 else {
1455 fprintf(tmp_fp, "%s = %s\n", head, body);
1456 }
1457 }
1458 fclose(fp);
1459 }
1460 else {
1461 fputs("# CygTerm setting\n", tmp_fp);
1462 fputs("\n", tmp_fp);
1463 }
1464 if (settings.term[0] != '\0') {
1465 fprintf(tmp_fp, "TERM = %s\n", settings.term);
1466 }
1467 if (settings.term_type[0] != '\0') {
1468 fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1469 }
1470 if (settings.port_start[0] != '\0') {
1471 fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1472 }
1473 if (settings.port_range[0] != '\0') {
1474 fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1475 }
1476 if (settings.shell[0] != '\0') {
1477 fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1478 }
1479 if (settings.env1[0] != '\0') {
1480 fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1481 }
1482 if (settings.env2[0] != '\0') {
1483 fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1484 }
1485 if (settings.login_shell) {
1486 fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1487 }
1488 if (settings.home_chdir) {
1489 fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1490 }
1491 if (settings.agent_proxy) {
1492 fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1493 }
1494 fclose(tmp_fp);
1495
1496 if (remove(cfg) != 0 && errno != ENOENT) {
1497 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1498 get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1499 "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1500 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1501 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1502 }
1503 else if (rename(tmp, cfg) != 0) {
1504 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1505 get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1506 "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1507 _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1508 MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1509 }
1510 }
1511
1512 // Cygwin install path
1513 GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1514 }
1515
1516
1517
1518 // CAddSettingPropSheetDlg
1519
1520 IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1521
1522 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1523 :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1524 {
1525 AddPage(&m_GeneralPage);
1526 AddPage(&m_SequencePage);
1527 AddPage(&m_CopypastePage);
1528 AddPage(&m_VisualPage);
1529 AddPage(&m_LogPage);
1530 AddPage(&m_CygwinPage);
1531
1532 m_psh.dwFlags |= PSH_NOAPPLYNOW;
1533 }
1534
1535 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
1536 :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
1537 {
1538 AddPage(&m_GeneralPage);
1539 AddPage(&m_SequencePage);
1540 AddPage(&m_CopypastePage);
1541 AddPage(&m_VisualPage);
1542 AddPage(&m_LogPage);
1543 AddPage(&m_CygwinPage);
1544
1545 m_psh.dwFlags |= PSH_NOAPPLYNOW;
1546 }
1547
1548 CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1549 {
1550 }
1551
1552
1553 BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
1554 END_MESSAGE_MAP()
1555
1556
1557 // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1558
1559 BOOL CAddSettingPropSheetDlg::OnInitDialog()
1560 {
1561 CPropertySheet::OnInitDialog();
1562
1563 get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1564 "Tera Term: Additional settings", ts.UILanguageFile);
1565 SetWindowText(ts.UIMsg);
1566
1567 CTabCtrl *tab = GetTabControl();
1568 TCITEM tc;
1569 tc.mask = TCIF_TEXT;
1570
1571 get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
1572 "General", ts.UILanguageFile);
1573 tc.pszText = ts.UIMsg;
1574 tab->SetItem(0, &tc);
1575
1576 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
1577 "Control Sequence", ts.UILanguageFile);
1578 tc.pszText = ts.UIMsg;
1579 tab->SetItem(1, &tc);
1580
1581 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
1582 "Copy and Paste", ts.UILanguageFile);
1583 tc.pszText = ts.UIMsg;
1584 tab->SetItem(2, &tc);
1585
1586 get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
1587 "Visual", ts.UILanguageFile);
1588 tc.pszText = ts.UIMsg;
1589 tab->SetItem(3, &tc);
1590
1591 get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
1592 "Log", ts.UILanguageFile);
1593 tc.pszText = ts.UIMsg;
1594 tab->SetItem(4, &tc);
1595
1596 get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
1597 "Cygwin", ts.UILanguageFile);
1598 tc.pszText = ts.UIMsg;
1599 tab->SetItem(5, &tc);
1600
1601 return FALSE;
1602 }

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