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 5493 - (show annotations) (download) (as text)
Sun Mar 2 14:46:06 2014 UTC (10 years, 1 month ago) by yutakapon
File MIME type: text/x-c++src
File size: 70977 byte(s)
チケット #32524
sendmulticast マクロコマンドの宛先を、Additional settings - General ダイアログで、
マルチキャスト名を設定できるようにした。また、それに伴い teraterm.ini に MulticastName 
エントリを追加した。

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

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