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 6806 - (show annotations) (download) (as text)
Thu Jun 15 00:37:01 2017 UTC (6 years, 9 months ago) by doda
File MIME type: text/x-c++src
File size: 74498 byte(s)
TeraTerm Project としてのライセンス表記を追加

とりあえず Tera Term 本体分。
TeraTerm Project としての copyright 表記の年部分はコミットログを確認して書いたつもりだけど、ミスってたらすみません。

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

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