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

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