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

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