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 7444 - (show annotations) (download) (as text)
Thu Feb 28 03:00:47 2019 UTC (5 years, 1 month ago) by doda
File MIME type: text/x-c++src
File size: 80683 byte(s)
ダイアログの AlphaBlend 関連の i18n 対応 & 微調整

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

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