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