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 7938 - (hide annotations) (download) (as text)
Sun Aug 11 11:29:29 2019 UTC (4 years, 8 months ago) by zmatsuo
File MIME type: text/x-c++src
File size: 50906 byte(s)
設定の構造体をtttypes.hにまとめた

- cygterm_tをteraterm.hからtttypes.hに移動した
- Get(Set)DlgItemTextのdefineを削除した
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 zmatsuo 7554 #include "teraterm_conf.h"
33 maya 3227
34 zmatsuo 7525 #include <stdio.h>
35     #include <tchar.h>
36     #include <windows.h>
37 maya 3227 #include <commctrl.h>
38 zmatsuo 7525 #include <time.h>
39     #include <tchar.h>
40 zmatsuo 7938 #include <crtdbg.h>
41 maya 3227
42     #include "teraterm.h"
43     #include "tttypes.h"
44 zmatsuo 7525 #include "ttwinman.h" // for ts
45 yutakapon 4916 #include "ttcommon.h"
46 yutakapon 5171 #include "ttftypes.h"
47 zmatsuo 7525 #include "dlglib.h"
48     #include "compat_win.h"
49 zmatsuo 7938 #include "addsetting.h"
50 maya 3227
51 zmatsuo 7938 #ifdef _DEBUG
52     #define free(p) _free_dbg((p), _NORMAL_BLOCK)
53     #define _strdup(s) _strdup_dbg((s), _NORMAL_BLOCK, __FILE__, __LINE__)
54     #define _wcsdup(s) _wcsdup_dbg((s), _NORMAL_BLOCK, __FILE__, __LINE__)
55     #undef _tcsdup
56     #ifdef _UNICODE
57     #define _tcsdup(s) _wcsdup_dbg((s), _NORMAL_BLOCK, __FILE__, __LINE__)
58     #else
59     #define _tcsdup(s) _strdup_dbg((s), _NORMAL_BLOCK, __FILE__, __LINE__)
60     #endif
61     #endif
62 zmatsuo 7525
63     const mouse_cursor_t MouseCursor[] = {
64 maya 3227 {"ARROW", IDC_ARROW},
65     {"IBEAM", IDC_IBEAM},
66     {"CROSS", IDC_CROSS},
67     {"HAND", IDC_HAND},
68     {NULL, NULL},
69     };
70     #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
71    
72 zmatsuo 7525 void CVisualPropPageDlg::SetupRGBbox(int index)
73 maya 3227 {
74     BYTE c;
75    
76     c = GetRValue(ts.ANSIColor[index]);
77 zmatsuo 7525 SetDlgItemNum(IDC_COLOR_RED, c);
78 maya 3227
79     c = GetGValue(ts.ANSIColor[index]);
80 zmatsuo 7525 SetDlgItemNum(IDC_COLOR_GREEN, c);
81 maya 3227
82     c = GetBValue(ts.ANSIColor[index]);
83 zmatsuo 7525 SetDlgItemNum(IDC_COLOR_BLUE, c);
84 maya 3227 }
85    
86     // CGeneralPropPageDlg �_�C�A���O
87    
88 zmatsuo 7525 CGeneralPropPageDlg::CGeneralPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
89     : TTCPropertyPage(inst, CGeneralPropPageDlg::IDD, sheet)
90 maya 3227 {
91 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
92     get_lang_msgT("DLG_TABSHEET_TITLE_GENERAL", UIMsg, _countof(UIMsg),
93     _T("General"), ts.UILanguageFile);
94     m_psp.pszTitle = _tcsdup(UIMsg);
95     m_psp.dwFlags |= PSP_USETITLE;
96 maya 3227 }
97    
98     CGeneralPropPageDlg::~CGeneralPropPageDlg()
99     {
100 zmatsuo 7525 free((void *)m_psp.pszTitle);
101 maya 3227 }
102    
103     // CGeneralPropPageDlg ���b�Z�[�W �n���h��
104    
105 zmatsuo 7525 void CGeneralPropPageDlg::OnInitDialog()
106 maya 3227 {
107 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
108 maya 3227
109 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
110     { IDC_CLICKABLE_URL, "DLG_TAB_GENERAL_CLICKURL" },
111     { IDC_DISABLE_SENDBREAK, "DLG_TAB_GENERAL_DISABLESENDBREAK" },
112     { IDC_ACCEPT_BROADCAST, "DLG_TAB_GENERAL_ACCEPTBROADCAST" },
113     { IDC_MOUSEWHEEL_SCROLL_LINE, "DLG_TAB_GENERAL_MOUSEWHEEL_SCROLL_LINE" },
114     { IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, "DLG_TAB_GENERAL_AUTOSCROLL_ONLY_IN_BOTTOM_LINE" },
115     { IDC_CLEAR_ON_RESIZE, "DLG_TAB_GENERAL_CLEAR_ON_RESIZE" },
116     { IDC_CURSOR_CHANGE_IME, "DLG_TAB_GENERAL_CURSOR_CHANGE_IME" },
117     { IDC_LIST_HIDDEN_FONTS, "DLG_TAB_GENERAL_LIST_HIDDEN_FONTS" },
118     { IDC_TITLEFMT_GROUP, "DLG_TAB_GENERAL_TITLEFMT_GROUP" },
119     { IDC_TITLEFMT_DISPHOSTNAME, "DLG_TAB_GENERAL_TITLEFMT_DISPHOSTNAME" },
120     { IDC_TITLEFMT_DISPSESSION, "DLG_TAB_GENERAL_TITLEFMT_DISPSESSION" },
121     { IDC_TITLEFMT_DISPVTTEK, "DLG_TAB_GENERAL_TITLEFMT_DISPVTTEK" },
122     { IDC_TITLEFMT_SWAPHOSTTITLE, "DLG_TAB_GENERAL_TITLEFMT_SWAPHOSTTITLE" },
123     { IDC_TITLEFMT_DISPTCPPORT, "DLG_TAB_GENERAL_TITLEFMT_DISPTCPPORT" },
124     { IDC_TITLEFMT_DISPSERIALSPEED, "DLG_TAB_GENERAL_TITLEFMT_DISPSERIALSPEED" }
125     };
126     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
127 maya 3227
128     // (1)DisableAcceleratorSendBreak
129 zmatsuo 7525 SetCheck(IDC_DISABLE_SENDBREAK, ts.DisableAcceleratorSendBreak);
130 maya 3227
131     // (2)EnableClickableUrl
132 zmatsuo 7525 SetCheck(IDC_CLICKABLE_URL, ts.EnableClickableUrl);
133 maya 3227
134     // (3)AcceptBroadcast 337: 2007/03/20
135 zmatsuo 7525 SetCheck(IDC_ACCEPT_BROADCAST, ts.AcceptBroadcast);
136 maya 3227
137     // (4)IDC_MOUSEWHEEL_SCROLL_LINE
138 zmatsuo 7525 SetDlgItemNum(IDC_SCROLL_LINE, ts.MouseWheelScrollLine);
139 maya 3227
140     // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
141 zmatsuo 7525 SetCheck(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, ts.AutoScrollOnlyInBottomLine);
142 maya 3227
143 maya 3777 // (6)IDC_CLEAR_ON_RESIZE
144 zmatsuo 7525 SetCheck(IDC_CLEAR_ON_RESIZE, (ts.TermFlag & TF_CLEARONRESIZE) != 0);
145 maya 3777
146 doda 4043 // (7)IDC_CURSOR_CHANGE_IME
147 zmatsuo 7525 SetCheck(IDC_CURSOR_CHANGE_IME, (ts.WindowFlag & WF_IMECURSORCHANGE) != 0);
148 doda 4043
149 doda 6857 // (8)IDC_LIST_HIDDEN_FONTS
150 zmatsuo 7525 SetCheck(IDC_LIST_HIDDEN_FONTS, ts.ListHiddenFonts);
151 doda 6857
152 doda 7131 // (9) Title Format
153 zmatsuo 7525 SetCheck(IDC_TITLEFMT_DISPHOSTNAME, (ts.TitleFormat & 1) != 0);
154     SetCheck(IDC_TITLEFMT_DISPSESSION, (ts.TitleFormat & (1<<1)) != 0);
155     SetCheck(IDC_TITLEFMT_DISPVTTEK, (ts.TitleFormat & (1<<2)) != 0);
156     SetCheck(IDC_TITLEFMT_SWAPHOSTTITLE, (ts.TitleFormat & (1<<3)) != 0);
157     SetCheck(IDC_TITLEFMT_DISPTCPPORT, (ts.TitleFormat & (1<<4)) != 0);
158     SetCheck(IDC_TITLEFMT_DISPSERIALSPEED, (ts.TitleFormat & (1<<5)) != 0);
159 doda 7131
160 maya 3777 // �_�C�A���O���t�H�[�J�X�������� (2004.12.7 yutaka)
161     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
162     }
163    
164     void CGeneralPropPageDlg::OnOK()
165     {
166 zmatsuo 7525 TCHAR buf[64];
167 maya 3777 int val;
168    
169     // (1)
170 zmatsuo 7525 ts.DisableAcceleratorSendBreak = GetCheck(IDC_DISABLE_SENDBREAK);
171 maya 3777
172     // (2)
173 zmatsuo 7525 ts.EnableClickableUrl = GetCheck(IDC_CLICKABLE_URL);
174 maya 3777
175     // (3) 337: 2007/03/20
176 zmatsuo 7525 ts.AcceptBroadcast = GetCheck(IDC_ACCEPT_BROADCAST);
177 maya 3777
178     // (4)IDC_MOUSEWHEEL_SCROLL_LINE
179 zmatsuo 7525 GetDlgItemTextT(IDC_SCROLL_LINE, buf, _countof(buf));
180     val = _tstoi(buf);
181 doda 6435 if (val > 0)
182 maya 3777 ts.MouseWheelScrollLine = val;
183    
184     // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
185 zmatsuo 7525 ts.AutoScrollOnlyInBottomLine = GetCheck(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
186 maya 3777
187     // (6)IDC_CLEAR_ON_RESIZE
188 zmatsuo 7525 if (((ts.TermFlag & TF_CLEARONRESIZE) != 0) != GetCheck(IDC_CLEAR_ON_RESIZE)) {
189 maya 3777 ts.TermFlag ^= TF_CLEARONRESIZE;
190     }
191 doda 4043
192     // (7)IDC_CURSOR_CHANGE_IME
193 zmatsuo 7525 if (((ts.WindowFlag & WF_IMECURSORCHANGE) != 0) != GetCheck(IDC_CURSOR_CHANGE_IME)) {
194 doda 4043 ts.WindowFlag ^= WF_IMECURSORCHANGE;
195     }
196 doda 6857
197     // (8)IDC_LIST_HIDDEN_FONTS
198 zmatsuo 7525 ts.ListHiddenFonts = GetCheck(IDC_LIST_HIDDEN_FONTS);
199 doda 7131
200     // (9) Title Format
201 zmatsuo 7525 ts.TitleFormat = GetCheck(IDC_TITLEFMT_DISPHOSTNAME) == BST_CHECKED;
202     ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPSESSION) == BST_CHECKED) << 1;
203     ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPVTTEK) == BST_CHECKED) << 2;
204     ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_SWAPHOSTTITLE) == BST_CHECKED) << 3;
205     ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPTCPPORT) == BST_CHECKED) << 4;
206     ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPSERIALSPEED) == BST_CHECKED) << 5;
207 maya 3777 }
208    
209     // CSequencePropPageDlg �_�C�A���O
210    
211 zmatsuo 7525 CSequencePropPageDlg::CSequencePropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
212     : TTCPropertyPage(inst, CSequencePropPageDlg::IDD, sheet)
213 maya 3777 {
214 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
215     get_lang_msgT("DLG_TABSHEET_TITLE_SEQUENCE", UIMsg, _countof(UIMsg),
216     _T("Control Sequence"), ts.UILanguageFile);
217     m_psp.pszTitle = _tcsdup(UIMsg);
218     m_psp.dwFlags |= PSP_USETITLE;
219 maya 3777 }
220    
221     CSequencePropPageDlg::~CSequencePropPageDlg()
222     {
223 zmatsuo 7525 free((void *)m_psp.pszTitle);
224 maya 3777 }
225    
226     // CSequencePropPageDlg ���b�Z�[�W �n���h��
227    
228 zmatsuo 7525 void CSequencePropPageDlg::OnInitDialog()
229 maya 3777 {
230 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
231 maya 3777
232 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
233     { IDC_ACCEPT_MOUSE_EVENT_TRACKING, "DLG_TAB_SEQUENCE_ACCEPT_MOUSE_EVENT_TRACKING" },
234     { IDC_DISABLE_MOUSE_TRACKING_CTRL, "DLG_TAB_SEQUENCE_DISABLE_MOUSE_TRACKING_CTRL" },
235     { IDC_ACCEPT_TITLE_CHANGING_LABEL, "DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING" },
236 maya 3777
237 zmatsuo 7525 { IDC_CURSOR_CTRL_SEQ, "DLG_TAB_SEQUENCE_CURSOR_CTRL" },
238     { IDC_WINDOW_CTRL, "DLG_TAB_SEQUENCE_WINDOW_CTRL" },
239     { IDC_WINDOW_REPORT, "DLG_TAB_SEQUENCE_WINDOW_REPORT" },
240     { IDC_TITLE_REPORT_LABEL, "DLG_TAB_SEQUENCE_TITLE_REPORT" },
241 maya 3777
242 zmatsuo 7525 { IDC_CLIPBOARD_ACCESS_LABEL, "DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS" },
243 maya 3777
244 zmatsuo 7525 { IDC_CLIPBOARD_NOTIFY, "DLG_TAB_SEQUENCE_CLIPBOARD_NOTIFY" },
245     };
246     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
247 maya 3777
248 zmatsuo 7525 TCHAR uimsg[MAX_UIMSG];
249     get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OFF", uimsg, _countof(uimsg), _T("off"), ts.UILanguageFile);
250     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
251     get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OVERWRITE", uimsg, _countof(uimsg), _T("overwrite"), ts.UILanguageFile);
252     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
253     get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_AHEAD", uimsg, _countof(uimsg), _T("ahead"), ts.UILanguageFile);
254     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
255     get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_LAST", uimsg, _countof(uimsg), _T("last"), ts.UILanguageFile);
256     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
257 maya 3777
258 zmatsuo 7525 get_lang_msgT("DLG_TAB_SEQUENCE_TITLE_REPORT_IGNORE", uimsg, _countof(uimsg), _T("ignore"), ts.UILanguageFile);
259     SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)uimsg);
260     get_lang_msgT("DLG_TAB_SEQUENCE_TITLE_REPORT_ACCEPT", uimsg, _countof(uimsg), _T("accept"), ts.UILanguageFile);
261     SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)uimsg);
262     get_lang_msgT("DLG_TAB_SEQUENCE_TITLE_REPORT_EMPTY", uimsg, _countof(uimsg), _T("empty"), ts.UILanguageFile);
263     SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)uimsg);
264 maya 3777
265 zmatsuo 7525 get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_OFF", uimsg, _countof(uimsg), _T("off"), ts.UILanguageFile);
266     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
267     get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_WRITE", uimsg, _countof(uimsg), _T("write only"), ts.UILanguageFile);
268     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
269     get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_READ", uimsg, _countof(uimsg), _T("read only"), ts.UILanguageFile);
270     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
271     get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_ON", uimsg, _countof(uimsg), _T("read/write"), ts.UILanguageFile);
272     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
273 doda 4702
274 maya 3777 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
275 zmatsuo 7525 SetCheck(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.MouseEventTracking);
276     EnableDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.MouseEventTracking ? TRUE : FALSE);
277 maya 3227
278 maya 3777 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
279 zmatsuo 7525 SetCheck(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.DisableMouseTrackingByCtrl);
280 maya 3227
281 maya 3777 // (3)IDC_ACCEPT_TITLE_CHANGING
282 zmatsuo 7525 SetCurSel(IDC_ACCEPT_TITLE_CHANGING, ts.AcceptTitleChangeRequest);
283 maya 3227
284 maya 3777 // (4)IDC_TITLE_REPORT
285 zmatsuo 7525 SetCurSel(IDC_TITLE_REPORT,
286     (ts.WindowFlag & WF_TITLEREPORT) == IdTitleReportIgnore ? 0 :
287     (ts.WindowFlag & WF_TITLEREPORT) == IdTitleReportAccept ? 1
288     /*(ts.WindowFlag & WF_TITLEREPORT) == IdTitleReportEmptye ? */ : 2);
289 doda 3727
290 maya 3777 // (5)IDC_WINDOW_CTRL
291 zmatsuo 7525 SetCheck(IDC_WINDOW_CTRL, (ts.WindowFlag & WF_WINDOWCHANGE) != 0);
292 maya 3777
293     // (6)IDC_WINDOW_REPORT
294 zmatsuo 7525 SetCheck(IDC_WINDOW_REPORT, (ts.WindowFlag & WF_WINDOWREPORT) != 0);
295 maya 3777
296     // (7)IDC_CURSOR_CTRL_SEQ
297 zmatsuo 7525 SetCheck(IDC_CURSOR_CTRL_SEQ, (ts.WindowFlag & WF_CURSORCHANGE) != 0);
298 yutakapon 3735
299 doda 4702 // (8)IDC_CLIPBOARD_ACCESS
300 zmatsuo 7525 SetCurSel(IDC_CLIPBOARD_ACCESS,
301     (ts.CtrlFlag & CSF_CBRW) == CSF_CBRW ? 3 :
302     (ts.CtrlFlag & CSF_CBRW) == CSF_CBREAD ? 2 :
303     (ts.CtrlFlag & CSF_CBRW) == CSF_CBWRITE ? 1 :
304     0); // off
305 doda 4702
306 doda 6676 // (9)IDC_CLIPBOARD_NOTIFY
307 zmatsuo 7525 SetCheck(IDC_CLIPBOARD_NOTIFY, ts.NotifyClipboardAccess);
308     EnableDlgItem(IDC_CLIPBOARD_NOTIFY, HasBalloonTipSupport() ? TRUE : FALSE);
309 doda 6676
310 maya 3227 // �_�C�A���O���t�H�[�J�X�������� (2004.12.7 yutaka)
311 doda 6494 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ACCEPT_MOUSE_EVENT_TRACKING));
312 maya 3227 }
313    
314 maya 3777 BOOL CSequencePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
315 maya 3227 {
316     switch (wParam) {
317     case IDC_ACCEPT_MOUSE_EVENT_TRACKING | (BN_CLICKED << 16):
318 zmatsuo 7525 EnableDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL,
319     GetCheck(IDC_ACCEPT_MOUSE_EVENT_TRACKING) ? TRUE : FALSE);
320 maya 3227 return TRUE;
321     }
322 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
323 maya 3227 }
324    
325 maya 3777 void CSequencePropPageDlg::OnOK()
326 maya 3227 {
327 maya 3777 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
328 zmatsuo 7525 ts.MouseEventTracking = GetCheck(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
329 maya 3227
330 maya 3777 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
331 zmatsuo 7525 ts.DisableMouseTrackingByCtrl = GetCheck(IDC_DISABLE_MOUSE_TRACKING_CTRL);
332 maya 3227
333 maya 3777 // (3)IDC_ACCEPT_TITLE_CHANGING
334 zmatsuo 7525 int sel = GetCurSel(IDC_ACCEPT_TITLE_CHANGING);
335 doda 6496 if (0 <= sel && sel <= IdTitleChangeRequestMax) {
336     ts.AcceptTitleChangeRequest = sel;
337     }
338 doda 3727
339 maya 3777 // (4)IDC_TITLE_REPORT
340 zmatsuo 7525 switch (GetCurSel(IDC_TITLE_REPORT)) {
341 maya 3777 case 0:
342     ts.WindowFlag &= ~WF_TITLEREPORT;
343     break;
344     case 1:
345     ts.WindowFlag &= ~WF_TITLEREPORT;
346     ts.WindowFlag |= IdTitleReportAccept;
347     break;
348 doda 6496 case 2:
349 maya 3777 ts.WindowFlag |= IdTitleReportEmpty;
350     break;
351 doda 6496 default: // Invalid value.
352     break;
353 doda 3727 }
354 yutakapon 3735
355 maya 3777 // (5)IDC_WINDOW_CTRL
356 zmatsuo 7525 if (((ts.WindowFlag & WF_WINDOWCHANGE) != 0) != GetCheck(IDC_WINDOW_CTRL)) {
357 maya 3777 ts.WindowFlag ^= WF_WINDOWCHANGE;
358     }
359    
360     // (6)IDC_WINDOW_REPORT
361 zmatsuo 7525 if (((ts.WindowFlag & WF_WINDOWREPORT) != 0) != GetCheck(IDC_WINDOW_REPORT)) {
362 maya 3777 ts.WindowFlag ^= WF_WINDOWREPORT;
363     }
364    
365     // (7)IDC_CURSOR_CTRL_SEQ
366 zmatsuo 7525 if (((ts.WindowFlag & WF_CURSORCHANGE) != 0) != GetCheck(IDC_CURSOR_CTRL_SEQ)) {
367 yutakapon 3735 ts.WindowFlag ^= WF_CURSORCHANGE;
368     }
369 maya 3777
370 doda 6496 // (8)IDC_CLIPBOARD_ACCESS
371 zmatsuo 7525 switch (GetCurSel(IDC_CLIPBOARD_ACCESS)) {
372 doda 4702 case 0: // off
373     ts.CtrlFlag &= ~CSF_CBRW;
374     break;
375     case 1: // write only
376     ts.CtrlFlag &= ~CSF_CBRW;
377     ts.CtrlFlag |= CSF_CBWRITE;
378     break;
379     case 2: // read only
380     ts.CtrlFlag &= ~CSF_CBRW;
381     ts.CtrlFlag |= CSF_CBREAD;
382     break;
383 doda 6496 case 3: // read/write
384 doda 4702 ts.CtrlFlag |= CSF_CBRW;
385     break;
386 doda 6496 default: // Invalid value.
387     break;
388 doda 4702 }
389 doda 6676
390     // (9)IDC_CLIPBOARD_ACCESS
391 zmatsuo 7525 ts.NotifyClipboardAccess = GetCheck(IDC_CLIPBOARD_NOTIFY);
392 maya 3227 }
393    
394    
395     // CCopypastePropPageDlg �_�C�A���O
396    
397 zmatsuo 7525 CCopypastePropPageDlg::CCopypastePropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
398     : TTCPropertyPage(inst, CCopypastePropPageDlg::IDD, sheet)
399 maya 3227 {
400 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
401     get_lang_msgT("DLG_TABSHEET_TITLE_COPYPASTE", UIMsg, _countof(UIMsg),
402     _T("Copy and Paste"), ts.UILanguageFile);
403     m_psp.pszTitle = _tcsdup(UIMsg);
404     m_psp.dwFlags |= PSP_USETITLE;
405 maya 3227 }
406    
407     CCopypastePropPageDlg::~CCopypastePropPageDlg()
408     {
409 zmatsuo 7525 free((void *)m_psp.pszTitle);
410 maya 3227 }
411    
412     // CCopypastePropPageDlg ���b�Z�[�W �n���h��
413    
414 zmatsuo 7525 void CCopypastePropPageDlg::OnInitDialog()
415 maya 3227 {
416 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
417 maya 3227
418 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
419     { IDC_LINECOPY, "DLG_TAB_COPYPASTE_CONTINUE" },
420     { IDC_DISABLE_PASTE_RBUTTON, "DLG_TAB_COPYPASTE_MOUSEPASTE" },
421     { IDC_CONFIRM_PASTE_RBUTTON, "DLG_TAB_COPYPASTE_CONFIRMPASTE" },
422     { IDC_DISABLE_PASTE_MBUTTON, "DLG_TAB_COPYPASTE_MOUSEPASTEM" },
423     { IDC_SELECT_LBUTTON, "DLG_TAB_COPYPASTE_SELECTLBUTTON" },
424     { IDC_TRIMNLCHAR, "DLG_TAB_COPYPASTE_TRIM_TRAILING_NL" },
425     { IDC_NORMALIZE_LINEBREAK, "DLG_TAB_COPYPASTE_NORMALIZE_LINEBREAK" },
426     { IDC_CONFIRM_CHANGE_PASTE, "DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE" },
427     { IDC_CONFIRM_STRING_FILE_LABEL, "DLG_TAB_COPYPASTE_STRINGFILE" },
428     { IDC_DELIMITER, "DLG_TAB_COPYPASTE_DELIMITER" },
429     { IDC_PASTEDELAY_LABEL, "DLG_TAB_COPYPASTE_PASTEDELAY" },
430     { IDC_PASTEDELAY_LABEL2, "DLG_TAB_COPYPASTE_PASTEDELAY2" }
431     };
432     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
433 maya 3227
434     // (1)Enable continued-line copy
435 zmatsuo 7525 SetCheck(IDC_LINECOPY, ts.EnableContinuedLineCopy);
436 maya 3227
437     // (2)DisablePasteMouseRButton
438 doda 6594 if (ts.PasteFlag & CPF_DISABLE_RBUTTON) {
439 zmatsuo 7525 SetCheck(IDC_DISABLE_PASTE_RBUTTON, BST_CHECKED);
440     EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON, FALSE);
441 maya 3227 } else {
442 zmatsuo 7525 SetCheck(IDC_DISABLE_PASTE_RBUTTON, BST_UNCHECKED);
443     EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON, TRUE);
444 maya 3227 }
445    
446     // (3)ConfirmPasteMouseRButton
447 zmatsuo 7525 SetCheck(IDC_CONFIRM_PASTE_RBUTTON, (ts.PasteFlag & CPF_CONFIRM_RBUTTON)?BST_CHECKED:BST_UNCHECKED);
448 maya 3227
449 doda 3594 // (4)DisablePasteMouseMButton
450 zmatsuo 7525 SetCheck(IDC_DISABLE_PASTE_MBUTTON, (ts.PasteFlag & CPF_DISABLE_MBUTTON)?BST_CHECKED:BST_UNCHECKED);
451 doda 3594
452     // (5)SelectOnlyByLButton
453 zmatsuo 7525 SetCheck(IDC_SELECT_LBUTTON, ts.SelectOnlyByLButton);
454 maya 3227
455 doda 6418 // (6)TrimTrailingNLonPaste
456 zmatsuo 7525 SetCheck(IDC_TRIMNLCHAR, (ts.PasteFlag & CPF_TRIM_TRAILING_NL)?BST_CHECKED:BST_UNCHECKED);
457 doda 6418
458 doda 6595 // (7)NormalizeLineBreak
459 zmatsuo 7525 SetCheck(IDC_NORMALIZE_LINEBREAK, (ts.PasteFlag & CPF_NORMALIZE_LINEBREAK)?BST_CHECKED:BST_UNCHECKED);
460 doda 6595
461     // (8)ConfirmChangePaste
462 zmatsuo 7525 SetCheck(IDC_CONFIRM_CHANGE_PASTE, (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE)?BST_CHECKED:BST_UNCHECKED);
463 maya 3227
464 yutakapon 3558 // �t�@�C���p�X
465 zmatsuo 7525 SetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
466 doda 6594 if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) {
467 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_STRING_FILE, TRUE);
468     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, TRUE);
469 yutakapon 3558 } else {
470 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_STRING_FILE, FALSE);
471     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, FALSE);
472 yutakapon 3558 }
473    
474 doda 6595 // (9)delimiter characters
475 zmatsuo 7525 SetDlgItemTextA(IDC_DELIM_LIST, ts.DelimList);
476 maya 3227
477 doda 6595 // (10)PasteDelayPerLine
478 zmatsuo 7525 char buf[64];
479 maya 3306 _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);
480 zmatsuo 7525 SetDlgItemNum(IDC_PASTEDELAY_EDIT, ts.PasteDelayPerLine);
481 maya 3227
482     // �_�C�A���O���t�H�[�J�X��������
483     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));
484     }
485    
486     BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
487     {
488 yutakapon 3558 char uimsg[MAX_UIMSG];
489 maya 3227
490     switch (wParam) {
491     case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):
492 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON,
493     GetCheck(IDC_DISABLE_PASTE_RBUTTON) ? FALSE : TRUE);
494 maya 3227 return TRUE;
495 yutakapon 3558
496     case IDC_CONFIRM_CHANGE_PASTE | (BN_CLICKED << 16):
497 zmatsuo 7525 if (GetCheck(IDC_CONFIRM_CHANGE_PASTE)) {
498     EnableDlgItem(IDC_CONFIRM_STRING_FILE, TRUE);
499     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, TRUE);
500 yutakapon 3558 } else {
501 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_STRING_FILE, FALSE);
502     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, FALSE);
503 yutakapon 3558 }
504     return TRUE;
505    
506     case IDC_CONFIRM_STRING_FILE_PATH | (BN_CLICKED << 16):
507     {
508 zmatsuo 7525 OPENFILENAMEA ofn;
509 yutakapon 3558
510 zmatsuo 7525 memset(&ofn, 0, sizeof(ofn));
511     ofn.lStructSize = get_OPENFILENAME_SIZEA();
512 yutakapon 3558 ofn.hwndOwner = GetSafeHwnd();
513     get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
514     "txt(*.txt)\\0*.txt\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
515     ofn.lpstrFilter = ts.UIMsg;
516     ofn.lpstrFile = ts.ConfirmChangePasteStringFile;
517     ofn.nMaxFile = sizeof(ts.ConfirmChangePasteStringFile);
518     get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_TITLE", uimsg, sizeof(uimsg),
519     "Choose a file including strings for ConfirmChangePaste", ts.UILanguageFile);
520     ofn.lpstrTitle = uimsg;
521 maya 7775 ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
522 zmatsuo 7525 if (GetOpenFileNameA(&ofn) != 0) {
523     SetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
524 yutakapon 3558 }
525     }
526     return TRUE;
527 maya 3227 }
528    
529 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
530 maya 3227 }
531    
532     void CCopypastePropPageDlg::OnOK()
533     {
534 maya 3306 char buf[64];
535     int val;
536 maya 3227
537     // (1)
538 zmatsuo 7525 ts.EnableContinuedLineCopy = GetCheck(IDC_LINECOPY);
539 maya 3227
540     // (2)
541 zmatsuo 7525 if (GetCheck(IDC_DISABLE_PASTE_RBUTTON)) {
542 doda 6594 ts.PasteFlag |= CPF_DISABLE_RBUTTON;
543     }
544     else {
545     ts.PasteFlag &= ~CPF_DISABLE_RBUTTON;
546     }
547 maya 3227
548     // (3)
549 zmatsuo 7525 if (GetCheck(IDC_CONFIRM_PASTE_RBUTTON)) {
550 doda 6594 ts.PasteFlag |= CPF_CONFIRM_RBUTTON;
551     }
552     else {
553     ts.PasteFlag &= ~CPF_CONFIRM_RBUTTON;
554     }
555 maya 3227
556     // (4)
557 zmatsuo 7525 if (GetCheck(IDC_DISABLE_PASTE_MBUTTON)) {
558 doda 6594 ts.PasteFlag |= CPF_DISABLE_MBUTTON;
559     }
560     else {
561     ts.PasteFlag &= ~CPF_DISABLE_MBUTTON;
562     }
563 doda 3594
564     // (5)
565 zmatsuo 7525 ts.SelectOnlyByLButton = GetCheck(IDC_SELECT_LBUTTON);
566 maya 3227
567 doda 6418 // (6)
568 zmatsuo 7525 if (GetCheck(IDC_TRIMNLCHAR)) {
569 doda 6594 ts.PasteFlag |= CPF_TRIM_TRAILING_NL;
570     }
571     else {
572     ts.PasteFlag &= ~CPF_TRIM_TRAILING_NL;
573     }
574 doda 6418
575 doda 6595 // (7)
576 zmatsuo 7525 if (GetCheck(IDC_NORMALIZE_LINEBREAK)) {
577 doda 6595 ts.PasteFlag |= CPF_NORMALIZE_LINEBREAK;
578     }
579     else {
580     ts.PasteFlag &= ~CPF_NORMALIZE_LINEBREAK;
581     }
582    
583     // (8)IDC_CONFIRM_CHANGE_PASTE
584 zmatsuo 7525 if (GetCheck(IDC_CONFIRM_CHANGE_PASTE)) {
585 doda 6594 ts.PasteFlag |= CPF_CONFIRM_CHANGEPASTE;
586     }
587     else {
588     ts.PasteFlag &= ~CPF_CONFIRM_CHANGEPASTE;
589     }
590 zmatsuo 7525 GetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
591 maya 3227
592 doda 6595 // (9)
593 zmatsuo 7525 GetDlgItemTextA(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
594 maya 3306
595 doda 6595 // (10)
596 zmatsuo 7525 GetDlgItemTextA(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));
597 maya 3306 val = atoi(buf);
598 zmatsuo 7525 ts.PasteDelayPerLine =
599     (val < 0) ? 0 :
600     (val > 5000) ? 5000 : val;
601 maya 3227 }
602    
603    
604     // CVisualPropPageDlg �_�C�A���O
605    
606 zmatsuo 7525 CVisualPropPageDlg::CVisualPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
607     : TTCPropertyPage(inst, CVisualPropPageDlg::IDD, sheet)
608 maya 3227 {
609 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
610     get_lang_msgT("DLG_TABSHEET_TITLE_VISUAL", UIMsg, _countof(UIMsg),
611     _T("Visual"), ts.UILanguageFile);
612     m_psp.pszTitle = _tcsdup(UIMsg);
613     m_psp.dwFlags |= PSP_USETITLE;
614 maya 3227 }
615    
616     CVisualPropPageDlg::~CVisualPropPageDlg()
617     {
618 zmatsuo 7525 free((void *)m_psp.pszTitle);
619 maya 3227 }
620    
621     // CVisualPropPageDlg ���b�Z�[�W �n���h��
622    
623 zmatsuo 7525 void CVisualPropPageDlg::OnInitDialog()
624 maya 3227 {
625     char buf[MAXPATHLEN];
626    
627 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
628 maya 3227
629 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
630     { IDC_ALPHABLEND, "DLG_TAB_VISUAL_ALPHA" },
631     { IDC_ALPHA_BLEND_ACTIVE_LABEL, "DLG_TAB_VISUAL_ALPHA_ACTIVE_LABEL" },
632     { IDC_ALPHA_BLEND_INACTIVE_LABEL, "DLG_TAB_VISUAL_ALPHA_INACTIVE_LABEL" },
633     { IDC_ETERM_LOOKFEEL, "DLG_TAB_VISUAL_ETERM" },
634     { IDC_BGIMG_CHECK, "DLG_TAB_VISUAL_BGIMG" },
635     { IDC_BGIMG_BRIGHTNESS, "DLG_TAB_VISUAL_BGIMG_BRIGHTNESS" },
636     { IDC_MOUSE, "DLG_TAB_VISUAL_MOUSE" },
637     { IDC_FONT_QUALITY_LABEL, "DLG_TAB_VISUAL_FONT_QUALITY" },
638     { IDC_ANSICOLOR, "DLG_TAB_VISUAL_ANSICOLOR" },
639     { IDC_RED, "DLG_TAB_VISUAL_RED" },
640     { IDC_GREEN, "DLG_TAB_VISUAL_GREEN" },
641     { IDC_BLUE, "DLG_TAB_VISUAL_BLUE" },
642     { IDC_ENABLE_ATTR_COLOR_BOLD, "DLG_TAB_VISUAL_BOLD" },
643     { IDC_ENABLE_ATTR_COLOR_BLINK, "DLG_TAB_VISUAL_BLINK" },
644     { IDC_ENABLE_ATTR_COLOR_REVERSE, "DLG_TAB_VISUAL_REVERSE" },
645     { IDC_ENABLE_URL_COLOR, "DLG_TAB_VISUAL_URL" },
646     { IDC_ENABLE_ANSI_COLOR, "DLG_TAB_VISUAL_ANSI" },
647     { IDC_URL_UNDERLINE, "DLG_TAB_VISUAL_URLUL" },
648     { IDC_RESTART, "DLG_TAB_VISUAL_RESTART" },
649     };
650     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
651 maya 3227
652 zmatsuo 7525 TCHAR uimsg[MAX_UIMSG];
653     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT",
654     uimsg, _countof(uimsg), _T("Default"), ts.UILanguageFile);
655     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
656     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED",
657     uimsg, _countof(uimsg), _T("Non-Antialiased"), ts.UILanguageFile);
658     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
659     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED",
660     uimsg, _countof(uimsg), _T("Antialiased"), ts.UILanguageFile);
661     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
662     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE",
663     uimsg, _countof(uimsg), _T("ClearType"), ts.UILanguageFile);
664     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
665 maya 3227
666     // (1)AlphaBlend
667    
668 zmatsuo 7525 SetDlgItemNum(IDC_ALPHA_BLEND_ACTIVE, ts.AlphaBlendActive);
669    
670     SetDlgItemNum(IDC_ALPHA_BLEND_INACTIVE, ts.AlphaBlendInactive);
671    
672 maya 3227 // (2)[BG] BGEnable
673 zmatsuo 7525 SetCheck(IDC_ETERM_LOOKFEEL, ts.EtermLookfeel.BGEnable);
674 maya 3227
675 yutakapon 4942 // Eterm look-feel���w�i�����w���B
676 zmatsuo 7525 SetDlgItemTextA(IDC_BGIMG_EDIT, ts.BGImageFilePath);
677 yutakapon 6095
678     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.BGImgBrightness);
679 zmatsuo 7525 SetDlgItemNum(IDC_EDIT_BGIMG_BRIGHTNESS, ts.BGImgBrightness);
680 yutakapon 6095
681 yutakapon 4942 if (ts.EtermLookfeel.BGEnable) {
682 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_CHECK, TRUE);
683 yutakapon 5573
684     if (strcmp(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE) == 0) {
685 zmatsuo 7525 SetCheck(IDC_BGIMG_CHECK, BST_CHECKED);
686     EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
687     EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
688 yutakapon 6095
689 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
690     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
691 yutakapon 5573 } else {
692 zmatsuo 7525 SetCheck(IDC_BGIMG_CHECK, BST_UNCHECKED);
693     EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
694     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
695 yutakapon 6095
696 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
697     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
698 yutakapon 5573 }
699 yutakapon 4942 } else {
700 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_CHECK, FALSE);
701     EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
702     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
703 yutakapon 6095
704 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
705     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
706 yutakapon 4942 }
707    
708 maya 3227 // (3)Mouse cursor type
709 zmatsuo 7525 int sel = 0;
710     for (int i = 0 ; MouseCursor[i].name ; i++) {
711     const char *name = MouseCursor[i].name;
712     SendDlgItemMessageA(IDC_MOUSE_CURSOR, CB_ADDSTRING, i, (LPARAM)name);
713     if (strcmp(name, ts.MouseCursorName) == 0) {
714     sel = i;
715     }
716 maya 3227 }
717 zmatsuo 7525 SetCurSel(IDC_MOUSE_CURSOR, sel);
718 maya 3227
719 maya 4874 // (4)Font quality
720     switch (ts.FontQuality) {
721     case DEFAULT_QUALITY:
722 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 0);
723 maya 4874 break;
724     case NONANTIALIASED_QUALITY:
725 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 1);
726 maya 4874 break;
727     case ANTIALIASED_QUALITY:
728 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 2);
729 maya 4874 break;
730     default: // CLEARTYPE_QUALITY
731 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 3);
732 maya 4874 break;
733     }
734    
735     // (5)ANSI color
736 zmatsuo 7525 for (int i = 0 ; i < 16 ; i++) {
737 maya 3227 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
738 zmatsuo 7525 SendDlgItemMessageA(IDC_ANSI_COLOR, LB_INSERTSTRING, i, (LPARAM)buf);
739 maya 3227 }
740 zmatsuo 7525 SetupRGBbox(0);
741     SendDlgItemMessage(IDC_ANSI_COLOR, LB_SETCURSEL, 0, 0);
742     ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
743 maya 3227
744 maya 4874 // (6)Bold Attr Color
745 zmatsuo 7525 SetCheck(IDC_ENABLE_ATTR_COLOR_BOLD, (ts.ColorFlag&CF_BOLDCOLOR) != 0);
746 maya 3227
747 maya 4874 // (7)Blink Attr Color
748 zmatsuo 7525 SetCheck(IDC_ENABLE_ATTR_COLOR_BLINK, (ts.ColorFlag&CF_BLINKCOLOR) != 0);
749 maya 3227
750 maya 4874 // (8)Reverse Attr Color
751 zmatsuo 7525 SetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE, (ts.ColorFlag&CF_REVERSECOLOR) != 0);
752 maya 3227
753 maya 4874 // (9)URL Color
754 zmatsuo 7525 SetCheck(IDC_ENABLE_URL_COLOR, (ts.ColorFlag&CF_URLCOLOR) != 0);
755 maya 3227
756 maya 4874 // (10)Color
757 zmatsuo 7525 SetCheck(IDC_ENABLE_ANSI_COLOR, (ts.ColorFlag&CF_ANSICOLOR) != 0);
758 maya 3227
759 maya 4874 // (11)URL Underline
760 zmatsuo 7525 SetCheck(IDC_URL_UNDERLINE, (ts.FontFlag&FF_URLUNDERLINE) != 0);
761 doda 3667
762 doda 6435 // �_�C�A���O���t�H�[�J�X��������
763 zmatsuo 7525 ::SetFocus(GetDlgItem(IDC_ALPHA_BLEND_ACTIVE));
764 maya 3227 }
765    
766     BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
767     {
768     int sel;
769    
770     switch (wParam) {
771 zmatsuo 7525 case IDC_ETERM_LOOKFEEL:
772 yutakapon 4942 // �`�F�b�N�������� Enable/Disable ���g�O�������B
773 zmatsuo 7525 if (GetCheck(IDC_ETERM_LOOKFEEL)) {
774     EnableDlgItem(IDC_BGIMG_CHECK, TRUE);
775     if (GetCheck(IDC_BGIMG_CHECK)) {
776     EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
777     EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
778 yutakapon 6095
779 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
780     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
781 yutakapon 5573 } else {
782 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
783     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
784 yutakapon 6095
785 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
786     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
787 yutakapon 5573 }
788     } else {
789 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_CHECK, FALSE);
790     EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
791     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
792 yutakapon 5573
793 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
794     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
795 yutakapon 6095
796 yutakapon 5573 // ���������������ABGThemeFile �����������B
797     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
798     // �w�i�����������������B
799 zmatsuo 7525 SetDlgItemTextT(IDC_BGIMG_EDIT, _T(""));
800 yutakapon 6095 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
801 yutakapon 5573 }
802     return TRUE;
803    
804     case IDC_BGIMG_CHECK:
805 zmatsuo 7525 if (GetCheck(IDC_BGIMG_CHECK)) {
806     EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
807     EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
808 yutakapon 5573
809 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
810     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
811 yutakapon 6095
812 yutakapon 5573 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
813 yutakapon 4942 } else {
814 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
815     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
816 yutakapon 5573
817 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
818     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
819 yutakapon 6095
820 yutakapon 4942 // ���������������ABGThemeFile �����������B
821     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
822 yutakapon 4945 // �w�i�����������������B
823 zmatsuo 7525 SetDlgItemTextT(IDC_BGIMG_EDIT, _T(""));
824 yutakapon 6095 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
825 yutakapon 4942 }
826     return TRUE;
827    
828     case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
829     // �w�i�������_�C�A���O���w�������B
830     {
831 zmatsuo 7525 OPENFILENAMEA ofn;
832     char szFile[MAX_PATH];
833    
834     memset(&ofn, 0, sizeof(ofn));
835     memset(szFile, 0, sizeof(szFile));
836     ofn.lStructSize = get_OPENFILENAME_SIZEA();
837 maya 7759 ofn.hwndOwner = GetSafeHwnd();
838 maya 7765 ofn.lpstrFilter = "Image Files(*.jpg;*.jpeg;*.bmp)\0*.jpg;*.jpeg;*.bmp\0All Files(*.*)\0*.*\0";
839 zmatsuo 7525 ofn.lpstrFile = szFile;
840     ofn.nMaxFile = _countof(szFile);
841     ofn.lpstrTitle = "select image file";
842     ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
843     if (GetOpenFileNameA(&ofn) != 0) {
844     SetDlgItemTextA(IDC_BGIMG_EDIT, szFile);
845 yutakapon 4942 }
846     }
847     return TRUE;
848    
849 maya 3227 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
850 zmatsuo 7525 sel = SendDlgItemMessage(IDC_ANSI_COLOR, LB_GETCURSEL, 0, 0);
851 maya 3227 if (sel != -1) {
852 zmatsuo 7525 SetupRGBbox(sel);
853     ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
854 maya 3227 }
855     return TRUE;
856    
857     case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
858     case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
859     case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
860     {
861     BYTE r, g, b;
862 zmatsuo 7525 char buf[8];
863 maya 3227
864 zmatsuo 7525 sel = GetCurSel(IDC_ANSI_COLOR);
865 maya 3227 if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
866     return TRUE;
867     }
868    
869 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_RED, buf, sizeof(buf));
870 maya 3227 r = atoi(buf);
871    
872 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_GREEN, buf, sizeof(buf));
873 maya 3227 g = atoi(buf);
874    
875 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_BLUE, buf, sizeof(buf));
876 maya 3227 b = atoi(buf);
877    
878     ts.ANSIColor[sel] = RGB(r, g, b);
879    
880     // 255��������RGB�l�����������������A������Edit���\������ (2007.2.18 maya)
881 zmatsuo 7525 SetupRGBbox(sel);
882    
883     ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
884 maya 3227 }
885    
886     return TRUE;
887 zmatsuo 7525 }
888 maya 3227
889 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
890     }
891 maya 3227
892 zmatsuo 7525 HBRUSH CVisualPropPageDlg::OnCtlColor(HDC hDC, HWND hWnd)
893     {
894     if ( hWnd == GetDlgItem(IDC_SAMPLE_COLOR) ) {
895     BYTE r, g, b;
896     char buf[8];
897 maya 3227
898 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_RED, buf, sizeof(buf));
899     r = atoi(buf);
900 maya 3227
901 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_GREEN, buf, sizeof(buf));
902     g = atoi(buf);
903 maya 3227
904 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_BLUE, buf, sizeof(buf));
905     b = atoi(buf);
906 maya 3227
907 zmatsuo 7525 SetBkMode(hDC, TRANSPARENT);
908     SetTextColor(hDC, RGB(r, g, b) );
909 maya 3227
910 zmatsuo 7525 return (HBRUSH)GetStockObject(NULL_BRUSH);
911 maya 3227 }
912 zmatsuo 7525 return TTCPropertyPage::OnCtlColor(hDC, hWnd);
913 maya 3227 }
914    
915     void CVisualPropPageDlg::OnOK()
916     {
917     int sel;
918     char buf[MAXPATHLEN];
919     COLORREF TmpColor;
920 yutakapon 4916 int flag_changed = 0;
921 maya 3227
922     // (1)
923 zmatsuo 7525 GetDlgItemTextA(IDC_ALPHA_BLEND_ACTIVE, buf, sizeof(buf));
924 maya 3227 if (isdigit(buf[0])) {
925 zmatsuo 7390 int i = atoi(buf);
926     ts.AlphaBlendActive =
927     (i < 0) ? 0 :
928     (i > 255) ? 255 : i;
929 maya 3227 }
930 zmatsuo 7525 GetDlgItemTextA(IDC_ALPHA_BLEND_INACTIVE, buf, sizeof(buf));
931 zmatsuo 7390 if (isdigit(buf[0])) {
932     int i = atoi(buf);
933 zmatsuo 7525 ts.AlphaBlendInactive =
934 zmatsuo 7390 (i < 0) ? 0 :
935     (i > 255) ? 255 : i;
936     }
937 maya 3227
938     // (2)
939     // �O���[�o������ BGEnable �������������������A�v���O������������������
940     // ���������R�s�[���C�����������������B(2005.4.24 yutaka)
941 zmatsuo 7525 if (ts.EtermLookfeel.BGEnable != GetCheck(IDC_ETERM_LOOKFEEL)) {
942 yutakapon 4916 flag_changed = 1;
943 zmatsuo 7525 ts.EtermLookfeel.BGEnable = GetCheck(IDC_ETERM_LOOKFEEL);
944 yutakapon 4916 }
945 yutakapon 4942 if (ts.EtermLookfeel.BGEnable) {
946 zmatsuo 7525 GetDlgItemTextA(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
947 yutakapon 4945 } else {
948     strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
949 yutakapon 4942 }
950    
951 zmatsuo 7525 GetDlgItemTextA(IDC_EDIT_BGIMG_BRIGHTNESS, buf, sizeof(buf));
952 yutakapon 6095 if (isdigit(buf[0])) {
953 zmatsuo 7525 int i = atoi(buf);
954     ts.BGImgBrightness =
955     (i < 0) ? 0 :
956     (i > 255) ? 255 : i;
957 yutakapon 6095 }
958    
959 maya 3227 // (3)
960 zmatsuo 7525 sel = GetCurSel(IDC_MOUSE_CURSOR);
961 maya 3227 if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
962     strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
963     }
964    
965 maya 4874 // (4)Font quality
966 zmatsuo 7525 switch (GetCurSel(IDC_FONT_QUALITY)) {
967 maya 4874 case 0:
968     ts.FontQuality = DEFAULT_QUALITY;
969     break;
970     case 1:
971     ts.FontQuality = NONANTIALIASED_QUALITY;
972     break;
973     case 2:
974     ts.FontQuality = ANTIALIASED_QUALITY;
975     break;
976 doda 6496 case 3:
977 maya 4874 ts.FontQuality = CLEARTYPE_QUALITY;
978     break;
979 doda 6496 default: // Invalid value.
980     break;
981 maya 4874 }
982    
983     // (6) Attr Bold Color
984 zmatsuo 7525 if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_BOLD)) {
985 maya 3227 ts.ColorFlag ^= CF_BOLDCOLOR;
986     }
987    
988 maya 4874 // (7) Attr Blink Color
989 zmatsuo 7525 if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_BLINK)) {
990 maya 3227 ts.ColorFlag ^= CF_BLINKCOLOR;
991     }
992    
993 maya 4874 // (8) Attr Reverse Color
994 maya 3227 if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Video���[�h(DECSCNM)����������������
995     if (ts.ColorFlag & CF_REVERSECOLOR) {
996 zmatsuo 7525 if (!GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
997 maya 3227 TmpColor = ts.VTColor[0];
998     ts.VTColor[0] = ts.VTReverseColor[1];
999     ts.VTReverseColor[1] = ts.VTColor[1];
1000     ts.VTColor[1] = ts.VTReverseColor[0];
1001     ts.VTReverseColor[0] = TmpColor;
1002     ts.ColorFlag ^= CF_REVERSECOLOR;
1003     }
1004     }
1005 zmatsuo 7525 else if (GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1006 maya 3227 TmpColor = ts.VTColor[0];
1007     ts.VTColor[0] = ts.VTReverseColor[0];
1008     ts.VTReverseColor[0] = ts.VTColor[1];
1009     ts.VTColor[1] = ts.VTReverseColor[1];
1010     ts.VTReverseColor[1] = TmpColor;
1011     ts.ColorFlag ^= CF_REVERSECOLOR;
1012     }
1013     }
1014 zmatsuo 7525 else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1015 maya 3227 ts.ColorFlag ^= CF_REVERSECOLOR;
1016     }
1017    
1018 maya 4874 // (9) URL Color
1019 zmatsuo 7525 if (((ts.ColorFlag & CF_URLCOLOR) != 0) != GetCheck(IDC_ENABLE_URL_COLOR)) {
1020 maya 3227 ts.ColorFlag ^= CF_URLCOLOR;
1021     }
1022    
1023 maya 4874 // (10) Color
1024 zmatsuo 7525 if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != GetCheck(IDC_ENABLE_ANSI_COLOR)) {
1025 maya 3227 ts.ColorFlag ^= CF_ANSICOLOR;
1026     }
1027    
1028 maya 4874 // (11) URL Underline
1029 zmatsuo 7525 if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != GetCheck(IDC_URL_UNDERLINE)) {
1030 doda 3667 ts.FontFlag ^= FF_URLUNDERLINE;
1031     }
1032    
1033 yutakapon 4916 if (flag_changed) {
1034     // re-launch
1035 maya 4944 // RestartTeraTerm(GetSafeHwnd(), &ts);
1036 yutakapon 4916 }
1037 maya 3227 }
1038    
1039    
1040    
1041     // CLogPropPageDlg �_�C�A���O
1042    
1043 zmatsuo 7525 CLogPropPageDlg::CLogPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
1044     : TTCPropertyPage(inst, CLogPropPageDlg::IDD, sheet)
1045 maya 3227 {
1046 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1047     get_lang_msgT("DLG_TABSHEET_TITLE_Log", UIMsg, _countof(UIMsg),
1048     _T("Log"), ts.UILanguageFile);
1049     m_psp.pszTitle = _tcsdup(UIMsg);
1050     m_psp.dwFlags |= PSP_USETITLE;
1051 maya 3227 }
1052    
1053     CLogPropPageDlg::~CLogPropPageDlg()
1054     {
1055 zmatsuo 7525 free((void *)m_psp.pszTitle);
1056 maya 3227 }
1057    
1058     // CLogPropPageDlg ���b�Z�[�W �n���h��
1059    
1060 yutakapon 5171 #define LOG_ROTATE_SIZETYPE_NUM 3
1061 zmatsuo 7525 static const char *LogRotateSizeType[] = {
1062 yutakapon 5171 "Byte", "KB", "MB"
1063     };
1064    
1065 zmatsuo 7525 static const char *GetLogRotateSizeType(int val)
1066 yutakapon 5171 {
1067     if (val >= LOG_ROTATE_SIZETYPE_NUM)
1068     val = 0;
1069    
1070     return LogRotateSizeType[val];
1071     }
1072    
1073 zmatsuo 7525 void CLogPropPageDlg::OnInitDialog()
1074 maya 3227 {
1075 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
1076 maya 3227
1077 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
1078     { IDC_VIEWLOG_LABEL, "DLG_TAB_LOG_EDITOR" },
1079     { IDC_DEFAULTNAME_LABEL, "DLG_TAB_LOG_FILENAME" },
1080     { IDC_DEFAULTPATH_LABEL, "DLG_TAB_LOG_FILEPATH" },
1081     { IDC_AUTOSTART, "DLG_TAB_LOG_AUTOSTART" },
1082 yutakapon 5171 // Log rotate
1083 zmatsuo 7525 { IDC_LOG_ROTATE, "DLG_TAB_LOG_ROTATE" },
1084     { IDC_ROTATE_SIZE_TEXT, "DLG_TAB_LOG_ROTATE_SIZE_TEXT" },
1085     { IDC_ROTATE_STEP_TEXT, "DLG_TAB_LOG_ROTATESTEP" },
1086 yutakapon 5613 // Log options
1087 zmatsuo 7525 // FIXME: ���b�Z�[�W�J�^���O�����������O�I�v�V���������������p�������A�A�N�Z�����[�^�L�[���d�������������������B
1088     { IDC_LOG_OPTION_GROUP, "DLG_FOPT" },
1089     { IDC_OPT_BINARY, "DLG_FOPT_BINARY" },
1090     { IDC_OPT_APPEND, "DLG_FOPT_APPEND" },
1091     { IDC_OPT_PLAINTEXT, "DLG_FOPT_PLAIN" },
1092     { IDC_OPT_HIDEDLG, "DLG_FOPT_HIDEDIALOG" },
1093     { IDC_OPT_INCBUF, "DLG_FOPT_ALLBUFFINFIRST" },
1094     { IDC_OPT_TIMESTAMP, "DLG_FOPT_TIMESTAMP" },
1095     };
1096     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
1097 maya 3227
1098 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1099     get_lang_msgT("DLG_FOPT_TIMESTAMP_LOCAL", UIMsg, _countof(UIMsg), _T("Local Time"), ts.UILanguageFile);
1100     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1101     get_lang_msgT("DLG_FOPT_TIMESTAMP_UTC", UIMsg, _countof(UIMsg), _T("UTC"), ts.UILanguageFile);
1102     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1103     get_lang_msgT("DLG_FOPT_TIMESTAMP_ELAPSED_LOGGING", UIMsg, _countof(UIMsg), _T("Elapsed Time (Logging)"), ts.UILanguageFile);
1104     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1105     get_lang_msgT("DLG_FOPT_TIMESTAMP_ELAPSED_CONNECTION", UIMsg, _countof(UIMsg), _T("Elapsed Time (Connection)"), ts.UILanguageFile);
1106     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1107 maya 3227
1108 yutakapon 5171
1109 maya 3227 // Viewlog Editor path (2005.1.29 yutaka)
1110 zmatsuo 7525 SetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1111 maya 3227
1112     // Log Default File Name (2006.8.28 maya)
1113 zmatsuo 7525 SetDlgItemTextA(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1114 maya 3227
1115     // Log Default File Path (2007.5.30 maya)
1116 zmatsuo 7525 SetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1117 maya 3227
1118     /* Auto start logging (2007.5.31 maya) */
1119 zmatsuo 7525 SetCheck(IDC_AUTOSTART, ts.LogAutoStart);
1120 maya 3227
1121 yutakapon 5171 // Log rotate
1122 zmatsuo 7525 SetCheck(IDC_LOG_ROTATE, ts.LogRotate != ROTATE_NONE);
1123 yutakapon 5171
1124 zmatsuo 7525 for (int i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1125     SendDlgItemMessageA(IDC_ROTATE_SIZE_TYPE, CB_ADDSTRING, 0, (LPARAM)LogRotateSizeType[i]);
1126 yutakapon 5171 }
1127 zmatsuo 7525 int TmpLogRotateSize = ts.LogRotateSize;
1128     for (int i = 0 ; i < ts.LogRotateSizeType ; i++)
1129 maya 5762 TmpLogRotateSize /= 1024;
1130     SetDlgItemInt(IDC_ROTATE_SIZE, TmpLogRotateSize, FALSE);
1131 zmatsuo 7525 SendDlgItemMessageA(IDC_ROTATE_SIZE_TYPE, CB_SELECTSTRING, -1, (LPARAM)GetLogRotateSizeType(ts.LogRotateSizeType));
1132 yutakapon 5171 SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1133     if (ts.LogRotate == ROTATE_NONE) {
1134 zmatsuo 7525 EnableDlgItem(IDC_ROTATE_SIZE_TEXT, FALSE);
1135     EnableDlgItem(IDC_ROTATE_SIZE, FALSE);
1136     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, FALSE);
1137     EnableDlgItem(IDC_ROTATE_STEP_TEXT, FALSE);
1138     EnableDlgItem(IDC_ROTATE_STEP, FALSE);
1139 yutakapon 5171 } else {
1140 zmatsuo 7525 EnableDlgItem(IDC_ROTATE_SIZE_TEXT, TRUE);
1141     EnableDlgItem(IDC_ROTATE_SIZE, TRUE);
1142     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, TRUE);
1143     EnableDlgItem(IDC_ROTATE_STEP_TEXT, TRUE);
1144     EnableDlgItem(IDC_ROTATE_STEP, TRUE);
1145 yutakapon 5171 }
1146    
1147 yutakapon 5613 // Log options
1148 zmatsuo 7525 SetCheck(IDC_OPT_BINARY, ts.LogBinary != 0);
1149 yutakapon 5613 if (ts.LogBinary) {
1150 zmatsuo 7525 EnableDlgItem(IDC_OPT_PLAINTEXT, FALSE);
1151     EnableDlgItem(IDC_OPT_TIMESTAMP, FALSE);
1152 yutakapon 5613 } else {
1153 zmatsuo 7525 EnableDlgItem(IDC_OPT_PLAINTEXT, TRUE);
1154     EnableDlgItem(IDC_OPT_TIMESTAMP, TRUE);
1155 yutakapon 5613 }
1156 zmatsuo 7525 SetCheck(IDC_OPT_APPEND, ts.Append != 0);
1157     SetCheck(IDC_OPT_PLAINTEXT, ts.LogTypePlainText != 0);
1158     SetCheck(IDC_OPT_HIDEDLG, ts.LogHideDialog != 0);
1159     SetCheck(IDC_OPT_INCBUF, ts.LogAllBuffIncludedInFirst != 0);
1160     SetCheck(IDC_OPT_TIMESTAMP, ts.LogTimestamp != 0);
1161 yutakapon 5171
1162 zmatsuo 7525 SetCurSel(IDC_OPT_TIMESTAMP_TYPE, ts.LogTimestampType);
1163 doda 6956 if (ts.LogBinary || !ts.LogTimestamp) {
1164 zmatsuo 7525 EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1165 doda 6956 }
1166     else {
1167 zmatsuo 7525 EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
1168 doda 6956 }
1169     /*
1170     switch (ts.LogTimestampType) {
1171     case CSF_CBRW:
1172     cmb->SetCurSel(3);
1173     break;
1174     case CSF_CBREAD:
1175     cmb->SetCurSel(2);
1176     break;
1177     case CSF_CBWRITE:
1178     cmb->SetCurSel(1);
1179     break;
1180     default: // off
1181     cmb->SetCurSel(0);
1182     break;
1183     }
1184     */
1185 yutakapon 5613
1186 maya 3227 // �_�C�A���O���t�H�[�J�X��������
1187     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1188     }
1189    
1190     BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1191     {
1192     char uimsg[MAX_UIMSG];
1193    
1194     switch (wParam) {
1195     case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1196     {
1197 zmatsuo 7525 OPENFILENAMEA ofn;
1198 maya 3227
1199     ZeroMemory(&ofn, sizeof(ofn));
1200 zmatsuo 7525 ofn.lStructSize = get_OPENFILENAME_SIZEA();
1201 maya 3227 ofn.hwndOwner = GetSafeHwnd();
1202     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1203     "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1204     ofn.lpstrFilter = ts.UIMsg;
1205     ofn.lpstrFile = ts.ViewlogEditor;
1206     ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1207     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1208     "Choose a executing file with launching logging file", ts.UILanguageFile);
1209     ofn.lpstrTitle = uimsg;
1210 maya 7775 ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
1211 zmatsuo 7525 if (GetOpenFileNameA(&ofn) != 0) {
1212     SetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1213 maya 3227 }
1214     }
1215     return TRUE;
1216    
1217     case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1218     // ���O�f�B���N�g�����I���_�C�A���O
1219     get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1220     "Select log folder", ts.UILanguageFile);
1221 zmatsuo 7938 {
1222     char buf[MAX_PATH];
1223     char buf2[MAX_PATH];
1224     GetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, buf, sizeof(buf));
1225     if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1226     SetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, buf2);
1227     }
1228 maya 5778 }
1229 maya 3227
1230     return TRUE;
1231 yutakapon 5171
1232     case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1233     {
1234 zmatsuo 7525 if (GetCheck(IDC_LOG_ROTATE)) {
1235     EnableDlgItem(IDC_ROTATE_SIZE_TEXT, TRUE);
1236     EnableDlgItem(IDC_ROTATE_SIZE, TRUE);
1237     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, TRUE);
1238     EnableDlgItem(IDC_ROTATE_STEP_TEXT, TRUE);
1239     EnableDlgItem(IDC_ROTATE_STEP, TRUE);
1240 yutakapon 5171 } else {
1241 zmatsuo 7525 EnableDlgItem(IDC_ROTATE_SIZE_TEXT, FALSE);
1242     EnableDlgItem(IDC_ROTATE_SIZE, FALSE);
1243     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, FALSE);
1244     EnableDlgItem(IDC_ROTATE_STEP_TEXT, FALSE);
1245     EnableDlgItem(IDC_ROTATE_STEP, FALSE);
1246 doda 6435 }
1247 yutakapon 5171
1248     }
1249     return TRUE;
1250 yutakapon 5613
1251     case IDC_OPT_BINARY | (BN_CLICKED << 16):
1252     {
1253 zmatsuo 7525 if (GetCheck(IDC_OPT_BINARY)) {
1254     EnableDlgItem(IDC_OPT_PLAINTEXT, FALSE);
1255     EnableDlgItem(IDC_OPT_TIMESTAMP, FALSE);
1256     EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1257 yutakapon 5613 } else {
1258 zmatsuo 7525 EnableDlgItem(IDC_OPT_PLAINTEXT, TRUE);
1259     EnableDlgItem(IDC_OPT_TIMESTAMP, TRUE);
1260 doda 6956
1261 zmatsuo 7525 if (GetCheck(IDC_OPT_TIMESTAMP)) {
1262     EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
1263 doda 6956 }
1264 yutakapon 5613 }
1265     }
1266     return TRUE;
1267 doda 6956
1268     case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1269     {
1270 zmatsuo 7525 if (GetCheck(IDC_OPT_TIMESTAMP)) {
1271     EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
1272 doda 6956 } else {
1273 zmatsuo 7525 EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1274 doda 6956 }
1275     }
1276     return TRUE;
1277 maya 3227 }
1278    
1279 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
1280 maya 3227 }
1281    
1282     void CLogPropPageDlg::OnOK()
1283     {
1284     char buf[80], buf2[80];
1285     time_t time_local;
1286     struct tm *tm_local;
1287 zmatsuo 7525 TCHAR uimsg[MAX_UIMSG];
1288     TCHAR uimsg2[MAX_UIMSG];
1289 maya 3227
1290     // Viewlog Editor path (2005.1.29 yutaka)
1291 zmatsuo 7938 GetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, _countof(ts.ViewlogEditor));
1292 maya 3227
1293     // Log Default File Name (2006.8.28 maya)
1294 zmatsuo 7525 GetDlgItemTextA(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1295 maya 3227 if (isInvalidStrftimeChar(buf)) {
1296 zmatsuo 7525 get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1297     get_lang_msgT("MSG_LOGFILE_INVALID_CHAR_ERROR", uimsg2, _countof(uimsg2),
1298     _T("Invalid character is included in log file name."), ts.UILanguageFile);
1299     MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1300 maya 3227 return;
1301     }
1302 zmatsuo 7525
1303 maya 3227 // ��������������
1304     time(&time_local);
1305     tm_local = localtime(&time_local);
1306     // ����������������
1307     if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1308 zmatsuo 7525 get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1309     get_lang_msgT("MSG_LOGFILE_TOOLONG_ERROR", uimsg2, _countof(uimsg2),
1310     _T("The log file name is too long."), ts.UILanguageFile);
1311     MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1312 maya 3227 return;
1313     }
1314     if (isInvalidFileNameChar(buf2)) {
1315 zmatsuo 7525 get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1316     get_lang_msgT("MSG_LOGFILE_INVALID_CHAR_ERROR", uimsg2, _countof(uimsg2),
1317     _T("Invalid character is included in log file name."), ts.UILanguageFile);
1318     MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1319 maya 3227 return;
1320     }
1321     strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1322    
1323     // Log Default File Path (2007.5.30 maya)
1324 zmatsuo 7938 GetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, _countof(ts.LogDefaultPath));
1325 maya 3227
1326     /* Auto start logging (2007.5.31 maya) */
1327 zmatsuo 7525 ts.LogAutoStart = GetCheck(IDC_AUTOSTART);
1328 yutakapon 5171
1329     /* Log Rotate */
1330 zmatsuo 7525 if (GetCheck(IDC_LOG_ROTATE)) { /* on */
1331 yutakapon 5171 ts.LogRotate = ROTATE_SIZE;
1332 zmatsuo 7938 GetDlgItemTextA(IDC_ROTATE_SIZE_TYPE, buf, _countof(buf));
1333 zmatsuo 7525 ts.LogRotateSizeType = 0;
1334     for (int i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1335     if (strcmp(buf, LogRotateSizeType[i]) == 0) {
1336     ts.LogRotateSizeType = i;
1337 yutakapon 5171 break;
1338 zmatsuo 7525 }
1339 yutakapon 5171 }
1340     ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1341 zmatsuo 7525 for (int i = 0 ; i < ts.LogRotateSizeType ; i++)
1342 yutakapon 5171 ts.LogRotateSize *= 1024;
1343    
1344     ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1345    
1346     } else { /* off */
1347     ts.LogRotate = ROTATE_NONE;
1348     /* �c���������o�[�����}�I���������c���B*/
1349     }
1350    
1351 doda 6955 // Log Options
1352 zmatsuo 7525 if (GetCheck(IDC_OPT_BINARY)) {
1353 doda 6955 ts.LogBinary = 1;
1354     }
1355     else {
1356     ts.LogBinary = 0;
1357     }
1358    
1359 zmatsuo 7525 if (GetCheck(IDC_OPT_APPEND)) {
1360 doda 6955 ts.Append = 1;
1361     }
1362     else {
1363     ts.Append = 0;
1364     }
1365    
1366 zmatsuo 7525 if (GetCheck(IDC_OPT_PLAINTEXT)) {
1367 doda 6955 ts.LogTypePlainText = 1;
1368     }
1369     else {
1370     ts.LogTypePlainText = 0;
1371     }
1372    
1373 zmatsuo 7525 if (GetCheck(IDC_OPT_HIDEDLG)) {
1374 doda 6955 ts.LogHideDialog = 1;
1375     }
1376     else {
1377     ts.LogHideDialog = 0;
1378     }
1379    
1380 zmatsuo 7525 if (GetCheck(IDC_OPT_INCBUF)) {
1381 doda 6955 ts.LogAllBuffIncludedInFirst = 1;
1382     }
1383     else {
1384     ts.LogAllBuffIncludedInFirst = 0;
1385     }
1386 doda 6956
1387 zmatsuo 7525 if (GetCheck(IDC_OPT_TIMESTAMP)) {
1388 doda 6956 ts.LogTimestamp = 1;
1389     }
1390     else {
1391     ts.LogTimestamp = 0;
1392     }
1393    
1394 zmatsuo 7525 ts.LogTimestampType = GetCurSel(IDC_OPT_TIMESTAMP_TYPE);
1395 maya 3227 }
1396    
1397 zmatsuo 7525 /////////////////////////////
1398 maya 3227
1399     // CCygwinPropPageDlg �_�C�A���O
1400    
1401 zmatsuo 7525 CCygwinPropPageDlg::CCygwinPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
1402     : TTCPropertyPage(inst, CCygwinPropPageDlg::IDD, sheet)
1403 maya 3227 {
1404 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1405     get_lang_msgT("DLG_TABSHEET_TITLE_CYGWIN", UIMsg, _countof(UIMsg),
1406     _T("Cygwin"), ts.UILanguageFile);
1407     m_psp.pszTitle = _tcsdup(UIMsg);
1408     m_psp.dwFlags |= PSP_USETITLE;
1409 maya 3227 }
1410    
1411     CCygwinPropPageDlg::~CCygwinPropPageDlg()
1412     {
1413 zmatsuo 7525 free((void *)m_psp.pszTitle);
1414 maya 3227 }
1415    
1416     // CCygwinPropPageDlg ���b�Z�[�W �n���h��
1417    
1418 zmatsuo 7525 void CCygwinPropPageDlg::OnInitDialog()
1419 maya 3227 {
1420 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
1421 maya 3227
1422 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
1423     { IDC_CYGWIN_PATH_LABEL, "DLG_TAB_CYGWIN_PATH" }
1424     };
1425     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
1426 maya 3227
1427 zmatsuo 7525 memcpy(&settings, &ts.CygtermSettings, sizeof(cygterm_t));
1428 maya 3227
1429 zmatsuo 7525 SetDlgItemTextA(IDC_TERM_EDIT, settings.term);
1430     SetDlgItemTextA(IDC_TERM_TYPE, settings.term_type);
1431     SetDlgItemTextA(IDC_PORT_START, settings.port_start);
1432     SetDlgItemTextA(IDC_PORT_RANGE, settings.port_range);
1433     SetDlgItemTextA(IDC_SHELL, settings.shell);
1434     SetDlgItemTextA(IDC_ENV1, settings.env1);
1435     SetDlgItemTextA(IDC_ENV2, settings.env2);
1436 maya 3227
1437 zmatsuo 7525 SetCheck(IDC_LOGIN_SHELL, settings.login_shell);
1438     SetCheck(IDC_HOME_CHDIR, settings.home_chdir);
1439     SetCheck(IDC_AGENT_PROXY, settings.agent_proxy);
1440 maya 3227
1441     // Cygwin install path
1442 zmatsuo 7525 SetDlgItemTextA(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1443 maya 3227
1444     // �_�C�A���O���t�H�[�J�X��������
1445     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1446     }
1447    
1448     BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1449     {
1450 maya 5778 char buf[MAX_PATH], buf2[MAX_PATH];
1451    
1452 maya 3227 switch (wParam) {
1453     case IDC_SELECT_FILE | (BN_CLICKED << 16):
1454     // Cygwin install �f�B���N�g�����I���_�C�A���O
1455     get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1456     "Select Cygwin directory", ts.UILanguageFile);
1457 zmatsuo 7525 GetDlgItemTextA(IDC_CYGWIN_PATH, buf, sizeof(buf));
1458 maya 5778 if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1459 zmatsuo 7525 SetDlgItemTextA(IDC_CYGWIN_PATH, buf2);
1460 maya 5778 }
1461 maya 3227 return TRUE;
1462     }
1463    
1464 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
1465 maya 3227 }
1466    
1467     void CCygwinPropPageDlg::OnOK()
1468     {
1469     // writing to CygTerm config file
1470 zmatsuo 7525 GetDlgItemTextA(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1471     GetDlgItemTextA(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1472     GetDlgItemTextA(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1473     GetDlgItemTextA(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1474     GetDlgItemTextA(IDC_SHELL, settings.shell, sizeof(settings.shell));
1475     GetDlgItemTextA(IDC_ENV1, settings.env1, sizeof(settings.env1));
1476     GetDlgItemTextA(IDC_ENV2, settings.env2, sizeof(settings.env2));
1477 maya 3227
1478 zmatsuo 7525 settings.login_shell = GetCheck(IDC_LOGIN_SHELL);
1479     settings.home_chdir = GetCheck(IDC_HOME_CHDIR);
1480     settings.agent_proxy = GetCheck(IDC_AGENT_PROXY);
1481    
1482 yutakapon 6119 memcpy(&ts.CygtermSettings, &settings, sizeof(cygterm_t));
1483 maya 3227
1484 yutakapon 6119 // �������������������t���O�������������B
1485     ts.CygtermSettings.update_flag = TRUE;
1486 maya 3227
1487     // Cygwin install path
1488 zmatsuo 7525 GetDlgItemTextA(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1489 maya 3227 }
1490    
1491     // CAddSettingPropSheetDlg
1492 zmatsuo 7525 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(
1493     HINSTANCE hInstance, LPCTSTR pszCaption, HWND hParentWnd) :
1494     TTCPropertySheet(hInstance, pszCaption, hParentWnd)
1495 maya 3227 {
1496 zmatsuo 7525 m_GeneralPage = new CGeneralPropPageDlg(hInstance, this);
1497     m_SequencePage = new CSequencePropPageDlg(hInstance, this);
1498     m_CopypastePage = new CCopypastePropPageDlg(hInstance, this);
1499     m_VisualPage = new CVisualPropPageDlg(hInstance, this);
1500     m_LogPage = new CLogPropPageDlg(hInstance, this);
1501     m_CygwinPage = new CCygwinPropPageDlg(hInstance, this);
1502 zmatsuo 7818
1503     hPsp[0] = m_GeneralPage->CreatePropertySheetPage();
1504     hPsp[1] = m_SequencePage->CreatePropertySheetPage();
1505     hPsp[2] = m_CopypastePage->CreatePropertySheetPage();
1506     hPsp[3] = m_VisualPage->CreatePropertySheetPage();
1507     hPsp[4] = m_LogPage->CreatePropertySheetPage();
1508     hPsp[5] = m_CygwinPage->CreatePropertySheetPage();
1509 zmatsuo 7525 m_psh.nPages = 6;
1510     m_psh.phpage = hPsp;
1511 maya 3227
1512 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1513     get_lang_msgT("DLG_TABSHEET_TITLE", UIMsg, _countof(UIMsg),
1514     pszCaption, ts.UILanguageFile);
1515     m_psh.pszCaption = _tcsdup(UIMsg);
1516 maya 3227 }
1517    
1518     CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1519     {
1520 zmatsuo 7525 free((void*)m_psh.pszCaption);
1521     delete m_GeneralPage;
1522     delete m_SequencePage;
1523     delete m_CopypastePage;
1524     delete m_VisualPage;
1525     delete m_LogPage;
1526     delete m_CygwinPage;
1527 maya 3227 }
1528    
1529 zmatsuo 7592 void CAddSettingPropSheetDlg::OnInitDialog()
1530     {
1531     TTCPropertySheet::OnInitDialog();
1532     CenterWindow(m_hWnd, m_hParentWnd);
1533     }

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