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

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