Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/teraterm/teraterm/addsetting.cpp

Parent Directory Parent Directory | Revision Log Revision Log


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

Transparent Window (透明なウィンドウ) よりは Window Transparency
(ウィンドウの透明度) の方が設定の意味を表していると思う
1 maya 3227 /*
2 zmatsuo 7390 * Copyright (C) 2008-2019 TeraTerm Project
3 doda 6806 * All rights reserved.
4     *
5 doda 6841 * Redistribution and use in source and binary forms, with or without
6     * modification, are permitted provided that the following conditions
7     * are met:
8 doda 6806 *
9 doda 6841 * 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 doda 6806 *
17 doda 6841 * 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 doda 6806 */
28    
29     /*
30 maya 3227 * 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 yutakapon 4916 #include "ttcommon.h"
43 yutakapon 5171 #include "ttftypes.h"
44 maya 3227
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 maya 3777 CButton *btn;
108 maya 3227
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 doda 3727 SendDlgItemMessage(IDC_CLEAR_ON_RESIZE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
121 doda 4043 SendDlgItemMessage(IDC_CURSOR_CHANGE_IME, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
122 doda 6857 SendDlgItemMessage(IDC_LIST_HIDDEN_FONTS, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
123 doda 7131 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 maya 3227 }
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 doda 3727 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 doda 4043 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 doda 6857 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 maya 3227
160 doda 7131 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 maya 3227 // (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 maya 3777 // (6)IDC_CLEAR_ON_RESIZE
203     btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);
204     btn->SetCheck((ts.TermFlag & TF_CLEARONRESIZE) != 0);
205    
206 doda 4043 // (7)IDC_CURSOR_CHANGE_IME
207     btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);
208     btn->SetCheck((ts.WindowFlag & WF_IMECURSORCHANGE) != 0);
209    
210 doda 6857 // (8)IDC_LIST_HIDDEN_FONTS
211     btn = (CButton *)GetDlgItem(IDC_LIST_HIDDEN_FONTS);
212     btn->SetCheck(ts.ListHiddenFonts);
213    
214 doda 7131 // (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 maya 3777 // �_�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 doda 6435 if (val > 0)
261 maya 3777 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 doda 4043
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 doda 6857
279     // (8)IDC_LIST_HIDDEN_FONTS
280     btn = (CButton *)GetDlgItem(IDC_LIST_HIDDEN_FONTS);
281     ts.ListHiddenFonts = btn->GetCheck();
282 doda 7131
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 maya 3777 }
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 doda 3782 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 maya 3777 SendDlgItemMessage(IDC_CURSOR_CTRL_SEQ, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
341 doda 4702 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 doda 6676 SendDlgItemMessage(IDC_CLIPBOARD_NOTIFY, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
344 maya 3777 }
345     else {
346     DlgSequenceFont = NULL;
347     }
348    
349     GetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, uimsg, sizeof(uimsg));
350 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_MOUSE_EVENT_TRACKING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
351 maya 3777 SetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.UIMsg);
352     GetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, uimsg, sizeof(uimsg));
353 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_DISABLE_MOUSE_TRACKING_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
354 maya 3777 SetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.UIMsg);
355     GetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, uimsg, sizeof(uimsg));
356 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
357 maya 3777 SetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, ts.UIMsg);
358    
359 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
360 maya 3777 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
361 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OVERWRITE", ts.UIMsg, sizeof(ts.UIMsg), "overwrite", ts.UILanguageFile);
362 maya 3777 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
363 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_AHEAD", ts.UIMsg, sizeof(ts.UIMsg), "ahead", ts.UILanguageFile);
364 maya 3777 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
365 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_LAST", ts.UIMsg, sizeof(ts.UIMsg), "last", ts.UILanguageFile);
366 maya 3777 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
367    
368     GetDlgItemText(IDC_CURSOR_CTRL_SEQ, uimsg, sizeof(uimsg));
369 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_CURSOR_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
370 maya 3777 SetDlgItemText(IDC_CURSOR_CTRL_SEQ, ts.UIMsg);
371     GetDlgItemText(IDC_WINDOW_CTRL, uimsg, sizeof(uimsg));
372 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_WINDOW_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
373 maya 3777 SetDlgItemText(IDC_WINDOW_CTRL, ts.UIMsg);
374     GetDlgItemText(IDC_WINDOW_REPORT, uimsg, sizeof(uimsg));
375 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_WINDOW_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
376 maya 3777 SetDlgItemText(IDC_WINDOW_REPORT, ts.UIMsg);
377     GetDlgItemText(IDC_TITLE_REPORT_LABEL, uimsg, sizeof(uimsg));
378 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
379 maya 3777 SetDlgItemText(IDC_TITLE_REPORT_LABEL, ts.UIMsg);
380    
381 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT_IGNORE", ts.UIMsg, sizeof(ts.UIMsg), "ignore", ts.UILanguageFile);
382 maya 3777 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
383 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT_ACCEPT", ts.UIMsg, sizeof(ts.UIMsg), "accept", ts.UILanguageFile);
384 maya 3777 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
385 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT_EMPTY", ts.UIMsg, sizeof(ts.UIMsg), "empty", ts.UILanguageFile);
386 maya 3777 SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
387    
388 doda 4702 GetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, uimsg, sizeof(uimsg));
389 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
390 doda 4702 SetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, ts.UIMsg);
391    
392 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
393 doda 4702 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
394 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_WRITE", ts.UIMsg, sizeof(ts.UIMsg), "write only", ts.UILanguageFile);
395 doda 4702 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
396 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_READ", ts.UIMsg, sizeof(ts.UIMsg), "read only", ts.UILanguageFile);
397 doda 4702 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
398 doda 6675 get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_ON", ts.UIMsg, sizeof(ts.UIMsg), "read/write", ts.UILanguageFile);
399 doda 4702 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
400    
401 doda 6676 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 maya 3777 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
406 maya 3227 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 maya 3777 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
416 maya 3227 btn2->SetCheck(ts.DisableMouseTrackingByCtrl);
417    
418 maya 3777 // (3)IDC_ACCEPT_TITLE_CHANGING
419 maya 3227 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
420     cmb->SetCurSel(ts.AcceptTitleChangeRequest);
421    
422 maya 3777 // (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 doda 3727
436 maya 3777 // (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 yutakapon 3735 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
446     btn->SetCheck((ts.WindowFlag & WF_CURSORCHANGE) != 0);
447    
448 doda 4702 // (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 doda 6676 // (9)IDC_CLIPBOARD_NOTIFY
466     btn = (CButton *)GetDlgItem(IDC_CLIPBOARD_NOTIFY);
467     btn->SetCheck(ts.NotifyClipboardAccess);
468 doda 6713 if (HasBalloonTipSupport()) {
469     btn->EnableWindow(TRUE);
470     }
471     else {
472     btn->EnableWindow(FALSE);
473     }
474 doda 6676
475 maya 3227 // �_�C�A���O���t�H�[�J�X�������� (2004.12.7 yutaka)
476 doda 6494 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ACCEPT_MOUSE_EVENT_TRACKING));
477 maya 3227
478     return FALSE;
479     }
480    
481 maya 3777 BOOL CSequencePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
482 maya 3227 {
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 maya 3777 void CSequencePropPageDlg::OnOK()
500 maya 3227 {
501     CButton *btn;
502     CComboBox *cmb;
503 doda 6496 int sel;
504 maya 3227
505 maya 3777 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
506 maya 3227 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
507     ts.MouseEventTracking = btn->GetCheck();
508    
509 maya 3777 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
510 maya 3227 btn = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
511     ts.DisableMouseTrackingByCtrl = btn->GetCheck();
512    
513 maya 3777 // (3)IDC_ACCEPT_TITLE_CHANGING
514 maya 3227 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
515 doda 6496 sel = cmb->GetCurSel();
516     if (0 <= sel && sel <= IdTitleChangeRequestMax) {
517     ts.AcceptTitleChangeRequest = sel;
518     }
519 doda 3727
520 maya 3777 // (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 doda 6496 case 2:
531 maya 3777 ts.WindowFlag |= IdTitleReportEmpty;
532     break;
533 doda 6496 default: // Invalid value.
534     break;
535 doda 3727 }
536 yutakapon 3735
537 maya 3777 // (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 yutakapon 3735 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
551     if (((ts.WindowFlag & WF_CURSORCHANGE) != 0) != btn->GetCheck()) {
552     ts.WindowFlag ^= WF_CURSORCHANGE;
553     }
554 maya 3777
555 doda 6496 // (8)IDC_CLIPBOARD_ACCESS
556 doda 4702 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 doda 6496 case 3: // read/write
570 doda 4702 ts.CtrlFlag |= CSF_CBRW;
571     break;
572 doda 6496 default: // Invalid value.
573     break;
574 doda 4702 }
575 doda 6676
576     // (9)IDC_CLIPBOARD_ACCESS
577     btn = (CButton *)GetDlgItem(IDC_CLIPBOARD_NOTIFY);
578     ts.NotifyClipboardAccess = btn->GetCheck();
579 maya 3227 }
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 yutakapon 3558 CEdit *edit;
609 maya 3306 char buf[64];
610 maya 3227
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 doda 3594 SendDlgItemMessage(IDC_DISABLE_PASTE_MBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
620 maya 3227 SendDlgItemMessage(IDC_SELECT_LBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
621 doda 6418 SendDlgItemMessage(IDC_TRIMNLCHAR, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
622 doda 6595 SendDlgItemMessage(IDC_NORMALIZE_LINEBREAK, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
623 maya 3227 SendDlgItemMessage(IDC_CONFIRM_CHANGE_PASTE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
624 maya 4142 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 maya 3227 SendDlgItemMessage(IDC_DELIMITER, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
628     SendDlgItemMessage(IDC_DELIM_LIST, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
629 maya 3306 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 maya 3227 }
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 doda 3594 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 maya 3227 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 doda 6418 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 doda 6595 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 maya 3227 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 maya 3562 GetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, uimsg, sizeof(uimsg));
662 doda 6660 get_lang_msg("DLG_TAB_COPYPASTE_STRINGFILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
663 maya 3562 SetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, ts.UIMsg);
664 maya 3227 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 maya 3306 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 maya 3227
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 doda 6594 if (ts.PasteFlag & CPF_DISABLE_RBUTTON) {
682     btn->SetCheck(BST_CHECKED);
683 maya 3227 btn2->EnableWindow(FALSE);
684     } else {
685 doda 6594 btn->SetCheck(BST_UNCHECKED);
686 maya 3227 btn2->EnableWindow(TRUE);
687     }
688    
689     // (3)ConfirmPasteMouseRButton
690 doda 6594 btn2->SetCheck((ts.PasteFlag & CPF_CONFIRM_RBUTTON)?BST_CHECKED:BST_UNCHECKED);
691 maya 3227
692 doda 3594 // (4)DisablePasteMouseMButton
693     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
694 doda 6594 btn->SetCheck((ts.PasteFlag & CPF_DISABLE_MBUTTON)?BST_CHECKED:BST_UNCHECKED);
695 doda 3594
696     // (5)SelectOnlyByLButton
697 maya 3227 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
698     btn->SetCheck(ts.SelectOnlyByLButton);
699    
700 doda 6418 // (6)TrimTrailingNLonPaste
701     btn = (CButton *)GetDlgItem(IDC_TRIMNLCHAR);
702 doda 6594 btn->SetCheck((ts.PasteFlag & CPF_TRIM_TRAILING_NL)?BST_CHECKED:BST_UNCHECKED);
703 doda 6418
704 doda 6595 // (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 maya 3227 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
710 doda 6594 btn->SetCheck((ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE)?BST_CHECKED:BST_UNCHECKED);
711 maya 3227
712 yutakapon 3558 // �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 doda 6594 if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) {
717 yutakapon 3558 edit->EnableWindow(TRUE);
718     btn->EnableWindow(TRUE);
719     } else {
720     edit->EnableWindow(FALSE);
721     btn->EnableWindow(FALSE);
722     }
723    
724 doda 6595 // (9)delimiter characters
725 maya 3227 SetDlgItemText(IDC_DELIM_LIST, ts.DelimList);
726    
727 doda 6595 // (10)PasteDelayPerLine
728 maya 3306 _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);
729     SetDlgItemText(IDC_PASTEDELAY_EDIT, buf);
730 maya 3227
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 yutakapon 3558 CEdit *edit;
741     char uimsg[MAX_UIMSG];
742 maya 3227
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 yutakapon 3558
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 maya 3227 }
789    
790     return CPropertyPage::OnCommand(wParam, lParam);
791     }
792    
793     void CCopypastePropPageDlg::OnOK()
794     {
795     CButton *btn;
796 maya 3306 char buf[64];
797     int val;
798 maya 3227
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 doda 6594 if (btn->GetCheck()) {
806     ts.PasteFlag |= CPF_DISABLE_RBUTTON;
807     }
808     else {
809     ts.PasteFlag &= ~CPF_DISABLE_RBUTTON;
810     }
811 maya 3227
812     // (3)
813     btn = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
814 doda 6594 if (btn->GetCheck()) {
815     ts.PasteFlag |= CPF_CONFIRM_RBUTTON;
816     }
817     else {
818     ts.PasteFlag &= ~CPF_CONFIRM_RBUTTON;
819     }
820 maya 3227
821     // (4)
822 doda 3594 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
823 doda 6594 if (btn->GetCheck()) {
824     ts.PasteFlag |= CPF_DISABLE_MBUTTON;
825     }
826     else {
827     ts.PasteFlag &= ~CPF_DISABLE_MBUTTON;
828     }
829 doda 3594
830     // (5)
831 maya 3227 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
832     ts.SelectOnlyByLButton = btn->GetCheck();
833    
834 doda 6418 // (6)
835     btn = (CButton *)GetDlgItem(IDC_TRIMNLCHAR);
836 doda 6594 if (btn->GetCheck()) {
837     ts.PasteFlag |= CPF_TRIM_TRAILING_NL;
838     }
839     else {
840     ts.PasteFlag &= ~CPF_TRIM_TRAILING_NL;
841     }
842 doda 6418
843 doda 6595 // (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 maya 3227 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
854 doda 6594 if (btn->GetCheck()) {
855     ts.PasteFlag |= CPF_CONFIRM_CHANGEPASTE;
856     }
857     else {
858     ts.PasteFlag &= ~CPF_CONFIRM_CHANGEPASTE;
859     }
860 yutakapon 3558 GetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
861 maya 3227
862 doda 6595 // (9)
863 maya 3227 GetDlgItemText(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
864 maya 3306
865 doda 6595 // (10)
866 maya 3306 GetDlgItemText(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));
867     val = atoi(buf);
868 maya 3315 ts.PasteDelayPerLine = min(max(0, val), 5000);
869 maya 3227 }
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 maya 4874 CComboBox *cmb;
902 maya 3227 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 doda 7444 SendDlgItemMessage(IDC_ALPHABLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
910 zmatsuo 7390 SendDlgItemMessage(IDC_ALPHA_BLEND_ACTIVE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
911     SendDlgItemMessage(IDC_ALPHA_BLEND_INACTIVE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
912     SendDlgItemMessage(IDC_ALPHA_BLEND_ACTIVE_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
913     SendDlgItemMessage(IDC_ALPHA_BLEND_INACTIVE_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
914 maya 3227 SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
915     SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
916     SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
917 maya 4874 SendDlgItemMessage(IDC_FONT_QUALITY_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
918     SendDlgItemMessage(IDC_FONT_QUALITY, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
919 maya 3227 SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
920     SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
921     SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
922     SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
923     SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
924     SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
925     SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
926     SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
927     SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
928     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
929     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
930     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
931     SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
932     SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
933 doda 3667 SendDlgItemMessage(IDC_URL_UNDERLINE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
934 yutakapon 5573 SendDlgItemMessage(IDC_BGIMG_CHECK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
935 yutakapon 4942 SendDlgItemMessage(IDC_BGIMG_EDIT, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
936     SendDlgItemMessage(IDC_BGIMG_BUTTON, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
937 maya 4944 SendDlgItemMessage(IDC_RESTART, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
938 yutakapon 6095 SendDlgItemMessage(IDC_BGIMG_BRIGHTNESS, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
939     SendDlgItemMessage(IDC_EDIT_BGIMG_BRIGHTNESS, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));
940 maya 3227 }
941     else {
942     DlgVisualFont = NULL;
943     }
944    
945     GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));
946 doda 6688 get_lang_msg("DLG_TAB_VISUAL_ALPHA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
947 maya 3227 SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);
948 doda 7444 GetDlgItemText(IDC_ALPHA_BLEND_ACTIVE_LABEL, uimsg, sizeof(uimsg));
949     get_lang_msg("DLG_TAB_VISUAL_ALPHA_ACTIVE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
950     SetDlgItemText(IDC_ALPHA_BLEND_ACTIVE_LABEL, ts.UIMsg);
951     GetDlgItemText(IDC_ALPHA_BLEND_INACTIVE_LABEL, uimsg, sizeof(uimsg));
952     get_lang_msg("DLG_TAB_VISUAL_ALPHA_INACTIVE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
953     SetDlgItemText(IDC_ALPHA_BLEND_INACTIVE_LABEL, ts.UIMsg);
954 maya 3227 GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));
955     get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
956     SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);
957 yutakapon 5573 GetDlgItemText(IDC_BGIMG_CHECK, uimsg, sizeof(uimsg));
958 maya 5129 get_lang_msg("DLG_TAB_VISUAL_BGIMG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
959 yutakapon 5573 SetDlgItemText(IDC_BGIMG_CHECK, ts.UIMsg);
960 yutakapon 6095 GetDlgItemText(IDC_BGIMG_BRIGHTNESS, uimsg, sizeof(uimsg));
961     get_lang_msg("DLG_TAB_VISUAL_BGIMG_BRIGHTNESS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
962     SetDlgItemText(IDC_BGIMG_BRIGHTNESS, ts.UIMsg);
963 maya 3227 GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));
964     get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
965     SetDlgItemText(IDC_MOUSE, ts.UIMsg);
966 maya 4874 GetDlgItemText(IDC_FONT_QUALITY_LABEL, uimsg, sizeof(uimsg));
967     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
968     SetDlgItemText(IDC_FONT_QUALITY_LABEL, ts.UIMsg);
969 maya 5132 GetDlgItemText(IDC_ANSICOLOR, uimsg, sizeof(uimsg));
970     get_lang_msg("DLG_TAB_VISUAL_ANSICOLOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
971     SetDlgItemText(IDC_ANSICOLOR, ts.UIMsg);
972 maya 3227 GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));
973     get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
974     SetDlgItemText(IDC_RED, ts.UIMsg);
975     GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));
976     get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
977     SetDlgItemText(IDC_GREEN, ts.UIMsg);
978     GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));
979     get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
980     SetDlgItemText(IDC_BLUE, ts.UIMsg);
981     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));
982     get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
983     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);
984     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));
985     get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
986     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);
987     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));
988     get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
989     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);
990     GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));
991     get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
992     SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);
993     GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));
994     get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
995     SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);
996 doda 3667 GetDlgItemText(IDC_URL_UNDERLINE, uimsg, sizeof(uimsg));
997     get_lang_msg("DLG_TAB_VISUAL_URLUL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
998     SetDlgItemText(IDC_URL_UNDERLINE, ts.UIMsg);
999 maya 4944 GetDlgItemText(IDC_RESTART, uimsg, sizeof(uimsg));
1000     get_lang_msg("DLG_TAB_VISUAL_RESTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1001     SetDlgItemText(IDC_RESTART, ts.UIMsg);
1002 maya 3227
1003 maya 4874 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT", ts.UIMsg, sizeof(ts.UIMsg), "Default", ts.UILanguageFile);
1004     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1005     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Non-Antialiased", ts.UILanguageFile);
1006     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1007     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Antialiased", ts.UILanguageFile);
1008     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1009     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE", ts.UIMsg, sizeof(ts.UIMsg), "ClearType", ts.UILanguageFile);
1010     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1011    
1012 maya 3227 // (1)AlphaBlend
1013 zmatsuo 7390 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlendActive);
1014     SetDlgItemText(IDC_ALPHA_BLEND_ACTIVE, buf);
1015     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlendInactive);
1016     SetDlgItemText(IDC_ALPHA_BLEND_INACTIVE, buf);
1017 maya 3227
1018     // (2)[BG] BGEnable
1019     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1020     btn->SetCheck(ts.EtermLookfeel.BGEnable);
1021    
1022 yutakapon 4942 // Eterm look-feel���w�i�����w���B
1023     SetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath);
1024 yutakapon 6095
1025     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.BGImgBrightness);
1026     SetDlgItemText(IDC_EDIT_BGIMG_BRIGHTNESS, buf);
1027    
1028 yutakapon 4942 if (ts.EtermLookfeel.BGEnable) {
1029 yutakapon 5573 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);
1030    
1031     btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
1032     if (strcmp(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE) == 0) {
1033     btn->SetCheck(BST_CHECKED);
1034     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
1035     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
1036 yutakapon 6095
1037     GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1038     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1039 yutakapon 5573 } else {
1040     btn->SetCheck(BST_UNCHECKED);
1041     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1042     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1043 yutakapon 6095
1044     GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1045     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1046 yutakapon 5573 }
1047 yutakapon 4942 } else {
1048 yutakapon 5573 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);
1049 yutakapon 4942 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1050     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1051 yutakapon 6095
1052     GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1053     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1054 yutakapon 4942 }
1055    
1056 maya 3227 // (3)Mouse cursor type
1057 zmatsuo 7390 cmb = (CComboBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1058 maya 3227 for (i = 0 ; MouseCursor[i].name ; i++) {
1059 zmatsuo 7390 cmb->InsertString(i, MouseCursor[i].name);
1060 maya 3227 }
1061 zmatsuo 7390 cmb->SelectString(0, ts.MouseCursorName);
1062 maya 3227
1063 maya 4874 // (4)Font quality
1064     cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1065     switch (ts.FontQuality) {
1066     case DEFAULT_QUALITY:
1067     cmb->SetCurSel(0);
1068     break;
1069     case NONANTIALIASED_QUALITY:
1070     cmb->SetCurSel(1);
1071     break;
1072     case ANTIALIASED_QUALITY:
1073     cmb->SetCurSel(2);
1074     break;
1075     default: // CLEARTYPE_QUALITY
1076     cmb->SetCurSel(3);
1077     break;
1078     }
1079    
1080     // (5)ANSI color
1081 maya 3227 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1082     for (i = 0 ; i < 16 ; i++) {
1083     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
1084     listbox->InsertString(i, buf);
1085     }
1086     SetupRGBbox(GetSafeHwnd(), 0);
1087     #if 0
1088     SendMessage(WM_CTLCOLORSTATIC,
1089     (WPARAM)label_hdc,
1090     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1091     #endif
1092    
1093 maya 4874 // (6)Bold Attr Color
1094 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1095     btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
1096    
1097 maya 4874 // (7)Blink Attr Color
1098 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1099     btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
1100    
1101 maya 4874 // (8)Reverse Attr Color
1102 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1103     btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
1104    
1105 maya 4874 // (9)URL Color
1106 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1107     btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
1108    
1109 maya 4874 // (10)Color
1110 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1111     btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
1112    
1113 maya 4874 // (11)URL Underline
1114 doda 3667 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1115     btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);
1116    
1117 doda 6435 // �_�C�A���O���t�H�[�J�X��������
1118 zmatsuo 7390 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND_ACTIVE));
1119 maya 3227
1120     return FALSE;
1121     }
1122    
1123     BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1124     {
1125     CListBox *listbox;
1126     int sel;
1127     char buf[MAXPATHLEN];
1128 yutakapon 4942 CButton *btn;
1129 maya 3227
1130     switch (wParam) {
1131 yutakapon 4942 case IDC_ETERM_LOOKFEEL:
1132     // �`�F�b�N�������� Enable/Disable ���g�O�������B
1133     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1134     if (btn->GetCheck()) {
1135 yutakapon 5573 GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);
1136     btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
1137     if (btn->GetCheck()) {
1138     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
1139     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
1140 yutakapon 6095
1141     GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1142     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1143 yutakapon 5573 } else {
1144     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1145     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1146 yutakapon 6095
1147     GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1148     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1149 yutakapon 5573 }
1150     } else {
1151     GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);
1152     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1153     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1154    
1155 yutakapon 6095 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1156     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1157    
1158 yutakapon 5573 // ���������������ABGThemeFile �����������B
1159     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
1160     // �w�i�����������������B
1161     SetDlgItemText(IDC_BGIMG_EDIT, "");
1162 yutakapon 6095 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
1163 yutakapon 5573 }
1164     return TRUE;
1165    
1166     case IDC_BGIMG_CHECK:
1167     btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);
1168     if (btn->GetCheck()) {
1169 yutakapon 4942 GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
1170     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
1171 yutakapon 5573
1172 yutakapon 6095 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1173     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);
1174    
1175 yutakapon 5573 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
1176 yutakapon 4942 } else {
1177     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
1178     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
1179 yutakapon 5573
1180 yutakapon 6095 GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1181     GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);
1182    
1183 yutakapon 4942 // ���������������ABGThemeFile �����������B
1184     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
1185 yutakapon 4945 // �w�i�����������������B
1186     SetDlgItemText(IDC_BGIMG_EDIT, "");
1187 yutakapon 6095 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
1188 yutakapon 4942 }
1189     return TRUE;
1190    
1191     case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
1192     // �w�i�������_�C�A���O���w�������B
1193     {
1194     CString filter("Image Files(*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|All Files(*.*)|*.*||");
1195     CFileDialog selDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);
1196     if (selDlg.DoModal() == IDOK) {
1197     // �w�i�����w�������}�I���s���������ABGThemeFile �������������B
1198     SetDlgItemText(IDC_BGIMG_EDIT, selDlg.GetPathName());
1199     }
1200     }
1201     return TRUE;
1202    
1203 maya 3227 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
1204     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1205     sel = listbox->GetCurSel();
1206     if (sel != -1) {
1207     SetupRGBbox(GetSafeHwnd(), sel);
1208     #if 0
1209     SendMessage(WM_CTLCOLORSTATIC,
1210     (WPARAM)label_hdc,
1211     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1212     #endif
1213     }
1214     return TRUE;
1215    
1216     case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
1217     case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
1218     case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
1219     {
1220     BYTE r, g, b;
1221    
1222     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
1223     sel = listbox->GetCurSel();
1224     if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
1225     return TRUE;
1226     }
1227    
1228     GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
1229     r = atoi(buf);
1230    
1231     GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
1232     g = atoi(buf);
1233    
1234     GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
1235     b = atoi(buf);
1236    
1237     ts.ANSIColor[sel] = RGB(r, g, b);
1238    
1239     // 255��������RGB�l�����������������A������Edit���\������ (2007.2.18 maya)
1240     SetupRGBbox(GetSafeHwnd(), sel);
1241     #if 0
1242     SendMessage(WM_CTLCOLORSTATIC,
1243     (WPARAM)label_hdc,
1244     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1245     #endif
1246     }
1247    
1248     return TRUE;
1249     #if 0
1250     case WM_CTLCOLORSTATIC:
1251     {
1252     HDC hDC = (HDC)wp;
1253     HWND hWnd = (HWND)lp;
1254    
1255     //if (label_hdc == NULL) {
1256     hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
1257     // label_hdc = hDC;
1258     //}
1259    
1260     if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
1261     BYTE r, g, b;
1262    
1263     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
1264     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1265     r = atoi(buf);
1266    
1267     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
1268     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1269     g = atoi(buf);
1270    
1271     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
1272     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1273     b = atoi(buf);
1274    
1275     OutputDebugPrintf("%06x\n", RGB(r, g, b));
1276    
1277     SetBkMode(hDC, TRANSPARENT);
1278     SetTextColor(hDC, RGB(r, g, b) );
1279     ReleaseDC(hDlgWnd, hDC);
1280    
1281     return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
1282     }
1283     return FALSE;
1284     }
1285     break ;
1286     #endif
1287     }
1288    
1289     return CPropertyPage::OnCommand(wParam, lParam);
1290     }
1291    
1292     void CVisualPropPageDlg::OnOK()
1293     {
1294     CButton *btn;
1295 maya 4874 CComboBox *cmb;
1296 maya 3227 int sel;
1297     char buf[MAXPATHLEN];
1298     COLORREF TmpColor;
1299 yutakapon 4916 int flag_changed = 0;
1300 maya 3227
1301     // (1)
1302 zmatsuo 7390 GetDlgItemText(IDC_ALPHA_BLEND_ACTIVE, buf, sizeof(buf));
1303 maya 3227 if (isdigit(buf[0])) {
1304 zmatsuo 7390 int i = atoi(buf);
1305     ts.AlphaBlendActive =
1306     (i < 0) ? 0 :
1307     (i > 255) ? 255 : i;
1308 maya 3227 }
1309 zmatsuo 7390 GetDlgItemText(IDC_ALPHA_BLEND_INACTIVE, buf, sizeof(buf));
1310     if (isdigit(buf[0])) {
1311     int i = atoi(buf);
1312     ts.AlphaBlendInactive =
1313     (i < 0) ? 0 :
1314     (i > 255) ? 255 : i;
1315     }
1316 maya 3227
1317     // (2)
1318     // �O���[�o������ BGEnable �������������������A�v���O������������������
1319     // ���������R�s�[���C�����������������B(2005.4.24 yutaka)
1320     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1321 yutakapon 4916 if (ts.EtermLookfeel.BGEnable != btn->GetCheck()) {
1322     flag_changed = 1;
1323     ts.EtermLookfeel.BGEnable = btn->GetCheck();
1324     }
1325 maya 3227
1326 yutakapon 4942 if (ts.EtermLookfeel.BGEnable) {
1327     GetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
1328 yutakapon 4945 } else {
1329     strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
1330 yutakapon 4942 }
1331    
1332 yutakapon 6095 GetDlgItemText(IDC_EDIT_BGIMG_BRIGHTNESS, buf, sizeof(buf));
1333     if (isdigit(buf[0])) {
1334     ts.BGImgBrightness = atoi(buf);
1335     ts.BGImgBrightness = max(0, ts.BGImgBrightness);
1336     ts.BGImgBrightness = min(255, ts.BGImgBrightness);
1337     }
1338    
1339 maya 3227 // (3)
1340 zmatsuo 7390 cmb = (CComboBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1341     sel = cmb->GetCurSel();
1342 maya 3227 if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
1343     strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
1344     }
1345    
1346 maya 4874 // (4)Font quality
1347     cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1348     switch (cmb->GetCurSel()) {
1349     case 0:
1350     ts.FontQuality = DEFAULT_QUALITY;
1351     break;
1352     case 1:
1353     ts.FontQuality = NONANTIALIASED_QUALITY;
1354     break;
1355     case 2:
1356     ts.FontQuality = ANTIALIASED_QUALITY;
1357     break;
1358 doda 6496 case 3:
1359 maya 4874 ts.FontQuality = CLEARTYPE_QUALITY;
1360     break;
1361 doda 6496 default: // Invalid value.
1362     break;
1363 maya 4874 }
1364    
1365     // (6) Attr Bold Color
1366 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1367     if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
1368     ts.ColorFlag ^= CF_BOLDCOLOR;
1369     }
1370    
1371 maya 4874 // (7) Attr Blink Color
1372 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1373     if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
1374     ts.ColorFlag ^= CF_BLINKCOLOR;
1375     }
1376    
1377 maya 4874 // (8) Attr Reverse Color
1378 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1379     if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Video���[�h(DECSCNM)����������������
1380     if (ts.ColorFlag & CF_REVERSECOLOR) {
1381     if (!btn->GetCheck()) {
1382     TmpColor = ts.VTColor[0];
1383     ts.VTColor[0] = ts.VTReverseColor[1];
1384     ts.VTReverseColor[1] = ts.VTColor[1];
1385     ts.VTColor[1] = ts.VTReverseColor[0];
1386     ts.VTReverseColor[0] = TmpColor;
1387     ts.ColorFlag ^= CF_REVERSECOLOR;
1388     }
1389     }
1390     else if (btn->GetCheck()) {
1391     TmpColor = ts.VTColor[0];
1392     ts.VTColor[0] = ts.VTReverseColor[0];
1393     ts.VTReverseColor[0] = ts.VTColor[1];
1394     ts.VTColor[1] = ts.VTReverseColor[1];
1395     ts.VTReverseColor[1] = TmpColor;
1396     ts.ColorFlag ^= CF_REVERSECOLOR;
1397     }
1398     }
1399     else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
1400     ts.ColorFlag ^= CF_REVERSECOLOR;
1401     }
1402    
1403 maya 4874 // (9) URL Color
1404 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1405     if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
1406     ts.ColorFlag ^= CF_URLCOLOR;
1407     }
1408    
1409 maya 4874 // (10) Color
1410 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1411     if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
1412     ts.ColorFlag ^= CF_ANSICOLOR;
1413     }
1414    
1415 maya 4874 // (11) URL Underline
1416 doda 3667 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1417     if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {
1418     ts.FontFlag ^= FF_URLUNDERLINE;
1419     }
1420    
1421 yutakapon 4916 if (flag_changed) {
1422     // re-launch
1423 maya 4944 // RestartTeraTerm(GetSafeHwnd(), &ts);
1424 yutakapon 4916 }
1425 maya 3227 }
1426    
1427    
1428    
1429     // CLogPropPageDlg �_�C�A���O
1430    
1431     IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
1432    
1433     CLogPropPageDlg::CLogPropPageDlg()
1434     : CPropertyPage(CLogPropPageDlg::IDD)
1435     {
1436    
1437     }
1438    
1439     CLogPropPageDlg::~CLogPropPageDlg()
1440     {
1441     if (DlgLogFont != NULL) {
1442     DeleteObject(DlgLogFont);
1443     }
1444     }
1445    
1446     BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
1447     END_MESSAGE_MAP()
1448    
1449     // CLogPropPageDlg ���b�Z�[�W �n���h��
1450    
1451 yutakapon 5171 #define LOG_ROTATE_SIZETYPE_NUM 3
1452     static char *LogRotateSizeType[] = {
1453     "Byte", "KB", "MB"
1454     };
1455    
1456     static char *GetLogRotateSizeType(int val)
1457     {
1458     if (val >= LOG_ROTATE_SIZETYPE_NUM)
1459     val = 0;
1460    
1461     return LogRotateSizeType[val];
1462     }
1463    
1464 maya 3227 BOOL CLogPropPageDlg::OnInitDialog()
1465     {
1466     char uimsg[MAX_UIMSG];
1467     CButton *btn;
1468 yutakapon 5171 CComboBox *combo;
1469 maya 5762 int i, TmpLogRotateSize;
1470 maya 3227
1471     CPropertyPage::OnInitDialog();
1472    
1473     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1474     GetObject(font, sizeof(LOGFONT), &logfont);
1475     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
1476     SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1477     SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1478     SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1479     SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1480     SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1481     SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1482     SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1483     SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1484     SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1485 yutakapon 5171
1486     // Log rotate
1487     SendDlgItemMessage(IDC_LOG_ROTATE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1488     SendDlgItemMessage(IDC_ROTATE_SIZE_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1489     SendDlgItemMessage(IDC_ROTATE_SIZE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1490     SendDlgItemMessage(IDC_ROTATE_SIZE_TYPE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1491     SendDlgItemMessage(IDC_ROTATE_STEP_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1492     SendDlgItemMessage(IDC_ROTATE_STEP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1493 yutakapon 5613
1494     // Log options
1495     SendDlgItemMessage(IDC_LOG_OPTION_GROUP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1496     SendDlgItemMessage(IDC_OPT_BINARY, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1497     SendDlgItemMessage(IDC_OPT_APPEND, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1498     SendDlgItemMessage(IDC_OPT_PLAINTEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1499     SendDlgItemMessage(IDC_OPT_TIMESTAMP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1500     SendDlgItemMessage(IDC_OPT_HIDEDLG, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1501     SendDlgItemMessage(IDC_OPT_INCBUF, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1502 maya 3227 }
1503     else {
1504     DlgLogFont = NULL;
1505     }
1506    
1507     GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
1508     get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1509     SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
1510     GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
1511     get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1512     SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
1513     GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
1514     get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1515     SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
1516     GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
1517     get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1518     SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
1519 yutakapon 5172 // Log rotate
1520     GetDlgItemText(IDC_LOG_ROTATE, uimsg, sizeof(uimsg));
1521 yutakapon 5171 get_lang_msg("DLG_TAB_LOG_ROTATE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1522     SetDlgItemText(IDC_LOG_ROTATE, ts.UIMsg);
1523 yutakapon 5172 GetDlgItemText(IDC_ROTATE_SIZE_TEXT, uimsg, sizeof(uimsg));
1524 yutakapon 5171 get_lang_msg("DLG_TAB_LOG_ROTATE_SIZE_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1525     SetDlgItemText(IDC_ROTATE_SIZE_TEXT, ts.UIMsg);
1526 yutakapon 5172 GetDlgItemText(IDC_ROTATE_STEP_TEXT, uimsg, sizeof(uimsg));
1527 doda 6660 get_lang_msg("DLG_TAB_LOG_ROTATESTEP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1528 yutakapon 5171 SetDlgItemText(IDC_ROTATE_STEP_TEXT, ts.UIMsg);
1529 yutakapon 5613 // Log options
1530     // FIXME: ���b�Z�[�W�J�^���O�����������O�I�v�V���������������p�������A�A�N�Z�����[�^�L�[���d�������������������B
1531     GetDlgItemText(IDC_LOG_OPTION_GROUP, uimsg, sizeof(uimsg));
1532     get_lang_msg("DLG_FOPT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1533     SetDlgItemText(IDC_LOG_OPTION_GROUP, ts.UIMsg);
1534     GetDlgItemText(IDC_OPT_BINARY, uimsg, sizeof(uimsg));
1535     get_lang_msg("DLG_FOPT_BINARY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1536     SetDlgItemText(IDC_OPT_BINARY, ts.UIMsg);
1537     GetDlgItemText(IDC_OPT_APPEND, uimsg, sizeof(uimsg));
1538     get_lang_msg("DLG_FOPT_APPEND", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1539     SetDlgItemText(IDC_OPT_APPEND, ts.UIMsg);
1540     GetDlgItemText(IDC_OPT_PLAINTEXT, uimsg, sizeof(uimsg));
1541     get_lang_msg("DLG_FOPT_PLAIN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1542     SetDlgItemText(IDC_OPT_PLAINTEXT, ts.UIMsg);
1543     GetDlgItemText(IDC_OPT_HIDEDLG, uimsg, sizeof(uimsg));
1544     get_lang_msg("DLG_FOPT_HIDEDIALOG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1545     SetDlgItemText(IDC_OPT_HIDEDLG, ts.UIMsg);
1546     GetDlgItemText(IDC_OPT_INCBUF, uimsg, sizeof(uimsg));
1547     get_lang_msg("DLG_FOPT_ALLBUFFINFIRST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1548     SetDlgItemText(IDC_OPT_INCBUF, ts.UIMsg);
1549 doda 6956 GetDlgItemText(IDC_OPT_TIMESTAMP, uimsg, sizeof(uimsg));
1550     get_lang_msg("DLG_FOPT_TIMESTAMP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1551     SetDlgItemText(IDC_OPT_TIMESTAMP, ts.UIMsg);
1552 maya 3227
1553 doda 6956 get_lang_msg("DLG_FOPT_TIMESTAMP_LOCAL", ts.UIMsg, sizeof(ts.UIMsg), "Local Time", ts.UILanguageFile);
1554     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1555     get_lang_msg("DLG_FOPT_TIMESTAMP_UTC", ts.UIMsg, sizeof(ts.UIMsg), "UTC", ts.UILanguageFile);
1556     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1557     get_lang_msg("DLG_FOPT_TIMESTAMP_ELAPSED_LOGGING", ts.UIMsg, sizeof(ts.UIMsg), "Elapsed Time (Logging)", ts.UILanguageFile);
1558     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1559     get_lang_msg("DLG_FOPT_TIMESTAMP_ELAPSED_CONNECTION", ts.UIMsg, sizeof(ts.UIMsg), "Elapsed Time (Connection)", ts.UILanguageFile);
1560     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
1561 yutakapon 5171
1562 doda 6956
1563 maya 3227 // Viewlog Editor path (2005.1.29 yutaka)
1564     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1565    
1566     // Log Default File Name (2006.8.28 maya)
1567     SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1568    
1569     // Log Default File Path (2007.5.30 maya)
1570     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1571    
1572     /* Auto start logging (2007.5.31 maya) */
1573     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1574     btn->SetCheck(ts.LogAutoStart);
1575    
1576 yutakapon 5171 // Log rotate
1577     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1578     btn->SetCheck(ts.LogRotate != ROTATE_NONE);
1579    
1580     combo = (CComboBox *)GetDlgItem(IDC_ROTATE_SIZE_TYPE);
1581     for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1582     combo->AddString(LogRotateSizeType[i]);
1583     }
1584    
1585 maya 5762 TmpLogRotateSize = ts.LogRotateSize;
1586     for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1587     TmpLogRotateSize /= 1024;
1588     SetDlgItemInt(IDC_ROTATE_SIZE, TmpLogRotateSize, FALSE);
1589 yutakapon 5171 combo->SelectString(-1, GetLogRotateSizeType(ts.LogRotateSizeType));
1590     SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1591     if (ts.LogRotate == ROTATE_NONE) {
1592     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1593     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1594     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1595     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1596     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1597     } else {
1598     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1599     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1600     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1601     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1602     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1603     }
1604    
1605 yutakapon 5613 // Log options
1606     btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1607     btn->SetCheck(ts.LogBinary != 0);
1608     if (ts.LogBinary) {
1609     GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1610     GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1611     } else {
1612     GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1613     GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1614     }
1615     btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1616     btn->SetCheck(ts.Append != 0);
1617     btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1618     btn->SetCheck(ts.LogTypePlainText != 0);
1619     btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1620     btn->SetCheck(ts.LogHideDialog != 0);
1621     btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1622     btn->SetCheck(ts.LogAllBuffIncludedInFirst != 0);
1623 doda 6956 btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1624     btn->SetCheck(ts.LogTimestamp != 0);
1625 yutakapon 5171
1626 doda 6956 combo = (CComboBox *)GetDlgItem(IDC_OPT_TIMESTAMP_TYPE);
1627     combo->SetCurSel(ts.LogTimestampType);
1628     if (ts.LogBinary || !ts.LogTimestamp) {
1629     GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);
1630     }
1631     else {
1632     GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);
1633     }
1634     /*
1635     switch (ts.LogTimestampType) {
1636     case CSF_CBRW:
1637     cmb->SetCurSel(3);
1638     break;
1639     case CSF_CBREAD:
1640     cmb->SetCurSel(2);
1641     break;
1642     case CSF_CBWRITE:
1643     cmb->SetCurSel(1);
1644     break;
1645     default: // off
1646     cmb->SetCurSel(0);
1647     break;
1648     }
1649     */
1650 yutakapon 5613
1651 maya 3227 // �_�C�A���O���t�H�[�J�X��������
1652     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1653    
1654     return FALSE;
1655     }
1656    
1657     BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1658     {
1659     char uimsg[MAX_UIMSG];
1660 maya 5778 char buf[MAX_PATH], buf2[MAX_PATH];
1661 maya 3227
1662     switch (wParam) {
1663     case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1664     {
1665     OPENFILENAME ofn;
1666    
1667     ZeroMemory(&ofn, sizeof(ofn));
1668     ofn.lStructSize = get_OPENFILENAME_SIZE();
1669     ofn.hwndOwner = GetSafeHwnd();
1670     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1671     "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1672     ofn.lpstrFilter = ts.UIMsg;
1673     ofn.lpstrFile = ts.ViewlogEditor;
1674     ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1675     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1676     "Choose a executing file with launching logging file", ts.UILanguageFile);
1677     ofn.lpstrTitle = uimsg;
1678     ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1679     if (GetOpenFileName(&ofn) != 0) {
1680     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1681     }
1682     }
1683     return TRUE;
1684    
1685     case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1686     // ���O�f�B���N�g�����I���_�C�A���O
1687     get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1688     "Select log folder", ts.UILanguageFile);
1689 maya 5778 GetDlgItemText(IDC_DEFAULTPATH_EDITOR, buf, sizeof(buf));
1690     if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1691     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, buf2);
1692     }
1693 maya 3227
1694     return TRUE;
1695 yutakapon 5171
1696     case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1697     {
1698     CButton *btn;
1699     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1700     if (btn->GetCheck()) {
1701     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1702     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1703     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1704     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1705     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1706     } else {
1707     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1708     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1709     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1710     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1711     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1712 doda 6435 }
1713 yutakapon 5171
1714     }
1715     return TRUE;
1716 yutakapon 5613
1717     case IDC_OPT_BINARY | (BN_CLICKED << 16):
1718     {
1719     CButton *btn;
1720     btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1721     if (btn->GetCheck()) {
1722     GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1723     GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1724 doda 6956 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);
1725 yutakapon 5613 } else {
1726     GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1727     GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1728 doda 6956
1729     btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1730     if (btn->GetCheck()) {
1731     GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);
1732     }
1733 yutakapon 5613 }
1734     }
1735     return TRUE;
1736 doda 6956
1737     case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1738     {
1739     CButton *btn;
1740     btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1741     if (btn->GetCheck()) {
1742     GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);
1743     } else {
1744     GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);
1745     }
1746     }
1747     return TRUE;
1748 maya 3227 }
1749    
1750     return CPropertyPage::OnCommand(wParam, lParam);
1751     }
1752    
1753     void CLogPropPageDlg::OnOK()
1754     {
1755     char buf[80], buf2[80];
1756     time_t time_local;
1757     struct tm *tm_local;
1758     char uimsg[MAX_UIMSG];
1759     CButton *btn;
1760 yutakapon 5171 CString str;
1761 doda 6956 CComboBox *cmb;
1762 yutakapon 5171 int i;
1763 maya 3227
1764     // Viewlog Editor path (2005.1.29 yutaka)
1765     GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1766    
1767     // Log Default File Name (2006.8.28 maya)
1768     GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1769     if (isInvalidStrftimeChar(buf)) {
1770     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1771     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1772     "Invalid character is included in log file name.", ts.UILanguageFile);
1773     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1774     return;
1775     }
1776     // ��������������
1777     time(&time_local);
1778     tm_local = localtime(&time_local);
1779     // ����������������
1780     if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1781     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1782     get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1783     "The log file name is too long.", ts.UILanguageFile);
1784     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1785     return;
1786     }
1787     if (isInvalidFileNameChar(buf2)) {
1788     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1789     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1790     "Invalid character is included in log file name.", ts.UILanguageFile);
1791     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1792     return;
1793     }
1794     strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1795    
1796     // Log Default File Path (2007.5.30 maya)
1797     GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1798    
1799     /* Auto start logging (2007.5.31 maya) */
1800     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1801     ts.LogAutoStart = btn->GetCheck();
1802 yutakapon 5171
1803     /* Log Rotate */
1804     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1805     if (btn->GetCheck()) { /* on */
1806     ts.LogRotate = ROTATE_SIZE;
1807    
1808     ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);
1809     for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1810 doda 6435 if (strcmp(str, LogRotateSizeType[i]) == 0)
1811 yutakapon 5171 break;
1812     }
1813     if (i >= LOG_ROTATE_SIZETYPE_NUM)
1814     i = 0;
1815     ts.LogRotateSizeType = i;
1816    
1817     ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1818     for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1819     ts.LogRotateSize *= 1024;
1820    
1821     ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1822    
1823     } else { /* off */
1824     ts.LogRotate = ROTATE_NONE;
1825     /* �c���������o�[�����}�I���������c���B*/
1826     }
1827    
1828 doda 6955 // Log Options
1829     btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1830     if (btn->GetCheck()) {
1831     ts.LogBinary = 1;
1832     }
1833     else {
1834     ts.LogBinary = 0;
1835     }
1836    
1837     btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1838     if (btn->GetCheck()) {
1839     ts.Append = 1;
1840     }
1841     else {
1842     ts.Append = 0;
1843     }
1844    
1845     btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1846     if (btn->GetCheck()) {
1847     ts.LogTypePlainText = 1;
1848     }
1849     else {
1850     ts.LogTypePlainText = 0;
1851     }
1852    
1853     btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1854     if (btn->GetCheck()) {
1855     ts.LogHideDialog = 1;
1856     }
1857     else {
1858     ts.LogHideDialog = 0;
1859     }
1860    
1861     btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1862     if (btn->GetCheck()) {
1863     ts.LogAllBuffIncludedInFirst = 1;
1864     }
1865     else {
1866     ts.LogAllBuffIncludedInFirst = 0;
1867     }
1868 doda 6956
1869     btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1870     if (btn->GetCheck()) {
1871     ts.LogTimestamp = 1;
1872     }
1873     else {
1874     ts.LogTimestamp = 0;
1875     }
1876    
1877     cmb = (CComboBox *)GetDlgItem(IDC_OPT_TIMESTAMP_TYPE);
1878     ts.LogTimestampType = cmb->GetCurSel();
1879 maya 3227 }
1880    
1881    
1882     // CCygwinPropPageDlg �_�C�A���O
1883    
1884     IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1885    
1886     CCygwinPropPageDlg::CCygwinPropPageDlg()
1887     : CPropertyPage(CCygwinPropPageDlg::IDD)
1888     {
1889     }
1890    
1891     CCygwinPropPageDlg::~CCygwinPropPageDlg()
1892     {
1893     if (DlgCygwinFont != NULL) {
1894     DeleteObject(DlgCygwinFont);
1895     }
1896     }
1897    
1898     BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1899     END_MESSAGE_MAP()
1900    
1901     // CCygwinPropPageDlg ���b�Z�[�W �n���h��
1902    
1903     BOOL CCygwinPropPageDlg::OnInitDialog()
1904     {
1905     char uimsg[MAX_UIMSG];
1906     CButton *btn;
1907    
1908     CPropertyPage::OnInitDialog();
1909    
1910     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1911     GetObject(font, sizeof(LOGFONT), &logfont);
1912     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1913     SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1914     SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1915     SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1916     SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1917     SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1918     SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1919     SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1920     SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1921     SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1922     SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1923     SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1924     SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1925     SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1926     SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1927     SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1928     SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1929     SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1930     SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1931     SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1932     SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1933     SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1934     }
1935     else {
1936     DlgCygwinFont = NULL;
1937     }
1938    
1939     GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1940     get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1941     SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1942    
1943 yutakapon 6119 memcpy(&settings, &ts.CygtermSettings, sizeof(cygterm_t));
1944 maya 3227
1945     SetDlgItemText(IDC_TERM_EDIT, settings.term);
1946     SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1947     SetDlgItemText(IDC_PORT_START, settings.port_start);
1948     SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1949     SetDlgItemText(IDC_SHELL, settings.shell);
1950     SetDlgItemText(IDC_ENV1, settings.env1);
1951     SetDlgItemText(IDC_ENV2, settings.env2);
1952     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1953     btn->SetCheck(settings.login_shell);
1954     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1955     btn->SetCheck(settings.home_chdir);
1956     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1957     btn->SetCheck(settings.agent_proxy);
1958    
1959     // Cygwin install path
1960     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1961    
1962     // �_�C�A���O���t�H�[�J�X��������
1963     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1964    
1965     return FALSE;
1966     }
1967    
1968     BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1969     {
1970 maya 5778 char buf[MAX_PATH], buf2[MAX_PATH];
1971    
1972 maya 3227 switch (wParam) {
1973     case IDC_SELECT_FILE | (BN_CLICKED << 16):
1974     // Cygwin install �f�B���N�g�����I���_�C�A���O
1975     get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1976     "Select Cygwin directory", ts.UILanguageFile);
1977 maya 5778 GetDlgItemText(IDC_CYGWIN_PATH, buf, sizeof(buf));
1978     if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1979     SetDlgItemText(IDC_CYGWIN_PATH, buf2);
1980     }
1981 maya 3227 return TRUE;
1982     }
1983    
1984     return CPropertyPage::OnCommand(wParam, lParam);
1985     }
1986    
1987     void CCygwinPropPageDlg::OnOK()
1988     {
1989     CButton *btn;
1990    
1991     // writing to CygTerm config file
1992     GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1993     GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1994     GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1995     GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1996     GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1997     GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1998     GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1999     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
2000     settings.login_shell = btn->GetCheck();
2001     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
2002     settings.home_chdir = btn->GetCheck();
2003     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
2004     settings.agent_proxy = btn->GetCheck();
2005    
2006 yutakapon 6119 memcpy(&ts.CygtermSettings, &settings, sizeof(cygterm_t));
2007 maya 3227
2008 yutakapon 6119 // �������������������t���O�������������B
2009     ts.CygtermSettings.update_flag = TRUE;
2010 maya 3227
2011     // Cygwin install path
2012     GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
2013     }
2014    
2015    
2016    
2017     // CAddSettingPropSheetDlg
2018    
2019     IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
2020    
2021     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
2022     :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
2023     {
2024     AddPage(&m_GeneralPage);
2025 maya 3777 AddPage(&m_SequencePage);
2026     AddPage(&m_CopypastePage);
2027 maya 3227 AddPage(&m_VisualPage);
2028     AddPage(&m_LogPage);
2029     AddPage(&m_CygwinPage);
2030    
2031     m_psh.dwFlags |= PSH_NOAPPLYNOW;
2032     }
2033    
2034     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
2035     :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
2036     {
2037     AddPage(&m_GeneralPage);
2038 maya 3777 AddPage(&m_SequencePage);
2039 maya 3227 AddPage(&m_CopypastePage);
2040     AddPage(&m_VisualPage);
2041     AddPage(&m_LogPage);
2042     AddPage(&m_CygwinPage);
2043    
2044     m_psh.dwFlags |= PSH_NOAPPLYNOW;
2045     }
2046    
2047     CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
2048     {
2049     }
2050    
2051    
2052     BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
2053     END_MESSAGE_MAP()
2054    
2055    
2056     // CAddSettingPropSheetDlg ���b�Z�[�W �n���h��
2057    
2058     BOOL CAddSettingPropSheetDlg::OnInitDialog()