Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /branches/ttcomtester/teraterm/teraterm/addsetting.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7940 - (hide annotations) (download) (as text)
Sun Aug 11 11:29:52 2019 UTC (4 years, 8 months ago) by zmatsuo
Original Path: trunk/teraterm/teraterm/addsetting.cpp
File MIME type: text/x-c++src
File size: 51187 byte(s)
SelectOnActivateをGUIから設定できるようにした
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 zmatsuo 7940 { IDC_PASTEDELAY_LABEL2, "DLG_TAB_COPYPASTE_PASTEDELAY2" },
431     { IDC_SELECT_ON_ACTIVATE, "DLG_TAB_COPYPASTE_SELECT_ON_ACTIVATE" }
432 zmatsuo 7525 };
433     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
434 maya 3227
435     // (1)Enable continued-line copy
436 zmatsuo 7525 SetCheck(IDC_LINECOPY, ts.EnableContinuedLineCopy);
437 maya 3227
438     // (2)DisablePasteMouseRButton
439 doda 6594 if (ts.PasteFlag & CPF_DISABLE_RBUTTON) {
440 zmatsuo 7525 SetCheck(IDC_DISABLE_PASTE_RBUTTON, BST_CHECKED);
441     EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON, FALSE);
442 maya 3227 } else {
443 zmatsuo 7525 SetCheck(IDC_DISABLE_PASTE_RBUTTON, BST_UNCHECKED);
444     EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON, TRUE);
445 maya 3227 }
446    
447     // (3)ConfirmPasteMouseRButton
448 zmatsuo 7525 SetCheck(IDC_CONFIRM_PASTE_RBUTTON, (ts.PasteFlag & CPF_CONFIRM_RBUTTON)?BST_CHECKED:BST_UNCHECKED);
449 maya 3227
450 doda 3594 // (4)DisablePasteMouseMButton
451 zmatsuo 7525 SetCheck(IDC_DISABLE_PASTE_MBUTTON, (ts.PasteFlag & CPF_DISABLE_MBUTTON)?BST_CHECKED:BST_UNCHECKED);
452 doda 3594
453     // (5)SelectOnlyByLButton
454 zmatsuo 7525 SetCheck(IDC_SELECT_LBUTTON, ts.SelectOnlyByLButton);
455 maya 3227
456 doda 6418 // (6)TrimTrailingNLonPaste
457 zmatsuo 7525 SetCheck(IDC_TRIMNLCHAR, (ts.PasteFlag & CPF_TRIM_TRAILING_NL)?BST_CHECKED:BST_UNCHECKED);
458 doda 6418
459 doda 6595 // (7)NormalizeLineBreak
460 zmatsuo 7525 SetCheck(IDC_NORMALIZE_LINEBREAK, (ts.PasteFlag & CPF_NORMALIZE_LINEBREAK)?BST_CHECKED:BST_UNCHECKED);
461 doda 6595
462     // (8)ConfirmChangePaste
463 zmatsuo 7525 SetCheck(IDC_CONFIRM_CHANGE_PASTE, (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE)?BST_CHECKED:BST_UNCHECKED);
464 maya 3227
465 yutakapon 3558 // �t�@�C���p�X
466 zmatsuo 7525 SetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
467 doda 6594 if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) {
468 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_STRING_FILE, TRUE);
469     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, TRUE);
470 yutakapon 3558 } else {
471 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_STRING_FILE, FALSE);
472     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, FALSE);
473 yutakapon 3558 }
474    
475 doda 6595 // (9)delimiter characters
476 zmatsuo 7525 SetDlgItemTextA(IDC_DELIM_LIST, ts.DelimList);
477 maya 3227
478 doda 6595 // (10)PasteDelayPerLine
479 zmatsuo 7525 char buf[64];
480 maya 3306 _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);
481 zmatsuo 7525 SetDlgItemNum(IDC_PASTEDELAY_EDIT, ts.PasteDelayPerLine);
482 maya 3227
483 zmatsuo 7940 // (11) SelectOnActivate
484     SetCheck(IDC_SELECT_ON_ACTIVATE, ts.SelOnActive ? BST_CHECKED : BST_UNCHECKED);
485    
486 maya 3227 // �_�C�A���O���t�H�[�J�X��������
487     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));
488     }
489    
490     BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
491     {
492 yutakapon 3558 char uimsg[MAX_UIMSG];
493 maya 3227
494     switch (wParam) {
495     case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):
496 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON,
497     GetCheck(IDC_DISABLE_PASTE_RBUTTON) ? FALSE : TRUE);
498 maya 3227 return TRUE;
499 yutakapon 3558
500     case IDC_CONFIRM_CHANGE_PASTE | (BN_CLICKED << 16):
501 zmatsuo 7525 if (GetCheck(IDC_CONFIRM_CHANGE_PASTE)) {
502     EnableDlgItem(IDC_CONFIRM_STRING_FILE, TRUE);
503     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, TRUE);
504 yutakapon 3558 } else {
505 zmatsuo 7525 EnableDlgItem(IDC_CONFIRM_STRING_FILE, FALSE);
506     EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, FALSE);
507 yutakapon 3558 }
508     return TRUE;
509    
510     case IDC_CONFIRM_STRING_FILE_PATH | (BN_CLICKED << 16):
511     {
512 zmatsuo 7525 OPENFILENAMEA ofn;
513 yutakapon 3558
514 zmatsuo 7525 memset(&ofn, 0, sizeof(ofn));
515     ofn.lStructSize = get_OPENFILENAME_SIZEA();
516 yutakapon 3558 ofn.hwndOwner = GetSafeHwnd();
517     get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
518     "txt(*.txt)\\0*.txt\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
519     ofn.lpstrFilter = ts.UIMsg;
520     ofn.lpstrFile = ts.ConfirmChangePasteStringFile;
521     ofn.nMaxFile = sizeof(ts.ConfirmChangePasteStringFile);
522     get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_TITLE", uimsg, sizeof(uimsg),
523     "Choose a file including strings for ConfirmChangePaste", ts.UILanguageFile);
524     ofn.lpstrTitle = uimsg;
525 maya 7775 ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
526 zmatsuo 7525 if (GetOpenFileNameA(&ofn) != 0) {
527     SetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
528 yutakapon 3558 }
529     }
530     return TRUE;
531 maya 3227 }
532    
533 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
534 maya 3227 }
535    
536     void CCopypastePropPageDlg::OnOK()
537     {
538 maya 3306 char buf[64];
539     int val;
540 maya 3227
541     // (1)
542 zmatsuo 7525 ts.EnableContinuedLineCopy = GetCheck(IDC_LINECOPY);
543 maya 3227
544     // (2)
545 zmatsuo 7525 if (GetCheck(IDC_DISABLE_PASTE_RBUTTON)) {
546 doda 6594 ts.PasteFlag |= CPF_DISABLE_RBUTTON;
547     }
548     else {
549     ts.PasteFlag &= ~CPF_DISABLE_RBUTTON;
550     }
551 maya 3227
552     // (3)
553 zmatsuo 7525 if (GetCheck(IDC_CONFIRM_PASTE_RBUTTON)) {
554 doda 6594 ts.PasteFlag |= CPF_CONFIRM_RBUTTON;
555     }
556     else {
557     ts.PasteFlag &= ~CPF_CONFIRM_RBUTTON;
558     }
559 maya 3227
560     // (4)
561 zmatsuo 7525 if (GetCheck(IDC_DISABLE_PASTE_MBUTTON)) {
562 doda 6594 ts.PasteFlag |= CPF_DISABLE_MBUTTON;
563     }
564     else {
565     ts.PasteFlag &= ~CPF_DISABLE_MBUTTON;
566     }
567 doda 3594
568     // (5)
569 zmatsuo 7525 ts.SelectOnlyByLButton = GetCheck(IDC_SELECT_LBUTTON);
570 maya 3227
571 doda 6418 // (6)
572 zmatsuo 7525 if (GetCheck(IDC_TRIMNLCHAR)) {
573 doda 6594 ts.PasteFlag |= CPF_TRIM_TRAILING_NL;
574     }
575     else {
576     ts.PasteFlag &= ~CPF_TRIM_TRAILING_NL;
577     }
578 doda 6418
579 doda 6595 // (7)
580 zmatsuo 7525 if (GetCheck(IDC_NORMALIZE_LINEBREAK)) {
581 doda 6595 ts.PasteFlag |= CPF_NORMALIZE_LINEBREAK;
582     }
583     else {
584     ts.PasteFlag &= ~CPF_NORMALIZE_LINEBREAK;
585     }
586    
587     // (8)IDC_CONFIRM_CHANGE_PASTE
588 zmatsuo 7525 if (GetCheck(IDC_CONFIRM_CHANGE_PASTE)) {
589 doda 6594 ts.PasteFlag |= CPF_CONFIRM_CHANGEPASTE;
590     }
591     else {
592     ts.PasteFlag &= ~CPF_CONFIRM_CHANGEPASTE;
593     }
594 zmatsuo 7525 GetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
595 maya 3227
596 doda 6595 // (9)
597 zmatsuo 7525 GetDlgItemTextA(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
598 maya 3306
599 doda 6595 // (10)
600 zmatsuo 7525 GetDlgItemTextA(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));
601 maya 3306 val = atoi(buf);
602 zmatsuo 7525 ts.PasteDelayPerLine =
603     (val < 0) ? 0 :
604     (val > 5000) ? 5000 : val;
605 zmatsuo 7940
606     // (11) SelectOnActivate
607     ts.SelOnActive = (GetCheck(IDC_SELECT_ON_ACTIVATE) == BST_CHECKED);
608 maya 3227 }
609    
610    
611     // CVisualPropPageDlg �_�C�A���O
612    
613 zmatsuo 7525 CVisualPropPageDlg::CVisualPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
614     : TTCPropertyPage(inst, CVisualPropPageDlg::IDD, sheet)
615 maya 3227 {
616 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
617     get_lang_msgT("DLG_TABSHEET_TITLE_VISUAL", UIMsg, _countof(UIMsg),
618     _T("Visual"), ts.UILanguageFile);
619     m_psp.pszTitle = _tcsdup(UIMsg);
620     m_psp.dwFlags |= PSP_USETITLE;
621 maya 3227 }
622    
623     CVisualPropPageDlg::~CVisualPropPageDlg()
624     {
625 zmatsuo 7525 free((void *)m_psp.pszTitle);
626 maya 3227 }
627    
628     // CVisualPropPageDlg ���b�Z�[�W �n���h��
629    
630 zmatsuo 7525 void CVisualPropPageDlg::OnInitDialog()
631 maya 3227 {
632     char buf[MAXPATHLEN];
633    
634 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
635 maya 3227
636 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
637     { IDC_ALPHABLEND, "DLG_TAB_VISUAL_ALPHA" },
638     { IDC_ALPHA_BLEND_ACTIVE_LABEL, "DLG_TAB_VISUAL_ALPHA_ACTIVE_LABEL" },
639     { IDC_ALPHA_BLEND_INACTIVE_LABEL, "DLG_TAB_VISUAL_ALPHA_INACTIVE_LABEL" },
640     { IDC_ETERM_LOOKFEEL, "DLG_TAB_VISUAL_ETERM" },
641     { IDC_BGIMG_CHECK, "DLG_TAB_VISUAL_BGIMG" },
642     { IDC_BGIMG_BRIGHTNESS, "DLG_TAB_VISUAL_BGIMG_BRIGHTNESS" },
643     { IDC_MOUSE, "DLG_TAB_VISUAL_MOUSE" },
644     { IDC_FONT_QUALITY_LABEL, "DLG_TAB_VISUAL_FONT_QUALITY" },
645     { IDC_ANSICOLOR, "DLG_TAB_VISUAL_ANSICOLOR" },
646     { IDC_RED, "DLG_TAB_VISUAL_RED" },
647     { IDC_GREEN, "DLG_TAB_VISUAL_GREEN" },
648     { IDC_BLUE, "DLG_TAB_VISUAL_BLUE" },
649     { IDC_ENABLE_ATTR_COLOR_BOLD, "DLG_TAB_VISUAL_BOLD" },
650     { IDC_ENABLE_ATTR_COLOR_BLINK, "DLG_TAB_VISUAL_BLINK" },
651     { IDC_ENABLE_ATTR_COLOR_REVERSE, "DLG_TAB_VISUAL_REVERSE" },
652     { IDC_ENABLE_URL_COLOR, "DLG_TAB_VISUAL_URL" },
653     { IDC_ENABLE_ANSI_COLOR, "DLG_TAB_VISUAL_ANSI" },
654     { IDC_URL_UNDERLINE, "DLG_TAB_VISUAL_URLUL" },
655     { IDC_RESTART, "DLG_TAB_VISUAL_RESTART" },
656     };
657     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
658 maya 3227
659 zmatsuo 7525 TCHAR uimsg[MAX_UIMSG];
660     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT",
661     uimsg, _countof(uimsg), _T("Default"), ts.UILanguageFile);
662     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
663     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED",
664     uimsg, _countof(uimsg), _T("Non-Antialiased"), ts.UILanguageFile);
665     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
666     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED",
667     uimsg, _countof(uimsg), _T("Antialiased"), ts.UILanguageFile);
668     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
669     get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE",
670     uimsg, _countof(uimsg), _T("ClearType"), ts.UILanguageFile);
671     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
672 maya 3227
673     // (1)AlphaBlend
674    
675 zmatsuo 7525 SetDlgItemNum(IDC_ALPHA_BLEND_ACTIVE, ts.AlphaBlendActive);
676    
677     SetDlgItemNum(IDC_ALPHA_BLEND_INACTIVE, ts.AlphaBlendInactive);
678    
679 maya 3227 // (2)[BG] BGEnable
680 zmatsuo 7525 SetCheck(IDC_ETERM_LOOKFEEL, ts.EtermLookfeel.BGEnable);
681 maya 3227
682 yutakapon 4942 // Eterm look-feel���w�i�����w���B
683 zmatsuo 7525 SetDlgItemTextA(IDC_BGIMG_EDIT, ts.BGImageFilePath);
684 yutakapon 6095
685     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.BGImgBrightness);
686 zmatsuo 7525 SetDlgItemNum(IDC_EDIT_BGIMG_BRIGHTNESS, ts.BGImgBrightness);
687 yutakapon 6095
688 yutakapon 4942 if (ts.EtermLookfeel.BGEnable) {
689 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_CHECK, TRUE);
690 yutakapon 5573
691     if (strcmp(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE) == 0) {
692 zmatsuo 7525 SetCheck(IDC_BGIMG_CHECK, BST_CHECKED);
693     EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
694     EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
695 yutakapon 6095
696 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
697     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
698 yutakapon 5573 } else {
699 zmatsuo 7525 SetCheck(IDC_BGIMG_CHECK, BST_UNCHECKED);
700     EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
701     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
702 yutakapon 6095
703 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
704     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
705 yutakapon 5573 }
706 yutakapon 4942 } else {
707 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_CHECK, FALSE);
708     EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
709     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
710 yutakapon 6095
711 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
712     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
713 yutakapon 4942 }
714    
715 maya 3227 // (3)Mouse cursor type
716 zmatsuo 7525 int sel = 0;
717     for (int i = 0 ; MouseCursor[i].name ; i++) {
718     const char *name = MouseCursor[i].name;
719     SendDlgItemMessageA(IDC_MOUSE_CURSOR, CB_ADDSTRING, i, (LPARAM)name);
720     if (strcmp(name, ts.MouseCursorName) == 0) {
721     sel = i;
722     }
723 maya 3227 }
724 zmatsuo 7525 SetCurSel(IDC_MOUSE_CURSOR, sel);
725 maya 3227
726 maya 4874 // (4)Font quality
727     switch (ts.FontQuality) {
728     case DEFAULT_QUALITY:
729 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 0);
730 maya 4874 break;
731     case NONANTIALIASED_QUALITY:
732 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 1);
733 maya 4874 break;
734     case ANTIALIASED_QUALITY:
735 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 2);
736 maya 4874 break;
737     default: // CLEARTYPE_QUALITY
738 zmatsuo 7525 SetCurSel(IDC_FONT_QUALITY, 3);
739 maya 4874 break;
740     }
741    
742     // (5)ANSI color
743 zmatsuo 7525 for (int i = 0 ; i < 16 ; i++) {
744 maya 3227 _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
745 zmatsuo 7525 SendDlgItemMessageA(IDC_ANSI_COLOR, LB_INSERTSTRING, i, (LPARAM)buf);
746 maya 3227 }
747 zmatsuo 7525 SetupRGBbox(0);
748     SendDlgItemMessage(IDC_ANSI_COLOR, LB_SETCURSEL, 0, 0);
749     ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
750 maya 3227
751 maya 4874 // (6)Bold Attr Color
752 zmatsuo 7525 SetCheck(IDC_ENABLE_ATTR_COLOR_BOLD, (ts.ColorFlag&CF_BOLDCOLOR) != 0);
753 maya 3227
754 maya 4874 // (7)Blink Attr Color
755 zmatsuo 7525 SetCheck(IDC_ENABLE_ATTR_COLOR_BLINK, (ts.ColorFlag&CF_BLINKCOLOR) != 0);
756 maya 3227
757 maya 4874 // (8)Reverse Attr Color
758 zmatsuo 7525 SetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE, (ts.ColorFlag&CF_REVERSECOLOR) != 0);
759 maya 3227
760 maya 4874 // (9)URL Color
761 zmatsuo 7525 SetCheck(IDC_ENABLE_URL_COLOR, (ts.ColorFlag&CF_URLCOLOR) != 0);
762 maya 3227
763 maya 4874 // (10)Color
764 zmatsuo 7525 SetCheck(IDC_ENABLE_ANSI_COLOR, (ts.ColorFlag&CF_ANSICOLOR) != 0);
765 maya 3227
766 maya 4874 // (11)URL Underline
767 zmatsuo 7525 SetCheck(IDC_URL_UNDERLINE, (ts.FontFlag&FF_URLUNDERLINE) != 0);
768 doda 3667
769 doda 6435 // �_�C�A���O���t�H�[�J�X��������
770 zmatsuo 7525 ::SetFocus(GetDlgItem(IDC_ALPHA_BLEND_ACTIVE));
771 maya 3227 }
772    
773     BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
774     {
775     int sel;
776    
777     switch (wParam) {
778 zmatsuo 7525 case IDC_ETERM_LOOKFEEL:
779 yutakapon 4942 // �`�F�b�N�������� Enable/Disable ���g�O�������B
780 zmatsuo 7525 if (GetCheck(IDC_ETERM_LOOKFEEL)) {
781     EnableDlgItem(IDC_BGIMG_CHECK, TRUE);
782     if (GetCheck(IDC_BGIMG_CHECK)) {
783     EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
784     EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
785 yutakapon 6095
786 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
787     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
788 yutakapon 5573 } else {
789 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
790     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
791 yutakapon 6095
792 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
793     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
794 yutakapon 5573 }
795     } else {
796 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_CHECK, FALSE);
797     EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
798     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
799 yutakapon 5573
800 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
801     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
802 yutakapon 6095
803 yutakapon 5573 // ���������������ABGThemeFile �����������B
804     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
805     // �w�i�����������������B
806 zmatsuo 7525 SetDlgItemTextT(IDC_BGIMG_EDIT, _T(""));
807 yutakapon 6095 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
808 yutakapon 5573 }
809     return TRUE;
810    
811     case IDC_BGIMG_CHECK:
812 zmatsuo 7525 if (GetCheck(IDC_BGIMG_CHECK)) {
813     EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
814     EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
815 yutakapon 5573
816 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
817     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
818 yutakapon 6095
819 yutakapon 5573 strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
820 yutakapon 4942 } else {
821 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
822     EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
823 yutakapon 5573
824 zmatsuo 7525 EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
825     EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
826 yutakapon 6095
827 yutakapon 4942 // ���������������ABGThemeFile �����������B
828     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
829 yutakapon 4945 // �w�i�����������������B
830 zmatsuo 7525 SetDlgItemTextT(IDC_BGIMG_EDIT, _T(""));
831 yutakapon 6095 SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
832 yutakapon 4942 }
833     return TRUE;
834    
835     case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
836     // �w�i�������_�C�A���O���w�������B
837     {
838 zmatsuo 7525 OPENFILENAMEA ofn;
839     char szFile[MAX_PATH];
840    
841     memset(&ofn, 0, sizeof(ofn));
842     memset(szFile, 0, sizeof(szFile));
843     ofn.lStructSize = get_OPENFILENAME_SIZEA();
844 maya 7759 ofn.hwndOwner = GetSafeHwnd();
845 maya 7765 ofn.lpstrFilter = "Image Files(*.jpg;*.jpeg;*.bmp)\0*.jpg;*.jpeg;*.bmp\0All Files(*.*)\0*.*\0";
846 zmatsuo 7525 ofn.lpstrFile = szFile;
847     ofn.nMaxFile = _countof(szFile);
848     ofn.lpstrTitle = "select image file";
849     ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
850     if (GetOpenFileNameA(&ofn) != 0) {
851     SetDlgItemTextA(IDC_BGIMG_EDIT, szFile);
852 yutakapon 4942 }
853     }
854     return TRUE;
855    
856 maya 3227 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
857 zmatsuo 7525 sel = SendDlgItemMessage(IDC_ANSI_COLOR, LB_GETCURSEL, 0, 0);
858 maya 3227 if (sel != -1) {
859 zmatsuo 7525 SetupRGBbox(sel);
860     ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
861 maya 3227 }
862     return TRUE;
863    
864     case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
865     case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
866     case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
867     {
868     BYTE r, g, b;
869 zmatsuo 7525 char buf[8];
870 maya 3227
871 zmatsuo 7525 sel = GetCurSel(IDC_ANSI_COLOR);
872 maya 3227 if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
873     return TRUE;
874     }
875    
876 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_RED, buf, sizeof(buf));
877 maya 3227 r = atoi(buf);
878    
879 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_GREEN, buf, sizeof(buf));
880 maya 3227 g = atoi(buf);
881    
882 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_BLUE, buf, sizeof(buf));
883 maya 3227 b = atoi(buf);
884    
885     ts.ANSIColor[sel] = RGB(r, g, b);
886    
887     // 255��������RGB�l�����������������A������Edit���\������ (2007.2.18 maya)
888 zmatsuo 7525 SetupRGBbox(sel);
889    
890     ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
891 maya 3227 }
892    
893     return TRUE;
894 zmatsuo 7525 }
895 maya 3227
896 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
897     }
898 maya 3227
899 zmatsuo 7525 HBRUSH CVisualPropPageDlg::OnCtlColor(HDC hDC, HWND hWnd)
900     {
901     if ( hWnd == GetDlgItem(IDC_SAMPLE_COLOR) ) {
902     BYTE r, g, b;
903     char buf[8];
904 maya 3227
905 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_RED, buf, sizeof(buf));
906     r = atoi(buf);
907 maya 3227
908 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_GREEN, buf, sizeof(buf));
909     g = atoi(buf);
910 maya 3227
911 zmatsuo 7525 GetDlgItemTextA(IDC_COLOR_BLUE, buf, sizeof(buf));
912     b = atoi(buf);
913 maya 3227
914 zmatsuo 7525 SetBkMode(hDC, TRANSPARENT);
915     SetTextColor(hDC, RGB(r, g, b) );
916 maya 3227
917 zmatsuo 7525 return (HBRUSH)GetStockObject(NULL_BRUSH);
918 maya 3227 }
919 zmatsuo 7525 return TTCPropertyPage::OnCtlColor(hDC, hWnd);
920 maya 3227 }
921    
922     void CVisualPropPageDlg::OnOK()
923     {
924     int sel;
925     char buf[MAXPATHLEN];
926     COLORREF TmpColor;
927 yutakapon 4916 int flag_changed = 0;
928 maya 3227
929     // (1)
930 zmatsuo 7525 GetDlgItemTextA(IDC_ALPHA_BLEND_ACTIVE, buf, sizeof(buf));
931 maya 3227 if (isdigit(buf[0])) {
932 zmatsuo 7390 int i = atoi(buf);
933     ts.AlphaBlendActive =
934     (i < 0) ? 0 :
935     (i > 255) ? 255 : i;
936 maya 3227 }
937 zmatsuo 7525 GetDlgItemTextA(IDC_ALPHA_BLEND_INACTIVE, buf, sizeof(buf));
938 zmatsuo 7390 if (isdigit(buf[0])) {
939     int i = atoi(buf);
940 zmatsuo 7525 ts.AlphaBlendInactive =
941 zmatsuo 7390 (i < 0) ? 0 :
942     (i > 255) ? 255 : i;
943     }
944 maya 3227
945     // (2)
946     // �O���[�o������ BGEnable �������������������A�v���O������������������
947     // ���������R�s�[���C�����������������B(2005.4.24 yutaka)
948 zmatsuo 7525 if (ts.EtermLookfeel.BGEnable != GetCheck(IDC_ETERM_LOOKFEEL)) {
949 yutakapon 4916 flag_changed = 1;
950 zmatsuo 7525 ts.EtermLookfeel.BGEnable = GetCheck(IDC_ETERM_LOOKFEEL);
951 yutakapon 4916 }
952 yutakapon 4942 if (ts.EtermLookfeel.BGEnable) {
953 zmatsuo 7525 GetDlgItemTextA(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
954 yutakapon 4945 } else {
955     strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
956 yutakapon 4942 }
957    
958 zmatsuo 7525 GetDlgItemTextA(IDC_EDIT_BGIMG_BRIGHTNESS, buf, sizeof(buf));
959 yutakapon 6095 if (isdigit(buf[0])) {
960 zmatsuo 7525 int i = atoi(buf);
961     ts.BGImgBrightness =
962     (i < 0) ? 0 :
963     (i > 255) ? 255 : i;
964 yutakapon 6095 }
965    
966 maya 3227 // (3)
967 zmatsuo 7525 sel = GetCurSel(IDC_MOUSE_CURSOR);
968 maya 3227 if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
969     strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
970     }
971    
972 maya 4874 // (4)Font quality
973 zmatsuo 7525 switch (GetCurSel(IDC_FONT_QUALITY)) {
974 maya 4874 case 0:
975     ts.FontQuality = DEFAULT_QUALITY;
976     break;
977     case 1:
978     ts.FontQuality = NONANTIALIASED_QUALITY;
979     break;
980     case 2:
981     ts.FontQuality = ANTIALIASED_QUALITY;
982     break;
983 doda 6496 case 3:
984 maya 4874 ts.FontQuality = CLEARTYPE_QUALITY;
985     break;
986 doda 6496 default: // Invalid value.
987     break;
988 maya 4874 }
989    
990     // (6) Attr Bold Color
991 zmatsuo 7525 if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_BOLD)) {
992 maya 3227 ts.ColorFlag ^= CF_BOLDCOLOR;
993     }
994    
995 maya 4874 // (7) Attr Blink Color
996 zmatsuo 7525 if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_BLINK)) {
997 maya 3227 ts.ColorFlag ^= CF_BLINKCOLOR;
998     }
999    
1000 maya 4874 // (8) Attr Reverse Color
1001 maya 3227 if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Video���[�h(DECSCNM)����������������
1002     if (ts.ColorFlag & CF_REVERSECOLOR) {
1003 zmatsuo 7525 if (!GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1004 maya 3227 TmpColor = ts.VTColor[0];
1005     ts.VTColor[0] = ts.VTReverseColor[1];
1006     ts.VTReverseColor[1] = ts.VTColor[1];
1007     ts.VTColor[1] = ts.VTReverseColor[0];
1008     ts.VTReverseColor[0] = TmpColor;
1009     ts.ColorFlag ^= CF_REVERSECOLOR;
1010     }
1011     }
1012 zmatsuo 7525 else if (GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1013 maya 3227 TmpColor = ts.VTColor[0];
1014     ts.VTColor[0] = ts.VTReverseColor[0];
1015     ts.VTReverseColor[0] = ts.VTColor[1];
1016     ts.VTColor[1] = ts.VTReverseColor[1];
1017     ts.VTReverseColor[1] = TmpColor;
1018     ts.ColorFlag ^= CF_REVERSECOLOR;
1019     }
1020     }
1021 zmatsuo 7525 else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1022 maya 3227 ts.ColorFlag ^= CF_REVERSECOLOR;
1023     }
1024    
1025 maya 4874 // (9) URL Color
1026 zmatsuo 7525 if (((ts.ColorFlag & CF_URLCOLOR) != 0) != GetCheck(IDC_ENABLE_URL_COLOR)) {
1027 maya 3227 ts.ColorFlag ^= CF_URLCOLOR;
1028     }
1029    
1030 maya 4874 // (10) Color
1031 zmatsuo 7525 if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != GetCheck(IDC_ENABLE_ANSI_COLOR)) {
1032 maya 3227 ts.ColorFlag ^= CF_ANSICOLOR;
1033     }
1034    
1035 maya 4874 // (11) URL Underline
1036 zmatsuo 7525 if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != GetCheck(IDC_URL_UNDERLINE)) {
1037 doda 3667 ts.FontFlag ^= FF_URLUNDERLINE;
1038     }
1039    
1040 yutakapon 4916 if (flag_changed) {
1041     // re-launch
1042 maya 4944 // RestartTeraTerm(GetSafeHwnd(), &ts);
1043 yutakapon 4916 }
1044 maya 3227 }
1045    
1046    
1047    
1048     // CLogPropPageDlg �_�C�A���O
1049    
1050 zmatsuo 7525 CLogPropPageDlg::CLogPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
1051     : TTCPropertyPage(inst, CLogPropPageDlg::IDD, sheet)
1052 maya 3227 {
1053 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1054     get_lang_msgT("DLG_TABSHEET_TITLE_Log", UIMsg, _countof(UIMsg),
1055     _T("Log"), ts.UILanguageFile);
1056     m_psp.pszTitle = _tcsdup(UIMsg);
1057     m_psp.dwFlags |= PSP_USETITLE;
1058 maya 3227 }
1059    
1060     CLogPropPageDlg::~CLogPropPageDlg()
1061     {
1062 zmatsuo 7525 free((void *)m_psp.pszTitle);
1063 maya 3227 }
1064    
1065     // CLogPropPageDlg ���b�Z�[�W �n���h��
1066    
1067 yutakapon 5171 #define LOG_ROTATE_SIZETYPE_NUM 3
1068 zmatsuo 7525 static const char *LogRotateSizeType[] = {
1069 yutakapon 5171 "Byte", "KB", "MB"
1070     };
1071    
1072 zmatsuo 7525 static const char *GetLogRotateSizeType(int val)
1073 yutakapon 5171 {
1074     if (val >= LOG_ROTATE_SIZETYPE_NUM)
1075     val = 0;
1076    
1077     return LogRotateSizeType[val];
1078     }
1079    
1080 zmatsuo 7525 void CLogPropPageDlg::OnInitDialog()
1081 maya 3227 {
1082 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
1083 maya 3227
1084 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
1085     { IDC_VIEWLOG_LABEL, "DLG_TAB_LOG_EDITOR" },
1086     { IDC_DEFAULTNAME_LABEL, "DLG_TAB_LOG_FILENAME" },
1087     { IDC_DEFAULTPATH_LABEL, "DLG_TAB_LOG_FILEPATH" },
1088     { IDC_AUTOSTART, "DLG_TAB_LOG_AUTOSTART" },
1089 yutakapon 5171 // Log rotate
1090 zmatsuo 7525 { IDC_LOG_ROTATE, "DLG_TAB_LOG_ROTATE" },
1091     { IDC_ROTATE_SIZE_TEXT, "DLG_TAB_LOG_ROTATE_SIZE_TEXT" },
1092     { IDC_ROTATE_STEP_TEXT, "DLG_TAB_LOG_ROTATESTEP" },
1093 yutakapon 5613 // Log options
1094 zmatsuo 7525 // FIXME: ���b�Z�[�W�J�^���O�����������O�I�v�V���������������p�������A�A�N�Z�����[�^�L�[���d�������������������B
1095     { IDC_LOG_OPTION_GROUP, "DLG_FOPT" },
1096     { IDC_OPT_BINARY, "DLG_FOPT_BINARY" },
1097     { IDC_OPT_APPEND, "DLG_FOPT_APPEND" },
1098     { IDC_OPT_PLAINTEXT, "DLG_FOPT_PLAIN" },
1099     { IDC_OPT_HIDEDLG, "DLG_FOPT_HIDEDIALOG" },
1100     { IDC_OPT_INCBUF, "DLG_FOPT_ALLBUFFINFIRST" },
1101     { IDC_OPT_TIMESTAMP, "DLG_FOPT_TIMESTAMP" },
1102     };
1103     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
1104 maya 3227
1105 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1106     get_lang_msgT("DLG_FOPT_TIMESTAMP_LOCAL", UIMsg, _countof(UIMsg), _T("Local Time"), ts.UILanguageFile);
1107     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1108     get_lang_msgT("DLG_FOPT_TIMESTAMP_UTC", UIMsg, _countof(UIMsg), _T("UTC"), ts.UILanguageFile);
1109     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1110     get_lang_msgT("DLG_FOPT_TIMESTAMP_ELAPSED_LOGGING", UIMsg, _countof(UIMsg), _T("Elapsed Time (Logging)"), ts.UILanguageFile);
1111     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1112     get_lang_msgT("DLG_FOPT_TIMESTAMP_ELAPSED_CONNECTION", UIMsg, _countof(UIMsg), _T("Elapsed Time (Connection)"), ts.UILanguageFile);
1113     SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1114 maya 3227
1115 yutakapon 5171
1116 maya 3227 // Viewlog Editor path (2005.1.29 yutaka)
1117 zmatsuo 7525 SetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1118 maya 3227
1119     // Log Default File Name (2006.8.28 maya)
1120 zmatsuo 7525 SetDlgItemTextA(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1121 maya 3227
1122     // Log Default File Path (2007.5.30 maya)
1123 zmatsuo 7525 SetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1124 maya 3227
1125     /* Auto start logging (2007.5.31 maya) */
1126 zmatsuo 7525 SetCheck(IDC_AUTOSTART, ts.LogAutoStart);
1127 maya 3227
1128 yutakapon 5171 // Log rotate
1129 zmatsuo 7525 SetCheck(IDC_LOG_ROTATE, ts.LogRotate != ROTATE_NONE);
1130 yutakapon 5171
1131 zmatsuo 7525 for (int i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1132     SendDlgItemMessageA(IDC_ROTATE_SIZE_TYPE, CB_ADDSTRING, 0, (LPARAM)LogRotateSizeType[i]);
1133 yutakapon 5171 }
1134 zmatsuo 7525 int TmpLogRotateSize = ts.LogRotateSize;
1135     for (int i = 0 ; i < ts.LogRotateSizeType ; i++)
1136 maya 5762 TmpLogRotateSize /= 1024;
1137     SetDlgItemInt(IDC_ROTATE_SIZE, TmpLogRotateSize, FALSE);
1138 zmatsuo 7525 SendDlgItemMessageA(IDC_ROTATE_SIZE_TYPE, CB_SELECTSTRING, -1, (LPARAM)GetLogRotateSizeType(ts.LogRotateSizeType));
1139 yutakapon 5171 SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1140     if (ts.LogRotate == ROTATE_NONE) {
1141 zmatsuo 7525 EnableDlgItem(IDC_ROTATE_SIZE_TEXT, FALSE);
1142     EnableDlgItem(IDC_ROTATE_SIZE, FALSE);
1143     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, FALSE);
1144     EnableDlgItem(IDC_ROTATE_STEP_TEXT, FALSE);
1145     EnableDlgItem(IDC_ROTATE_STEP, FALSE);
1146 yutakapon 5171 } else {
1147 zmatsuo 7525 EnableDlgItem(IDC_ROTATE_SIZE_TEXT, TRUE);
1148     EnableDlgItem(IDC_ROTATE_SIZE, TRUE);
1149     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, TRUE);
1150     EnableDlgItem(IDC_ROTATE_STEP_TEXT, TRUE);
1151     EnableDlgItem(IDC_ROTATE_STEP, TRUE);
1152 yutakapon 5171 }
1153    
1154 yutakapon 5613 // Log options
1155 zmatsuo 7525 SetCheck(IDC_OPT_BINARY, ts.LogBinary != 0);
1156 yutakapon 5613 if (ts.LogBinary) {
1157 zmatsuo 7525 EnableDlgItem(IDC_OPT_PLAINTEXT, FALSE);
1158     EnableDlgItem(IDC_OPT_TIMESTAMP, FALSE);
1159 yutakapon 5613 } else {
1160 zmatsuo 7525 EnableDlgItem(IDC_OPT_PLAINTEXT, TRUE);
1161     EnableDlgItem(IDC_OPT_TIMESTAMP, TRUE);
1162 yutakapon 5613 }
1163 zmatsuo 7525 SetCheck(IDC_OPT_APPEND, ts.Append != 0);
1164     SetCheck(IDC_OPT_PLAINTEXT, ts.LogTypePlainText != 0);
1165     SetCheck(IDC_OPT_HIDEDLG, ts.LogHideDialog != 0);
1166     SetCheck(IDC_OPT_INCBUF, ts.LogAllBuffIncludedInFirst != 0);
1167     SetCheck(IDC_OPT_TIMESTAMP, ts.LogTimestamp != 0);
1168 yutakapon 5171
1169 zmatsuo 7525 SetCurSel(IDC_OPT_TIMESTAMP_TYPE, ts.LogTimestampType);
1170 doda 6956 if (ts.LogBinary || !ts.LogTimestamp) {
1171 zmatsuo 7525 EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1172 doda 6956 }
1173     else {
1174 zmatsuo 7525 EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
1175 doda 6956 }
1176     /*
1177     switch (ts.LogTimestampType) {
1178     case CSF_CBRW:
1179     cmb->SetCurSel(3);
1180     break;
1181     case CSF_CBREAD:
1182     cmb->SetCurSel(2);
1183     break;
1184     case CSF_CBWRITE:
1185     cmb->SetCurSel(1);
1186     break;
1187     default: // off
1188     cmb->SetCurSel(0);
1189     break;
1190     }
1191     */
1192 yutakapon 5613
1193 maya 3227 // �_�C�A���O���t�H�[�J�X��������
1194     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1195     }
1196    
1197     BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1198     {
1199     char uimsg[MAX_UIMSG];
1200    
1201     switch (wParam) {
1202     case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1203     {
1204 zmatsuo 7525 OPENFILENAMEA ofn;
1205 maya 3227
1206     ZeroMemory(&ofn, sizeof(ofn));
1207 zmatsuo 7525 ofn.lStructSize = get_OPENFILENAME_SIZEA();
1208 maya 3227 ofn.hwndOwner = GetSafeHwnd();
1209     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1210     "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1211     ofn.lpstrFilter = ts.UIMsg;
1212     ofn.lpstrFile = ts.ViewlogEditor;
1213     ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1214     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1215     "Choose a executing file with launching logging file", ts.UILanguageFile);
1216     ofn.lpstrTitle = uimsg;
1217 maya 7775 ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
1218 zmatsuo 7525 if (GetOpenFileNameA(&ofn) != 0) {
1219     SetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1220 maya 3227 }
1221     }
1222     return TRUE;
1223    
1224     case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1225     // ���O�f�B���N�g�����I���_�C�A���O
1226     get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1227     "Select log folder", ts.UILanguageFile);
1228 zmatsuo 7938 {
1229     char buf[MAX_PATH];
1230     char buf2[MAX_PATH];
1231     GetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, buf, sizeof(buf));
1232     if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1233     SetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, buf2);
1234     }
1235 maya 5778 }
1236 maya 3227
1237     return TRUE;
1238 yutakapon 5171
1239     case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1240     {
1241 zmatsuo 7525 if (GetCheck(IDC_LOG_ROTATE)) {
1242     EnableDlgItem(IDC_ROTATE_SIZE_TEXT, TRUE);
1243     EnableDlgItem(IDC_ROTATE_SIZE, TRUE);
1244     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, TRUE);
1245     EnableDlgItem(IDC_ROTATE_STEP_TEXT, TRUE);
1246     EnableDlgItem(IDC_ROTATE_STEP, TRUE);
1247 yutakapon 5171 } else {
1248 zmatsuo 7525 EnableDlgItem(IDC_ROTATE_SIZE_TEXT, FALSE);
1249     EnableDlgItem(IDC_ROTATE_SIZE, FALSE);
1250     EnableDlgItem(IDC_ROTATE_SIZE_TYPE, FALSE);
1251     EnableDlgItem(IDC_ROTATE_STEP_TEXT, FALSE);
1252     EnableDlgItem(IDC_ROTATE_STEP, FALSE);
1253 doda 6435 }
1254 yutakapon 5171
1255     }
1256     return TRUE;
1257 yutakapon 5613
1258     case IDC_OPT_BINARY | (BN_CLICKED << 16):
1259     {
1260 zmatsuo 7525 if (GetCheck(IDC_OPT_BINARY)) {
1261     EnableDlgItem(IDC_OPT_PLAINTEXT, FALSE);
1262     EnableDlgItem(IDC_OPT_TIMESTAMP, FALSE);
1263     EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1264 yutakapon 5613 } else {
1265 zmatsuo 7525 EnableDlgItem(IDC_OPT_PLAINTEXT, TRUE);
1266     EnableDlgItem(IDC_OPT_TIMESTAMP, TRUE);
1267 doda 6956
1268 zmatsuo 7525 if (GetCheck(IDC_OPT_TIMESTAMP)) {
1269     EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
1270 doda 6956 }
1271 yutakapon 5613 }
1272     }
1273     return TRUE;
1274 doda 6956
1275     case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1276     {
1277 zmatsuo 7525 if (GetCheck(IDC_OPT_TIMESTAMP)) {
1278     EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
1279 doda 6956 } else {
1280 zmatsuo 7525 EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1281 doda 6956 }
1282     }
1283     return TRUE;
1284 maya 3227 }
1285    
1286 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
1287 maya 3227 }
1288    
1289     void CLogPropPageDlg::OnOK()
1290     {
1291     char buf[80], buf2[80];
1292     time_t time_local;
1293     struct tm *tm_local;
1294 zmatsuo 7525 TCHAR uimsg[MAX_UIMSG];
1295     TCHAR uimsg2[MAX_UIMSG];
1296 maya 3227
1297     // Viewlog Editor path (2005.1.29 yutaka)
1298 zmatsuo 7938 GetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, _countof(ts.ViewlogEditor));
1299 maya 3227
1300     // Log Default File Name (2006.8.28 maya)
1301 zmatsuo 7525 GetDlgItemTextA(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1302 maya 3227 if (isInvalidStrftimeChar(buf)) {
1303 zmatsuo 7525 get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1304     get_lang_msgT("MSG_LOGFILE_INVALID_CHAR_ERROR", uimsg2, _countof(uimsg2),
1305     _T("Invalid character is included in log file name."), ts.UILanguageFile);
1306     MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1307 maya 3227 return;
1308     }
1309 zmatsuo 7525
1310 maya 3227 // ��������������
1311     time(&time_local);
1312     tm_local = localtime(&time_local);
1313     // ����������������
1314     if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1315 zmatsuo 7525 get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1316     get_lang_msgT("MSG_LOGFILE_TOOLONG_ERROR", uimsg2, _countof(uimsg2),
1317     _T("The log file name is too long."), ts.UILanguageFile);
1318     MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1319 maya 3227 return;
1320     }
1321     if (isInvalidFileNameChar(buf2)) {
1322 zmatsuo 7525 get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1323     get_lang_msgT("MSG_LOGFILE_INVALID_CHAR_ERROR", uimsg2, _countof(uimsg2),
1324     _T("Invalid character is included in log file name."), ts.UILanguageFile);
1325     MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1326 maya 3227 return;
1327     }
1328     strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1329    
1330     // Log Default File Path (2007.5.30 maya)
1331 zmatsuo 7938 GetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, _countof(ts.LogDefaultPath));
1332 maya 3227
1333     /* Auto start logging (2007.5.31 maya) */
1334 zmatsuo 7525 ts.LogAutoStart = GetCheck(IDC_AUTOSTART);
1335 yutakapon 5171
1336     /* Log Rotate */
1337 zmatsuo 7525 if (GetCheck(IDC_LOG_ROTATE)) { /* on */
1338 yutakapon 5171 ts.LogRotate = ROTATE_SIZE;
1339 zmatsuo 7938 GetDlgItemTextA(IDC_ROTATE_SIZE_TYPE, buf, _countof(buf));
1340 zmatsuo 7525 ts.LogRotateSizeType = 0;
1341     for (int i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1342     if (strcmp(buf, LogRotateSizeType[i]) == 0) {
1343     ts.LogRotateSizeType = i;
1344 yutakapon 5171 break;
1345 zmatsuo 7525 }
1346 yutakapon 5171 }
1347     ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1348 zmatsuo 7525 for (int i = 0 ; i < ts.LogRotateSizeType ; i++)
1349 yutakapon 5171 ts.LogRotateSize *= 1024;
1350    
1351     ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1352    
1353     } else { /* off */
1354     ts.LogRotate = ROTATE_NONE;
1355     /* �c���������o�[�����}�I���������c���B*/
1356     }
1357    
1358 doda 6955 // Log Options
1359 zmatsuo 7525 if (GetCheck(IDC_OPT_BINARY)) {
1360 doda 6955 ts.LogBinary = 1;
1361     }
1362     else {
1363     ts.LogBinary = 0;
1364     }
1365    
1366 zmatsuo 7525 if (GetCheck(IDC_OPT_APPEND)) {
1367 doda 6955 ts.Append = 1;
1368     }
1369     else {
1370     ts.Append = 0;
1371     }
1372    
1373 zmatsuo 7525 if (GetCheck(IDC_OPT_PLAINTEXT)) {
1374 doda 6955 ts.LogTypePlainText = 1;
1375     }
1376     else {
1377     ts.LogTypePlainText = 0;
1378     }
1379    
1380 zmatsuo 7525 if (GetCheck(IDC_OPT_HIDEDLG)) {
1381 doda 6955 ts.LogHideDialog = 1;
1382     }
1383     else {
1384     ts.LogHideDialog = 0;
1385     }
1386    
1387 zmatsuo 7525 if (GetCheck(IDC_OPT_INCBUF)) {
1388 doda 6955 ts.LogAllBuffIncludedInFirst = 1;
1389     }
1390     else {
1391     ts.LogAllBuffIncludedInFirst = 0;
1392     }
1393 doda 6956
1394 zmatsuo 7525 if (GetCheck(IDC_OPT_TIMESTAMP)) {
1395 doda 6956 ts.LogTimestamp = 1;
1396     }
1397     else {
1398     ts.LogTimestamp = 0;
1399     }
1400    
1401 zmatsuo 7525 ts.LogTimestampType = GetCurSel(IDC_OPT_TIMESTAMP_TYPE);
1402 maya 3227 }
1403    
1404 zmatsuo 7525 /////////////////////////////
1405 maya 3227
1406     // CCygwinPropPageDlg �_�C�A���O
1407    
1408 zmatsuo 7525 CCygwinPropPageDlg::CCygwinPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
1409     : TTCPropertyPage(inst, CCygwinPropPageDlg::IDD, sheet)
1410 maya 3227 {
1411 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1412     get_lang_msgT("DLG_TABSHEET_TITLE_CYGWIN", UIMsg, _countof(UIMsg),
1413     _T("Cygwin"), ts.UILanguageFile);
1414     m_psp.pszTitle = _tcsdup(UIMsg);
1415     m_psp.dwFlags |= PSP_USETITLE;
1416 maya 3227 }
1417    
1418     CCygwinPropPageDlg::~CCygwinPropPageDlg()
1419     {
1420 zmatsuo 7525 free((void *)m_psp.pszTitle);
1421 maya 3227 }
1422    
1423     // CCygwinPropPageDlg ���b�Z�[�W �n���h��
1424    
1425 zmatsuo 7525 void CCygwinPropPageDlg::OnInitDialog()
1426 maya 3227 {
1427 zmatsuo 7525 TTCPropertyPage::OnInitDialog();
1428 maya 3227
1429 zmatsuo 7525 static const DlgTextInfo TextInfos[] = {
1430     { IDC_CYGWIN_PATH_LABEL, "DLG_TAB_CYGWIN_PATH" }
1431     };
1432     SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
1433 maya 3227
1434 zmatsuo 7525 memcpy(&settings, &ts.CygtermSettings, sizeof(cygterm_t));
1435 maya 3227
1436 zmatsuo 7525 SetDlgItemTextA(IDC_TERM_EDIT, settings.term);
1437     SetDlgItemTextA(IDC_TERM_TYPE, settings.term_type);
1438     SetDlgItemTextA(IDC_PORT_START, settings.port_start);
1439     SetDlgItemTextA(IDC_PORT_RANGE, settings.port_range);
1440     SetDlgItemTextA(IDC_SHELL, settings.shell);
1441     SetDlgItemTextA(IDC_ENV1, settings.env1);
1442     SetDlgItemTextA(IDC_ENV2, settings.env2);
1443 maya 3227
1444 zmatsuo 7525 SetCheck(IDC_LOGIN_SHELL, settings.login_shell);
1445     SetCheck(IDC_HOME_CHDIR, settings.home_chdir);
1446     SetCheck(IDC_AGENT_PROXY, settings.agent_proxy);
1447 maya 3227
1448     // Cygwin install path
1449 zmatsuo 7525 SetDlgItemTextA(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1450 maya 3227
1451     // �_�C�A���O���t�H�[�J�X��������
1452     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1453     }
1454    
1455     BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1456     {
1457 maya 5778 char buf[MAX_PATH], buf2[MAX_PATH];
1458    
1459 maya 3227 switch (wParam) {
1460     case IDC_SELECT_FILE | (BN_CLICKED << 16):
1461     // Cygwin install �f�B���N�g�����I���_�C�A���O
1462     get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1463     "Select Cygwin directory", ts.UILanguageFile);
1464 zmatsuo 7525 GetDlgItemTextA(IDC_CYGWIN_PATH, buf, sizeof(buf));
1465 maya 5778 if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1466 zmatsuo 7525 SetDlgItemTextA(IDC_CYGWIN_PATH, buf2);
1467 maya 5778 }
1468 maya 3227 return TRUE;
1469     }
1470    
1471 zmatsuo 7525 return TTCPropertyPage::OnCommand(wParam, lParam);
1472 maya 3227 }
1473    
1474     void CCygwinPropPageDlg::OnOK()
1475     {
1476     // writing to CygTerm config file
1477 zmatsuo 7525 GetDlgItemTextA(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1478     GetDlgItemTextA(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1479     GetDlgItemTextA(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1480     GetDlgItemTextA(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1481     GetDlgItemTextA(IDC_SHELL, settings.shell, sizeof(settings.shell));
1482     GetDlgItemTextA(IDC_ENV1, settings.env1, sizeof(settings.env1));
1483     GetDlgItemTextA(IDC_ENV2, settings.env2, sizeof(settings.env2));
1484 maya 3227
1485 zmatsuo 7525 settings.login_shell = GetCheck(IDC_LOGIN_SHELL);
1486     settings.home_chdir = GetCheck(IDC_HOME_CHDIR);
1487     settings.agent_proxy = GetCheck(IDC_AGENT_PROXY);
1488    
1489 yutakapon 6119 memcpy(&ts.CygtermSettings, &settings, sizeof(cygterm_t));
1490 maya 3227
1491 yutakapon 6119 // �������������������t���O�������������B
1492     ts.CygtermSettings.update_flag = TRUE;
1493 maya 3227
1494     // Cygwin install path
1495 zmatsuo 7525 GetDlgItemTextA(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1496 maya 3227 }
1497    
1498     // CAddSettingPropSheetDlg
1499 zmatsuo 7525 CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(
1500     HINSTANCE hInstance, LPCTSTR pszCaption, HWND hParentWnd) :
1501     TTCPropertySheet(hInstance, pszCaption, hParentWnd)
1502 maya 3227 {
1503 zmatsuo 7525 m_GeneralPage = new CGeneralPropPageDlg(hInstance, this);
1504     m_SequencePage = new CSequencePropPageDlg(hInstance, this);
1505     m_CopypastePage = new CCopypastePropPageDlg(hInstance, this);
1506     m_VisualPage = new CVisualPropPageDlg(hInstance, this);
1507     m_LogPage = new CLogPropPageDlg(hInstance, this);
1508     m_CygwinPage = new CCygwinPropPageDlg(hInstance, this);
1509 zmatsuo 7818
1510     hPsp[0] = m_GeneralPage->CreatePropertySheetPage();
1511     hPsp[1] = m_SequencePage->CreatePropertySheetPage();
1512     hPsp[2] = m_CopypastePage->CreatePropertySheetPage();
1513     hPsp[3] = m_VisualPage->CreatePropertySheetPage();
1514     hPsp[4] = m_LogPage->CreatePropertySheetPage();
1515     hPsp[5] = m_CygwinPage->CreatePropertySheetPage();
1516 zmatsuo 7525 m_psh.nPages = 6;
1517     m_psh.phpage = hPsp;
1518 maya 3227
1519 zmatsuo 7525 TCHAR UIMsg[MAX_UIMSG];
1520     get_lang_msgT("DLG_TABSHEET_TITLE", UIMsg, _countof(UIMsg),
1521     pszCaption, ts.UILanguageFile);
1522     m_psh.pszCaption = _tcsdup(UIMsg);
1523 maya 3227 }
1524    
1525     CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1526     {
1527 zmatsuo 7525 free((void*)m_psh.pszCaption);
1528     delete m_GeneralPage;
1529     delete m_SequencePage;
1530     delete m_CopypastePage;
1531     delete m_VisualPage;
1532     delete m_LogPage;
1533     delete m_CygwinPage;
1534 maya 3227 }
1535    
1536 zmatsuo 7592 void CAddSettingPropSheetDlg::OnInitDialog()
1537     {
1538     TTCPropertySheet::OnInitDialog();
1539     CenterWindow(m_hWnd, m_hParentWnd);
1540     }

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