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 7131 - (show annotations) (download) (as text)
Thu Jun 14 08:43:41 2018 UTC (5 years, 9 months ago) by doda
File MIME type: text/x-c++src
File size: 80150 byte(s)
UI から TitleFormat を変更可能にした。 #35766

アクセスキーの選び方が微妙。改善案募集中。
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
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, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
911 SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
912 SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
913 SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
914 SendDlgItemMessage(IDC_FONT_QUALITY_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
915 SendDlgItemMessage(IDC_FONT_QUALITY, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
916 SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
917 SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
918 SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
919 SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
920 SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
921 SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
922 SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
923 SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
924 SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
925 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
926 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
927 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
928 SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
929 SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
930 SendDlgItemMessage(IDC_URL_UNDERLINE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
931 SendDlgItemMessage(IDC_BGIMG_CHECK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
932 SendDlgItemMessage(IDC_BGIMG_EDIT, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
933 SendDlgItemMessage(IDC_BGIMG_BUTTON, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
934 SendDlgItemMessage(IDC_RESTART, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
935 SendDlgItemMessage(IDC_BGIMG_BRIGHTNESS, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
936 SendDlgItemMessage(IDC_EDIT_BGIMG_BRIGHTNESS, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
937 }
938 else {
939 DlgVisualFont = NULL;
940 }
941
942 GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));
943 get_lang_msg("DLG_TAB_VISUAL_ALPHA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
944 SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);
945 GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));
946 get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
947 SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);
948 GetDlgItemText(IDC_BGIMG_CHECK, uimsg, sizeof(uimsg));
949 get_lang_msg("DLG_TAB_VISUAL_BGIMG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
950 SetDlgItemText(IDC_BGIMG_CHECK, ts.UIMsg);
951 GetDlgItemText(IDC_BGIMG_BRIGHTNESS, uimsg, sizeof(uimsg));
952 get_lang_msg("DLG_TAB_VISUAL_BGIMG_BRIGHTNESS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
953 SetDlgItemText(IDC_BGIMG_BRIGHTNESS, ts.UIMsg);
954 GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));
955 get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
956 SetDlgItemText(IDC_MOUSE, ts.UIMsg);
957 GetDlgItemText(IDC_FONT_QUALITY_LABEL, uimsg, sizeof(uimsg));
958 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
959 SetDlgItemText(IDC_FONT_QUALITY_LABEL, ts.UIMsg);
960 GetDlgItemText(IDC_ANSICOLOR, uimsg, sizeof(uimsg));
961 get_lang_msg("DLG_TAB_VISUAL_ANSICOLOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
962 SetDlgItemText(IDC_ANSICOLOR, ts.UIMsg);
963 GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));
964 get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
965 SetDlgItemText(IDC_RED, ts.UIMsg);
966 GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));
967 get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
968 SetDlgItemText(IDC_GREEN, ts.UIMsg);
969 GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));
970 get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
971 SetDlgItemText(IDC_BLUE, ts.UIMsg);
972 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));
973 get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
974 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);
975 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));
976 get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
977 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);
978 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));
979 get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
980 SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);
981 GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));
982 get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
983 SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);
984 GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));
985 get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
986 SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);
987 GetDlgItemText(IDC_URL_UNDERLINE, uimsg, sizeof(uimsg));
988 get_lang_msg("DLG_TAB_VISUAL_URLUL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
989 SetDlgItemText(IDC_URL_UNDERLINE, ts.UIMsg);
990 GetDlgItemText(IDC_RESTART, uimsg, sizeof(uimsg));
991 get_lang_msg("DLG_TAB_VISUAL_RESTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
992 SetDlgItemText(IDC_RESTART, ts.UIMsg);
993
994 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT", ts.UIMsg, sizeof(ts.UIMsg), "Default", ts.UILanguageFile);
995 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
996 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Non-Antialiased", ts.UILanguageFile);
997 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
998 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Antialiased", ts.UILanguageFile);
999 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1000 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE", ts.UIMsg, sizeof(ts.UIMsg), "ClearType", ts.UILanguageFile);
1001 SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1002
1003 // (1)AlphaBlend
1004 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlend);
1005 SetDlgItemText(IDC_ALPHA_BLEND, buf);
1006
1007 // (2)[BG] BGEnable
1008 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1009 btn->SetCheck(ts.EtermLookfeel.BGEnable);
1010
1011 // Eterm look-feel���w�i�����w���B
1012 SetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath);
1013
1014 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.BGImgBrightness);
1015 SetDlgItemText(IDC_EDIT_BGIMG_BRIGHTNESS, buf);
1016
1017 if (ts.EtermLookfeel.BGEnable) {
1018 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);
1019
1020 btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
1021 if (strcmp(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE) == 0) {
1022 btn->SetCheck(BST_CHECKED);
1023 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
1024 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
1025
1026 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1027 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1028 } else {
1029 btn->SetCheck(BST_UNCHECKED);
1030 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1031 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1032
1033 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1034 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1035 }
1036 } else {
1037 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);
1038 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1039 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1040
1041 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1042 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1043 }
1044
1045 // (3)Mouse cursor type
1046 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1047 for (i = 0 ; MouseCursor[i].name ; i++) {
1048 listbox->InsertString(i, MouseCursor[i].name);
1049 }
1050 listbox->SelectString(0, ts.MouseCursorName);
1051
1052 // (4)Font quality
1053 cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1054 switch (ts.FontQuality) {
1055 case DEFAULT_QUALITY:
1056 cmb->SetCurSel(0);
1057 break;
1058 case NONANTIALIASED_QUALITY:
1059 cmb->SetCurSel(1);
1060 break;
1061 case ANTIALIASED_QUALITY:
1062 cmb->SetCurSel(2);
1063 break;
1064 default: // CLEARTYPE_QUALITY
1065 cmb->SetCurSel(3);
1066 break;
1067 }
1068
1069 // (5)ANSI color
1070 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1071 for (i = 0 ; i < 16 ; i++) {
1072 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
1073 listbox->InsertString(i, buf);
1074 }
1075 SetupRGBbox(GetSafeHwnd(), 0);
1076 #if 0
1077 SendMessage(WM_CTLCOLORSTATIC,
1078 (WPARAM)label_hdc,
1079 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1080 #endif
1081
1082 // (6)Bold Attr Color
1083 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1084 btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
1085
1086 // (7)Blink Attr Color
1087 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1088 btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
1089
1090 // (8)Reverse Attr Color
1091 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1092 btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
1093
1094 // (9)URL Color
1095 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1096 btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
1097
1098 // (10)Color
1099 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1100 btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
1101
1102 // (11)URL Underline
1103 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1104 btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);
1105
1106 // �_�C�A���O���t�H�[�J�X��������
1107 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND));
1108
1109 return FALSE;
1110 }
1111
1112 BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1113 {
1114 CListBox *listbox;
1115 int sel;
1116 char buf[MAXPATHLEN];
1117 CButton *btn;
1118
1119 switch (wParam) {
1120 case IDC_ETERM_LOOKFEEL:
1121 // �`�F�b�N�������� Enable/Disable ���g�O�������B
1122 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1123 if (btn->GetCheck()) {
1124 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);
1125 btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
1126 if (btn->GetCheck()) {
1127 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
1128 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
1129
1130 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1131 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1132 } else {
1133 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1134 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1135
1136 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1137 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1138 }
1139 } else {
1140 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);
1141 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1142 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1143
1144 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1145 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1146
1147 // ���������������ABGThemeFile �����������B
1148 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
1149 // �w�i�����������������B
1150 SetDlgItemText(IDC_BGIMG_EDIT, "");
1151 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
1152 }
1153 return TRUE;
1154
1155 case IDC_BGIMG_CHECK:
1156 btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
1157 if (btn->GetCheck()) {
1158 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
1159 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
1160
1161 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1162 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1163
1164 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
1165 } else {
1166 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1167 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1168
1169 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1170 GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1171
1172 // ���������������ABGThemeFile �����������B
1173 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
1174 // �w�i�����������������B
1175 SetDlgItemText(IDC_BGIMG_EDIT, "");
1176 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
1177 }
1178 return TRUE;
1179
1180 case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
1181 // �w�i�������_�C�A���O���w�������B
1182 {
1183 CString filter("Image Files(*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|All Files(*.*)|*.*||");
1184 CFileDialog selDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);
1185 if (selDlg.DoModal() == IDOK) {
1186 // �w�i�����w�������}�I���s���������ABGThemeFile �������������B
1187 SetDlgItemText(IDC_BGIMG_EDIT, selDlg.GetPathName());
1188 }
1189 }
1190 return TRUE;
1191
1192 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
1193 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1194 sel = listbox->GetCurSel();
1195 if (sel != -1) {
1196 SetupRGBbox(GetSafeHwnd(), sel);
1197 #if 0
1198 SendMessage(WM_CTLCOLORSTATIC,
1199 (WPARAM)label_hdc,
1200 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1201 #endif
1202 }
1203 return TRUE;
1204
1205 case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
1206 case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
1207 case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
1208 {
1209 BYTE r, g, b;
1210
1211 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1212 sel = listbox->GetCurSel();
1213 if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
1214 return TRUE;
1215 }
1216
1217 GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
1218 r = atoi(buf);
1219
1220 GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
1221 g = atoi(buf);
1222
1223 GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
1224 b = atoi(buf);
1225
1226 ts.ANSIColor[sel] = RGB(r, g, b);
1227
1228 // 255��������RGB�l�����������������A������Edit���\������ (2007.2.18 maya)
1229 SetupRGBbox(GetSafeHwnd(), sel);
1230 #if 0
1231 SendMessage(WM_CTLCOLORSTATIC,
1232 (WPARAM)label_hdc,
1233 (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1234 #endif
1235 }
1236
1237 return TRUE;
1238 #if 0
1239 case WM_CTLCOLORSTATIC:
1240 {
1241 HDC hDC = (HDC)wp;
1242 HWND hWnd = (HWND)lp;
1243
1244 //if (label_hdc == NULL) {
1245 hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
1246 // label_hdc = hDC;
1247 //}
1248
1249 if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
1250 BYTE r, g, b;
1251
1252 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
1253 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1254 r = atoi(buf);
1255
1256 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
1257 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1258 g = atoi(buf);
1259
1260 hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
1261 SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1262 b = atoi(buf);
1263
1264 OutputDebugPrintf("%06x\n", RGB(r, g, b));
1265
1266 SetBkMode(hDC, TRANSPARENT);
1267 SetTextColor(hDC, RGB(r, g, b) );
1268 ReleaseDC(hDlgWnd, hDC);
1269
1270 return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
1271 }
1272 return FALSE;
1273 }
1274 break ;
1275 #endif
1276 }
1277
1278 return CPropertyPage::OnCommand(wParam, lParam);
1279 }
1280
1281 void CVisualPropPageDlg::OnOK()
1282 {
1283 CListBox *listbox;
1284 CButton *btn;
1285 CComboBox *cmb;
1286 int sel;
1287 int beforeAlphaBlend;
1288 char buf[MAXPATHLEN];
1289 COLORREF TmpColor;
1290 int flag_changed = 0;
1291
1292 // (1)
1293 beforeAlphaBlend = ts.AlphaBlend;
1294 GetDlgItemText(IDC_ALPHA_BLEND, buf, sizeof(buf));
1295 if (isdigit(buf[0])) {
1296 ts.AlphaBlend = atoi(buf);
1297 ts.AlphaBlend = max(0, ts.AlphaBlend);
1298 ts.AlphaBlend = min(255, ts.AlphaBlend);
1299 }
1300
1301 // (2)
1302 // �O���[�o������ BGEnable �������������������A�v���O������������������
1303 // ���������R�s�[���C�����������������B(2005.4.24 yutaka)
1304 btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1305 if (ts.EtermLookfeel.BGEnable != btn->GetCheck()) {
1306 flag_changed = 1;
1307 ts.EtermLookfeel.BGEnable = btn->GetCheck();
1308 }
1309
1310 if (ts.EtermLookfeel.BGEnable) {
1311 GetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
1312 } else {
1313 strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
1314 }
1315
1316 GetDlgItemText(IDC_EDIT_BGIMG_BRIGHTNESS, buf, sizeof(buf));
1317 if (isdigit(buf[0])) {
1318 ts.BGImgBrightness = atoi(buf);
1319 ts.BGImgBrightness = max(0, ts.BGImgBrightness);
1320 ts.BGImgBrightness = min(255, ts.BGImgBrightness);
1321 }
1322
1323 // (3)
1324 listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1325 sel = listbox->GetCurSel();
1326 if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
1327 strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
1328 }
1329
1330 // (4)Font quality
1331 cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1332 switch (cmb->GetCurSel()) {
1333 case 0:
1334 ts.FontQuality = DEFAULT_QUALITY;
1335 break;
1336 case 1:
1337 ts.FontQuality = NONANTIALIASED_QUALITY;
1338 break;
1339 case 2:
1340 ts.FontQuality = ANTIALIASED_QUALITY;
1341 break;
1342 case 3:
1343 ts.FontQuality = CLEARTYPE_QUALITY;
1344 break;
1345 default: // Invalid value.
1346 break;
1347 }
1348
1349 // (6) Attr Bold Color
1350 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1351 if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
1352 ts.ColorFlag ^= CF_BOLDCOLOR;
1353 }
1354
1355 // (7) Attr Blink Color
1356 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1357 if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
1358 ts.ColorFlag ^= CF_BLINKCOLOR;
1359 }
1360
1361 // (8) Attr Reverse Color
1362 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1363 if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Video���[�h(DECSCNM)����������������
1364 if (ts.ColorFlag & CF_REVERSECOLOR) {
1365 if (!btn->GetCheck()) {
1366 TmpColor = ts.VTColor[0];
1367 ts.VTColor[0] = ts.VTReverseColor[1];
1368 ts.VTReverseColor[1] = ts.VTColor[1];
1369 ts.VTColor[1] = ts.VTReverseColor[0];
1370 ts.VTReverseColor[0] = TmpColor;
1371 ts.ColorFlag ^= CF_REVERSECOLOR;
1372 }
1373 }
1374 else if (btn->GetCheck()) {
1375 TmpColor = ts.VTColor[0];
1376 ts.VTColor[0] = ts.VTReverseColor[0];
1377 ts.VTReverseColor[0] = ts.VTColor[1];
1378 ts.VTColor[1] = ts.VTReverseColor[1];
1379 ts.VTReverseColor[1] = TmpColor;
1380 ts.ColorFlag ^= CF_REVERSECOLOR;
1381 }
1382 }
1383 else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
1384 ts.ColorFlag ^= CF_REVERSECOLOR;
1385 }
1386
1387 // (9) URL Color
1388 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1389 if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
1390 ts.ColorFlag ^= CF_URLCOLOR;
1391 }
1392
1393 // (10) Color
1394 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1395 if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
1396 ts.ColorFlag ^= CF_ANSICOLOR;
1397 }
1398
1399 // (11) URL Underline
1400 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1401 if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {
1402 ts.FontFlag ^= FF_URLUNDERLINE;
1403 }
1404
1405 // 2006/03/11 by 337 : Alpha�l���������X
1406 // Layered��������������������������������
1407 if (ts.EtermLookfeel.BGUseAlphaBlendAPI) {
1408 // �N���������������C�����������������������A�����������������������������B(2006.4.1 yutaka)
1409 //MySetLayeredWindowAttributes(HVTWin, 0, (ts.AlphaBlend > 255) ? 255: ts.AlphaBlend, LWA_ALPHA);
1410 // �l�����X�����������������������f�����B(2007.10.19 maya)
1411 if (ts.AlphaBlend != beforeAlphaBlend) {
1412 SetWindowStyle(&ts);
1413 }
1414 }
1415
1416 if (flag_changed) {
1417 // re-launch
1418 // RestartTeraTerm(GetSafeHwnd(), &ts);
1419 }
1420 }
1421
1422
1423
1424 // CLogPropPageDlg �_�C�A���O
1425
1426 IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
1427
1428 CLogPropPageDlg::CLogPropPageDlg()
1429 : CPropertyPage(CLogPropPageDlg::IDD)
1430 {
1431
1432 }
1433
1434 CLogPropPageDlg::~CLogPropPageDlg()
1435 {
1436 if (DlgLogFont != NULL) {
1437 DeleteObject(DlgLogFont);
1438 }
1439 }
1440
1441 BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
1442 END_MESSAGE_MAP()
1443
1444 // CLogPropPageDlg ���b�Z�[�W �n���h��
1445
1446 #define LOG_ROTATE_SIZETYPE_NUM 3
1447 static char *LogRotateSizeType[] = {
1448 "Byte", "KB", "MB"
1449 };
1450
1451 static char *GetLogRotateSizeType(int val)
1452 {
1453 if (val >= LOG_ROTATE_SIZETYPE_NUM)
1454 val = 0;
1455
1456 return LogRotateSizeType[val];
1457 }
1458
1459 BOOL CLogPropPageDlg::OnInitDialog()
1460 {
1461 char uimsg[MAX_UIMSG];
1462 CButton *btn;
1463 CComboBox *combo;
1464 int i, TmpLogRotateSize;
1465
1466 CPropertyPage::OnInitDialog();
1467
1468 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1469 GetObject(font, sizeof(LOGFONT), &logfont);
1470 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
1471 SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1472 SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1473 SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1474 SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1475 SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1476 SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1477 SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1478 SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1479 SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1480
1481 // Log rotate
1482 SendDlgItemMessage(IDC_LOG_ROTATE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1483 SendDlgItemMessage(IDC_ROTATE_SIZE_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1484 SendDlgItemMessage(IDC_ROTATE_SIZE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1485 SendDlgItemMessage(IDC_ROTATE_SIZE_TYPE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1486 SendDlgItemMessage(IDC_ROTATE_STEP_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1487 SendDlgItemMessage(IDC_ROTATE_STEP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1488
1489 // Log options
1490 SendDlgItemMessage(IDC_LOG_OPTION_GROUP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1491 SendDlgItemMessage(IDC_OPT_BINARY, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1492 SendDlgItemMessage(IDC_OPT_APPEND, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1493 SendDlgItemMessage(IDC_OPT_PLAINTEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1494 SendDlgItemMessage(IDC_OPT_TIMESTAMP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1495 SendDlgItemMessage(IDC_OPT_HIDEDLG, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1496 SendDlgItemMessage(IDC_OPT_INCBUF, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1497 }
1498 else {
1499 DlgLogFont = NULL;
1500 }
1501
1502 GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
1503 get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1504 SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
1505 GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
1506 get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1507 SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
1508 GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
1509 get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1510 SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
1511 GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
1512 get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1513 SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
1514 // Log rotate
1515 GetDlgItemText(IDC_LOG_ROTATE, uimsg, sizeof(uimsg));
1516 get_lang_msg("DLG_TAB_LOG_ROTATE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1517 SetDlgItemText(IDC_LOG_ROTATE, ts.UIMsg);
1518 GetDlgItemText(IDC_ROTATE_SIZE_TEXT, uimsg, sizeof(uimsg));
1519 get_lang_msg("DLG_TAB_LOG_ROTATE_SIZE_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1520 SetDlgItemText(IDC_ROTATE_SIZE_TEXT, ts.UIMsg);
1521 GetDlgItemText(IDC_ROTATE_STEP_TEXT, uimsg, sizeof(uimsg));
1522 get_lang_msg("DLG_TAB_LOG_ROTATESTEP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1523 SetDlgItemText(IDC_ROTATE_STEP_TEXT, ts.UIMsg);
1524 // Log options
1525 // FIXME: ���b�Z�[�W�J�^���O�����������O�I�v�V���������������p�������A�A�N�Z�����[�^�L�[���d�������������������B
1526 GetDlgItemText(IDC_LOG_OPTION_GROUP, uimsg, sizeof(uimsg));
1527 get_lang_msg("DLG_FOPT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1528 SetDlgItemText(IDC_LOG_OPTION_GROUP, ts.UIMsg);
1529 GetDlgItemText(IDC_OPT_BINARY, uimsg, sizeof(uimsg));
1530 get_lang_msg("DLG_FOPT_BINARY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1531 SetDlgItemText(IDC_OPT_BINARY, ts.UIMsg);
1532 GetDlgItemText(IDC_OPT_APPEND, uimsg, sizeof(uimsg));
1533 get_lang_msg("DLG_FOPT_APPEND", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1534 SetDlgItemText(IDC_OPT_APPEND, ts.UIMsg);
1535 GetDlgItemText(IDC_OPT_PLAINTEXT, uimsg, sizeof(uimsg));
1536 get_lang_msg("DLG_FOPT_PLAIN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1537 SetDlgItemText(IDC_OPT_PLAINTEXT, ts.UIMsg);
1538 GetDlgItemText(IDC_OPT_HIDEDLG, uimsg, sizeof(uimsg));
1539 get_lang_msg("DLG_FOPT_HIDEDIALOG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1540 SetDlgItemText(IDC_OPT_HIDEDLG, ts.UIMsg);
1541 GetDlgItemText(IDC_OPT_INCBUF, uimsg, sizeof(uimsg));
1542 get_lang_msg("DLG_FOPT_ALLBUFFINFIRST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1543 SetDlgItemText(IDC_OPT_INCBUF, ts.UIMsg);
1544 GetDlgItemText(IDC_OPT_TIMESTAMP, uimsg, sizeof(uimsg));
1545 get_lang_msg("DLG_FOPT_TIMESTAMP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1546 SetDlgItemText(IDC_OPT_TIMESTAMP, ts.UIMsg);
1547
1548 get_lang_msg("DLG_FOPT_TIMESTAMP_LOCAL", ts.UIMsg, sizeof(ts.UIMsg), "Local Time", ts.UILanguageFile);
1549 SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1550 get_lang_msg("DLG_FOPT_TIMESTAMP_UTC", ts.UIMsg, sizeof(ts.UIMsg), "UTC", ts.UILanguageFile);
1551 SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1552 get_lang_msg("DLG_FOPT_TIMESTAMP_ELAPSED_LOGGING", ts.UIMsg, sizeof(ts.UIMsg), "Elapsed Time (Logging)", ts.UILanguageFile);
1553 SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1554 get_lang_msg("DLG_FOPT_TIMESTAMP_ELAPSED_CONNECTION", ts.UIMsg, sizeof(ts.UIMsg), "Elapsed Time (Connection)", ts.UILanguageFile);
1555 SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1556
1557
1558 // Viewlog Editor path (2005.1.29 yutaka)
1559 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1560
1561 // Log Default File Name (2006.8.28 maya)
1562 SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1563
1564 // Log Default File Path (2007.5.30 maya)
1565 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1566
1567 /* Auto start logging (2007.5.31 maya) */
1568 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1569 btn->SetCheck(ts.LogAutoStart);
1570
1571 // Log rotate
1572 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1573 btn->SetCheck(ts.LogRotate != ROTATE_NONE);
1574
1575 combo = (CComboBox *)GetDlgItem(IDC_ROTATE_SIZE_TYPE);
1576 for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1577 combo->AddString(LogRotateSizeType[i]);
1578 }
1579
1580 TmpLogRotateSize = ts.LogRotateSize;
1581 for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1582 TmpLogRotateSize /= 1024;
1583 SetDlgItemInt(IDC_ROTATE_SIZE, TmpLogRotateSize, FALSE);
1584 combo->SelectString(-1, GetLogRotateSizeType(ts.LogRotateSizeType));
1585 SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1586 if (ts.LogRotate == ROTATE_NONE) {
1587 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1588 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1589 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1590 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1591 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1592 } else {
1593 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1594 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1595 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1596 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1597 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1598 }
1599
1600 // Log options
1601 btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1602 btn->SetCheck(ts.LogBinary != 0);
1603 if (ts.LogBinary) {
1604 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1605 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1606 } else {
1607 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1608 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1609 }
1610 btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1611 btn->SetCheck(ts.Append != 0);
1612 btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1613 btn->SetCheck(ts.LogTypePlainText != 0);
1614 btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1615 btn->SetCheck(ts.LogHideDialog != 0);
1616 btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1617 btn->SetCheck(ts.LogAllBuffIncludedInFirst != 0);
1618 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1619 btn->SetCheck(ts.LogTimestamp != 0);
1620
1621 combo = (CComboBox *)GetDlgItem(IDC_OPT_TIMESTAMP_TYPE);
1622 combo->SetCurSel(ts.LogTimestampType);
1623 if (ts.LogBinary || !ts.LogTimestamp) {
1624 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);
1625 }
1626 else {
1627 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);
1628 }
1629 /*
1630 switch (ts.LogTimestampType) {
1631 case CSF_CBRW:
1632 cmb->SetCurSel(3);
1633 break;
1634 case CSF_CBREAD:
1635 cmb->SetCurSel(2);
1636 break;
1637 case CSF_CBWRITE:
1638 cmb->SetCurSel(1);
1639 break;
1640 default: // off
1641 cmb->SetCurSel(0);
1642 break;
1643 }
1644 */
1645
1646 // �_�C�A���O���t�H�[�J�X��������
1647 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1648
1649 return FALSE;
1650 }
1651
1652 BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1653 {
1654 char uimsg[MAX_UIMSG];
1655 char buf[MAX_PATH], buf2[MAX_PATH];
1656
1657 switch (wParam) {
1658 case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1659 {
1660 OPENFILENAME ofn;
1661
1662 ZeroMemory(&ofn, sizeof(ofn));
1663 ofn.lStructSize = get_OPENFILENAME_SIZE();
1664 ofn.hwndOwner = GetSafeHwnd();
1665 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1666 "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1667 ofn.lpstrFilter = ts.UIMsg;
1668 ofn.lpstrFile = ts.ViewlogEditor;
1669 ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1670 get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1671 "Choose a executing file with launching logging file", ts.UILanguageFile);
1672 ofn.lpstrTitle = uimsg;
1673 ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1674 if (GetOpenFileName(&ofn) != 0) {
1675 SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1676 }
1677 }
1678 return TRUE;
1679
1680 case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1681 // ���O�f�B���N�g�����I���_�C�A���O
1682 get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1683 "Select log folder", ts.UILanguageFile);
1684 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, buf, sizeof(buf));
1685 if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1686 SetDlgItemText(IDC_DEFAULTPATH_EDITOR, buf2);
1687 }
1688
1689 return TRUE;
1690
1691 case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1692 {
1693 CButton *btn;
1694 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1695 if (btn->GetCheck()) {
1696 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1697 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1698 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1699 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1700 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1701 } else {
1702 GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1703 GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1704 GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1705 GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1706 GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1707 }
1708
1709 }
1710 return TRUE;
1711
1712 case IDC_OPT_BINARY | (BN_CLICKED << 16):
1713 {
1714 CButton *btn;
1715 btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1716 if (btn->GetCheck()) {
1717 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1718 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1719 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);
1720 } else {
1721 GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1722 GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1723
1724 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1725 if (btn->GetCheck()) {
1726 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);
1727 }
1728 }
1729 }
1730 return TRUE;
1731
1732 case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1733 {
1734 CButton *btn;
1735 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1736 if (btn->GetCheck()) {
1737 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);
1738 } else {
1739 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);
1740 }
1741 }
1742 return TRUE;
1743 }
1744
1745 return CPropertyPage::OnCommand(wParam, lParam);
1746 }
1747
1748 void CLogPropPageDlg::OnOK()
1749 {
1750 char buf[80], buf2[80];
1751 time_t time_local;
1752 struct tm *tm_local;
1753 char uimsg[MAX_UIMSG];
1754 CButton *btn;
1755 CString str;
1756 CComboBox *cmb;
1757 int i;
1758
1759 // Viewlog Editor path (2005.1.29 yutaka)
1760 GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1761
1762 // Log Default File Name (2006.8.28 maya)
1763 GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1764 if (isInvalidStrftimeChar(buf)) {
1765 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1766 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1767 "Invalid character is included in log file name.", ts.UILanguageFile);
1768 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1769 return;
1770 }
1771 // ��������������
1772 time(&time_local);
1773 tm_local = localtime(&time_local);
1774 // ����������������
1775 if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1776 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1777 get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1778 "The log file name is too long.", ts.UILanguageFile);
1779 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1780 return;
1781 }
1782 if (isInvalidFileNameChar(buf2)) {
1783 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1784 get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1785 "Invalid character is included in log file name.", ts.UILanguageFile);
1786 MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1787 return;
1788 }
1789 strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1790
1791 // Log Default File Path (2007.5.30 maya)
1792 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1793
1794 /* Auto start logging (2007.5.31 maya) */
1795 btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1796 ts.LogAutoStart = btn->GetCheck();
1797
1798 /* Log Rotate */
1799 btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1800 if (btn->GetCheck()) { /* on */
1801 ts.LogRotate = ROTATE_SIZE;
1802
1803 ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);
1804 for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1805 if (strcmp(str, LogRotateSizeType[i]) == 0)
1806 break;
1807 }
1808 if (i >= LOG_ROTATE_SIZETYPE_NUM)
1809 i = 0;
1810 ts.LogRotateSizeType = i;
1811
1812 ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1813 for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1814 ts.LogRotateSize *= 1024;
1815
1816 ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1817
1818 } else { /* off */
1819 ts.LogRotate = ROTATE_NONE;
1820 /* �c���������o�[�����}�I���������c���B*/
1821 }
1822
1823 // Log Options
1824 btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1825 if (btn->GetCheck()) {
1826 ts.LogBinary = 1;
1827 }
1828 else {
1829 ts.LogBinary = 0;
1830 }
1831
1832 btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1833 if (btn->GetCheck()) {
1834 ts.Append = 1;
1835 }
1836 else {
1837 ts.Append = 0;
1838 }
1839
1840 btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1841 if (btn->GetCheck()) {
1842 ts.LogTypePlainText = 1;
1843 }
1844 else {
1845 ts.LogTypePlainText = 0;
1846 }
1847
1848 btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1849 if (btn->GetCheck()) {
1850 ts.LogHideDialog = 1;
1851 }
1852 else {
1853 ts.LogHideDialog = 0;
1854 }
1855
1856 btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1857 if (btn->GetCheck()) {
1858 ts.LogAllBuffIncludedInFirst = 1;
1859 }
1860 else {
1861 ts.LogAllBuffIncludedInFirst = 0;
1862 }
1863
1864 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1865 if (btn->GetCheck()) {
1866 ts.LogTimestamp = 1;
1867 }
1868 else {
1869 ts.LogTimestamp = 0;
1870 }
1871
1872 cmb = (CComboBox *)GetDlgItem(IDC_OPT_TIMESTAMP_TYPE);
1873 ts.LogTimestampType = cmb->GetCurSel();
1874 }
1875
1876
1877 // CCygwinPropPageDlg �_�C�A���O
1878
1879 IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1880
1881 CCygwinPropPageDlg::CCygwinPropPageDlg()
1882 : CPropertyPage(CCygwinPropPageDlg::IDD)
1883 {
1884 }
1885
1886 CCygwinPropPageDlg::~CCygwinPropPageDlg()
1887 {
1888 if (DlgCygwinFont != NULL) {
1889 DeleteObject(DlgCygwinFont);
1890 }
1891 }
1892
1893 BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1894 END_MESSAGE_MAP()
1895
1896 // CCygwinPropPageDlg ���b�Z�[�W �n���h��
1897
1898 BOOL CCygwinPropPageDlg::OnInitDialog()
1899 {
1900 char uimsg[MAX_UIMSG];
1901 CButton *btn;
1902
1903 CPropertyPage::OnInitDialog();
1904
1905 font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1906 GetObject(font, sizeof(LOGFONT), &logfont);
1907 if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1908 SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1909 SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1910 SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1911 SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1912 SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1913 SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1914 SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1915 SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1916 SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1917 SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1918 SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1919 SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1920 SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1921 SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1922 SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1923 SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1924 SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1925 SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1926 SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1927 SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1928 SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1929 }
1930 else {
1931 DlgCygwinFont = NULL;
1932 }
1933
1934 GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1935 get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1936 SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1937
1938 memcpy(&settings, &ts.CygtermSettings, sizeof(cygterm_t));
1939
1940 SetDlgItemText(IDC_TERM_EDIT, settings.term);
1941 SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1942 SetDlgItemText(IDC_PORT_START, settings.port_start);
1943 SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1944 SetDlgItemText(IDC_SHELL, settings.shell);
1945 SetDlgItemText(IDC_ENV1, settings.env1);
1946 SetDlgItemText(IDC_ENV2, settings.env2);
1947 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1948 btn->SetCheck(settings.login_shell);
1949 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1950 btn->SetCheck(settings.home_chdir);
1951 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1952 btn->SetCheck(settings.agent_proxy);
1953
1954 // Cygwin install path
1955 SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1956
1957 // �_�C�A���O���t�H�[�J�X��������
1958 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1959
1960 return FALSE;
1961 }
1962
1963 BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1964 {
1965 char buf[MAX_PATH], buf2[MAX_PATH];
1966
1967 switch (wParam) {
1968 case IDC_SELECT_FILE | (BN_CLICKED << 16):
1969 // Cygwin install �f�B���N�g�����I���_�C�A���O
1970 get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1971 "Select Cygwin directory", ts.UILanguageFile);
1972 GetDlgItemText(IDC_CYGWIN_PATH, buf, sizeof(buf));
1973 if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1974 SetDlgItemText(IDC_CYGWIN_PATH, buf2);
1975 }
1976 return TRUE;
1977 }
1978
1979 return CPropertyPage::OnCommand(wParam, lParam);
1980 }
1981
1982 void CCygwinPropPageDlg::OnOK()
1983 {
1984 CButton *btn;
1985
1986 // writing to CygTerm config file
1987 GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1988 GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1989 GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1990 GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1991 GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1992 GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1993 GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1994 btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1995 settings.login_shell = btn->GetCheck();
1996 btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1997 settings.home_chdir = btn->GetCheck();
1998 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1999 settings.agent_proxy = btn->GetCheck();
2000
2001 memcpy(&ts.CygtermSettings, &settings, sizeof(cygterm_t));
2002
2003 // �������������������t���O�������������B
2004 ts.CygtermSettings.update_flag = TRUE;
2005
2006 // Cygwin install path
2007 GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
2008 }
2009
2010
2011
2012 // CAddSettingPropSheetDlg
2013
2014 IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
2015
2016 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
2017 :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
2018 {
2019 AddPage(&m_GeneralPage);
2020 AddPage(&m_SequencePage);
2021 AddPage(&m_CopypastePage);
2022 AddPage(&m_VisualPage);
2023 AddPage(&m_LogPage);
2024 AddPage(&m_CygwinPage);
2025
2026 m_psh.dwFlags |= PSH_NOAPPLYNOW;
2027 }
2028
2029 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
2030 :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
2031 {
2032 AddPage(&m_GeneralPage);
2033 AddPage(&m_SequencePage);
2034 AddPage(&m_CopypastePage);
2035 AddPage(&m_VisualPage);
2036 AddPage(&m_LogPage);
2037 AddPage(&m_CygwinPage);
2038
2039 m_psh.dwFlags |= PSH_NOAPPLYNOW;
2040 }
2041
2042 CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
2043 {
2044 }
2045
2046
2047 BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
2048 END_MESSAGE_MAP()
2049
2050
2051 // CAddSettingPropSheetDlg ���b�Z�[�W �n���h��
2052
2053 BOOL CAddSettingPropSheetDlg::OnInitDialog()
2054 {
2055 CPropertySheet::OnInitDialog();
2056
2057 get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
2058 "Tera Term: Additional settings", ts.UILanguageFile);
2059 SetWindowText(ts.UIMsg);
2060
2061 CTabCtrl *tab = GetTabControl();
2062 TCITEM tc;
2063 tc.mask = TCIF_TEXT;
2064
2065 get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
2066 "General", ts.UILanguageFile);
2067 tc.pszText = ts.UIMsg;
2068 tab->SetItem(0, &tc);
2069
2070 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
2071 "Control Sequence", ts.UILanguageFile);
2072 tc.pszText = ts.UIMsg;
2073 tab->SetItem(1, &tc);
2074
2075 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
2076 "Copy and Paste", ts.UILanguageFile);
2077 tc.pszText = ts.UIMsg;
2078 tab->SetItem(2, &tc);
2079
2080 get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
2081 "Visual", ts.UILanguageFile);
2082 tc.pszText = ts.UIMsg;
2083 tab->SetItem(3, &tc);
2084
2085 get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
2086 "Log", ts.UILanguageFile);
2087 tc.pszText = ts.UIMsg;
2088 tab->SetItem(4, &tc);
2089
2090 get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
2091 "Cygwin", ts.UILanguageFile);
2092 tc.pszText = ts.UIMsg;
2093 tab->SetItem(5, &tc);
2094
2095 return FALSE;
2096 }

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