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 5493 - (hide annotations) (download) (as text)
Sun Mar 2 14:46:06 2014 UTC (10 years, 1 month ago) by yutakapon
Original Path: trunk/teraterm/teraterm/addsetting.cpp
File MIME type: text/x-c++src
File size: 70977 byte(s)
チケット #32524
sendmulticast マクロコマンドの宛先を、Additional settings - General ダイアログで、
マルチキャスト名を設定できるようにした。また、それに伴い teraterm.ini に MulticastName 
エントリを追加した。

1 maya 3227 /*
2     * Additional settings dialog
3     */
4    
5     #include <afxwin.h>
6     #include <afxdlgs.h>
7     #include <afxcmn.h>
8     #include <commctrl.h>
9    
10     #include "addsetting.h"
11     #include "teraterm.h"
12     #include "tttypes.h"
13     #include "ttwinman.h"
14 yutakapon 4916 #include "ttcommon.h"
15 yutakapon 5171 #include "ttftypes.h"
16 maya 3227
17     mouse_cursor_t MouseCursor[] = {
18     {"ARROW", IDC_ARROW},
19     {"IBEAM", IDC_IBEAM},
20     {"CROSS", IDC_CROSS},
21     {"HAND", IDC_HAND},
22     {NULL, NULL},
23     };
24     #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
25    
26     // –{‘Ì‚Í vtwin.cpp
27     extern void SetWindowStyle(TTTSet *ts);
28    
29     void split_buffer(char *buffer, int delimiter, char **head, char **body)
30     {
31     char *p1, *p2;
32    
33     *head = *body = NULL;
34    
35     if (!isalnum(*buffer) || (p1 = strchr(buffer, delimiter)) == NULL) {
36     return;
37     }
38    
39     *head = buffer;
40    
41     p2 = buffer;
42     while (p2 < p1 && !isspace(*p2)) {
43     p2++;
44     }
45    
46     *p2 = '\0';
47    
48     p1++;
49     while (*p1 && isspace(*p1)) {
50     p1++;
51     }
52    
53     *body = p1;
54     }
55    
56    
57     static void SetupRGBbox(HWND hDlgWnd, int index)
58     {
59     HWND hWnd;
60     BYTE c;
61     char buf[10];
62    
63     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
64     c = GetRValue(ts.ANSIColor[index]);
65     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
66     SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
67    
68     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
69     c = GetGValue(ts.ANSIColor[index]);
70     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
71     SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
72    
73     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
74     c = GetBValue(ts.ANSIColor[index]);
75     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
76     SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
77     }
78    
79    
80    
81     // CGeneralPropPageDlg ƒ_ƒCƒAƒ�ƒO
82    
83     IMPLEMENT_DYNAMIC(CGeneralPropPageDlg, CPropertyPage)
84    
85     CGeneralPropPageDlg::CGeneralPropPageDlg()
86     : CPropertyPage(CGeneralPropPageDlg::IDD)
87     {
88     }
89    
90     CGeneralPropPageDlg::~CGeneralPropPageDlg()
91     {
92     if (DlgGeneralFont != NULL) {
93     DeleteObject(DlgGeneralFont);
94     }
95     }
96    
97     BEGIN_MESSAGE_MAP(CGeneralPropPageDlg, CPropertyPage)
98     END_MESSAGE_MAP()
99    
100     // CGeneralPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
101    
102     BOOL CGeneralPropPageDlg::OnInitDialog()
103     {
104     char uimsg[MAX_UIMSG];
105     char buf[64];
106 maya 3777 CButton *btn;
107 maya 3227
108     CPropertyPage::OnInitDialog();
109    
110     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
111     GetObject(font, sizeof(LOGFONT), &logfont);
112     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgGeneralFont, ts.UILanguageFile)) {
113     SendDlgItemMessage(IDC_CLICKABLE_URL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
114     SendDlgItemMessage(IDC_DISABLE_SENDBREAK, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
115     SendDlgItemMessage(IDC_ACCEPT_BROADCAST, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0)); // 337: 2007/03/20
116     SendDlgItemMessage(IDC_MOUSEWHEEL_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
117     SendDlgItemMessage(IDC_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
118     SendDlgItemMessage(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
119 doda 3727 SendDlgItemMessage(IDC_CLEAR_ON_RESIZE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
120 doda 4043 SendDlgItemMessage(IDC_CURSOR_CHANGE_IME, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
121 yutakapon 5493 SendDlgItemMessage(IDC_MULTICAST_LABEL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
122     SendDlgItemMessage(IDC_MULTICAST, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
123 maya 3227 }
124     else {
125     DlgGeneralFont = NULL;
126     }
127    
128     GetDlgItemText(IDC_CLICKABLE_URL, uimsg, sizeof(uimsg));
129     get_lang_msg("DLG_TAB_GENERAL_CLICKURL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
130     SetDlgItemText(IDC_CLICKABLE_URL, ts.UIMsg);
131     GetDlgItemText(IDC_DISABLE_SENDBREAK, uimsg, sizeof(uimsg));
132     get_lang_msg("DLG_TAB_GENERAL_DISABLESENDBREAK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
133     SetDlgItemText(IDC_DISABLE_SENDBREAK, ts.UIMsg);
134     GetDlgItemText(IDC_ACCEPT_BROADCAST, uimsg, sizeof(uimsg));
135     get_lang_msg("DLG_TAB_GENERAL_ACCEPTBROADCAST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
136     SetDlgItemText(IDC_ACCEPT_BROADCAST, ts.UIMsg);
137     GetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, uimsg, sizeof(uimsg));
138     get_lang_msg("DLG_TAB_GENERAL_MOUSEWHEEL_SCROLL_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
139     SetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, ts.UIMsg);
140     GetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, uimsg, sizeof(uimsg));
141     get_lang_msg("DLG_TAB_GENERAL_AUTOSCROLL_ONLY_IN_BOTTOM_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
142     SetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, ts.UIMsg);
143 doda 3727 GetDlgItemText(IDC_CLEAR_ON_RESIZE, uimsg, sizeof(uimsg));
144     get_lang_msg("DLG_TAB_GENERAL_CLEAR_ON_RESIZE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
145     SetDlgItemText(IDC_CLEAR_ON_RESIZE, ts.UIMsg);
146 doda 4043 GetDlgItemText(IDC_CURSOR_CHANGE_IME, uimsg, sizeof(uimsg));
147     get_lang_msg("DLG_TAB_GENERAL_CURSOR_CHANGE_IME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
148     SetDlgItemText(IDC_CURSOR_CHANGE_IME, ts.UIMsg);
149 yutakapon 5493 GetDlgItemText(IDC_MULTICAST_LABEL, uimsg, sizeof(uimsg));
150     get_lang_msg("DLG_TAB_GENERAL_MULTICAST_LABEL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
151     SetDlgItemText(IDC_MULTICAST_LABEL, ts.UIMsg);
152 maya 3227
153     // (1)DisableAcceleratorSendBreak
154     btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
155     btn->SetCheck(ts.DisableAcceleratorSendBreak);
156    
157     // (2)EnableClickableUrl
158     btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
159     btn->SetCheck(ts.EnableClickableUrl);
160    
161     // (3)AcceptBroadcast 337: 2007/03/20
162     btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
163     btn->SetCheck(ts.AcceptBroadcast);
164    
165     // (4)IDC_MOUSEWHEEL_SCROLL_LINE
166     _snprintf_s(buf, sizeof(buf), "%d", ts.MouseWheelScrollLine);
167     SetDlgItemText(IDC_SCROLL_LINE, buf);
168    
169     // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
170     btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
171     btn->SetCheck(ts.AutoScrollOnlyInBottomLine);
172    
173 maya 3777 // (6)IDC_CLEAR_ON_RESIZE
174     btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);
175     btn->SetCheck((ts.TermFlag & TF_CLEARONRESIZE) != 0);
176    
177 doda 4043 // (7)IDC_CURSOR_CHANGE_IME
178     btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);
179     btn->SetCheck((ts.WindowFlag & WF_IMECURSORCHANGE) != 0);
180    
181 yutakapon 5493 // (8)IDC_MULTICAST
182     SetDlgItemText(IDC_MULTICAST, ts.MulticastName);
183    
184 maya 3777 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é (2004.12.7 yutaka)
185     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
186    
187     return FALSE;
188     }
189    
190     void CGeneralPropPageDlg::OnOK()
191     {
192     CButton *btn;
193     char buf[64];
194     int val;
195    
196     // (1)
197     btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
198     ts.DisableAcceleratorSendBreak = btn->GetCheck();
199    
200     // (2)
201     btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
202     ts.EnableClickableUrl = btn->GetCheck();
203    
204     // (3) 337: 2007/03/20
205     btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
206     ts.AcceptBroadcast = btn->GetCheck();
207    
208     // (4)IDC_MOUSEWHEEL_SCROLL_LINE
209     GetDlgItemText(IDC_SCROLL_LINE, buf, sizeof(buf));
210     val = atoi(buf);
211     if (val > 0)
212     ts.MouseWheelScrollLine = val;
213    
214     // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
215     btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
216     ts.AutoScrollOnlyInBottomLine = btn->GetCheck();
217    
218     // (6)IDC_CLEAR_ON_RESIZE
219     btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);
220     if (((ts.TermFlag & TF_CLEARONRESIZE) != 0) != btn->GetCheck()) {
221     ts.TermFlag ^= TF_CLEARONRESIZE;
222     }
223 doda 4043
224     // (7)IDC_CURSOR_CHANGE_IME
225     btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);
226     if (((ts.WindowFlag & WF_IMECURSORCHANGE) != 0) != btn->GetCheck()) {
227     ts.WindowFlag ^= WF_IMECURSORCHANGE;
228     }
229 yutakapon 5493
230     // (8)IDC_MULTICAST
231     GetDlgItemText(IDC_MULTICAST, ts.MulticastName, sizeof(ts.MulticastName));
232 maya 3777 }
233    
234    
235    
236     // CSequencePropPageDlg ƒ_ƒCƒAƒ�ƒO
237    
238     IMPLEMENT_DYNAMIC(CSequencePropPageDlg, CPropertyPage)
239    
240     CSequencePropPageDlg::CSequencePropPageDlg()
241     : CPropertyPage(CSequencePropPageDlg::IDD)
242     {
243     }
244    
245     CSequencePropPageDlg::~CSequencePropPageDlg()
246     {
247     if (DlgSequenceFont != NULL) {
248     DeleteObject(DlgSequenceFont);
249     }
250     }
251    
252     BEGIN_MESSAGE_MAP(CSequencePropPageDlg, CPropertyPage)
253     END_MESSAGE_MAP()
254    
255     // CSequencePropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
256    
257     BOOL CSequencePropPageDlg::OnInitDialog()
258     {
259     char uimsg[MAX_UIMSG];
260     CButton *btn, *btn2;
261     CComboBox *cmb;
262    
263     CPropertyPage::OnInitDialog();
264    
265     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
266     GetObject(font, sizeof(LOGFONT), &logfont);
267     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgSequenceFont, ts.UILanguageFile)) {
268     SendDlgItemMessage(IDC_ACCEPT_MOUSE_EVENT_TRACKING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
269     SendDlgItemMessage(IDC_DISABLE_MOUSE_TRACKING_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
270     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
271     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
272 doda 3782 SendDlgItemMessage(IDC_TITLE_REPORT_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
273     SendDlgItemMessage(IDC_TITLE_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
274     SendDlgItemMessage(IDC_WINDOW_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
275     SendDlgItemMessage(IDC_WINDOW_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
276 maya 3777 SendDlgItemMessage(IDC_CURSOR_CTRL_SEQ, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
277 doda 4702 SendDlgItemMessage(IDC_CLIPBOARD_ACCESS_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
278     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));
279 maya 3777 }
280     else {
281     DlgSequenceFont = NULL;
282     }
283    
284     GetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, uimsg, sizeof(uimsg));
285     get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_MOUSE_EVENT_TRACKING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
286     SetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.UIMsg);
287     GetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, uimsg, sizeof(uimsg));
288     get_lang_msg("DLG_TAB_SEQENCE_DISABLE_MOUSE_TRACKING_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
289     SetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.UIMsg);
290     GetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, uimsg, sizeof(uimsg));
291     get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
292     SetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, ts.UIMsg);
293    
294     get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
295     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
296     get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_OVERWRITE", ts.UIMsg, sizeof(ts.UIMsg), "overwrite", ts.UILanguageFile);
297     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
298     get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_AHEAD", ts.UIMsg, sizeof(ts.UIMsg), "ahead", ts.UILanguageFile);
299     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
300     get_lang_msg("DLG_TAB_SEQENCE_ACCEPT_TITLE_CHANGING_LAST", ts.UIMsg, sizeof(ts.UIMsg), "last", ts.UILanguageFile);
301     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
302    
303     GetDlgItemText(IDC_CURSOR_CTRL_SEQ, uimsg, sizeof(uimsg));
304     get_lang_msg("DLG_TAB_SEQENCE_CURSOR_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
305     SetDlgItemText(IDC_CURSOR_CTRL_SEQ, ts.UIMsg);
306     GetDlgItemText(IDC_WINDOW_CTRL, uimsg, sizeof(uimsg));
307     get_lang_msg("DLG_TAB_SEQENCE_WINDOW_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
308     SetDlgItemText(IDC_WINDOW_CTRL, ts.UIMsg);
309     GetDlgItemText(IDC_WINDOW_REPORT, uimsg, sizeof(uimsg));
310     get_lang_msg("DLG_TAB_SEQENCE_WINDOW_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
311     SetDlgItemText(IDC_WINDOW_REPORT, ts.UIMsg);
312     GetDlgItemText(IDC_TITLE_REPORT_LABEL, uimsg, sizeof(uimsg));
313     get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
314     SetDlgItemText(IDC_TITLE_REPORT_LABEL, ts.UIMsg);
315    
316     get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_IGNORE", ts.UIMsg, sizeof(ts.UIMsg), "ignore", ts.UILanguageFile);
317     SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
318     get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_ACCEPT", ts.UIMsg, sizeof(ts.UIMsg), "accept", ts.UILanguageFile);
319     SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
320     get_lang_msg("DLG_TAB_SEQENCE_TITLE_REPORT_EMPTY", ts.UIMsg, sizeof(ts.UIMsg), "empty", ts.UILanguageFile);
321     SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
322    
323 doda 4702 GetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, uimsg, sizeof(uimsg));
324     get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
325     SetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, ts.UIMsg);
326    
327     get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
328     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
329     get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_WRITE", ts.UIMsg, sizeof(ts.UIMsg), "write only", ts.UILanguageFile);
330     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
331     get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_READ", ts.UIMsg, sizeof(ts.UIMsg), "read only", ts.UILanguageFile);
332     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
333     get_lang_msg("DLG_TAB_SEQENCE_CLIPBOARD_ACCESS_ON", ts.UIMsg, sizeof(ts.UIMsg), "read/write", ts.UILanguageFile);
334     SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
335    
336 maya 3777 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
337 maya 3227 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
338     btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
339     btn->SetCheck(ts.MouseEventTracking);
340     if (ts.MouseEventTracking) {
341     btn2->EnableWindow(TRUE);
342     } else {
343     btn2->EnableWindow(FALSE);
344     }
345    
346 maya 3777 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
347 maya 3227 btn2->SetCheck(ts.DisableMouseTrackingByCtrl);
348    
349 maya 3777 // (3)IDC_ACCEPT_TITLE_CHANGING
350 maya 3227 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
351     cmb->SetCurSel(ts.AcceptTitleChangeRequest);
352    
353 maya 3777 // (4)IDC_TITLE_REPORT
354     cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);
355     switch (ts.WindowFlag & WF_TITLEREPORT) {
356     case IdTitleReportIgnore:
357     cmb->SetCurSel(0);
358     break;
359     case IdTitleReportAccept:
360     cmb->SetCurSel(1);
361     break;
362     default: // IdTitleReportEmpty
363     cmb->SetCurSel(2);
364     break;
365     }
366 doda 3727
367 maya 3777 // (5)IDC_WINDOW_CTRL
368     btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);
369     btn->SetCheck((ts.WindowFlag & WF_WINDOWCHANGE) != 0);
370    
371     // (6)IDC_WINDOW_REPORT
372     btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);
373     btn->SetCheck((ts.WindowFlag & WF_WINDOWREPORT) != 0);
374    
375     // (7)IDC_CURSOR_CTRL_SEQ
376 yutakapon 3735 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
377     btn->SetCheck((ts.WindowFlag & WF_CURSORCHANGE) != 0);
378    
379 doda 4702 // (8)IDC_CLIPBOARD_ACCESS
380     cmb = (CComboBox *)GetDlgItem(IDC_CLIPBOARD_ACCESS);
381     switch (ts.CtrlFlag & CSF_CBRW) {
382     case CSF_CBRW:
383     cmb->SetCurSel(3);
384     break;
385     case CSF_CBREAD:
386     cmb->SetCurSel(2);
387     break;
388     case CSF_CBWRITE:
389     cmb->SetCurSel(1);
390     break;
391     default: // off
392     cmb->SetCurSel(0);
393     break;
394     }
395    
396 maya 3227 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é (2004.12.7 yutaka)
397     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
398    
399     return FALSE;
400     }
401    
402 maya 3777 BOOL CSequencePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
403 maya 3227 {
404     CButton *btn, *btn2;
405    
406     switch (wParam) {
407     case IDC_ACCEPT_MOUSE_EVENT_TRACKING | (BN_CLICKED << 16):
408     btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
409     btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
410     if (btn->GetCheck()) {
411     btn2->EnableWindow(TRUE);
412     } else {
413     btn2->EnableWindow(FALSE);
414     }
415     return TRUE;
416     }
417     return CPropertyPage::OnCommand(wParam, lParam);
418     }
419    
420 maya 3777 void CSequencePropPageDlg::OnOK()
421 maya 3227 {
422     CButton *btn;
423     CComboBox *cmb;
424    
425 maya 3777 // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
426 maya 3227 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
427     ts.MouseEventTracking = btn->GetCheck();
428    
429 maya 3777 // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
430 maya 3227 btn = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
431     ts.DisableMouseTrackingByCtrl = btn->GetCheck();
432    
433 maya 3777 // (3)IDC_ACCEPT_TITLE_CHANGING
434 maya 3227 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
435     ts.AcceptTitleChangeRequest = cmb->GetCurSel();
436 doda 3727
437 maya 3777 // (4)IDC_TITLE_REPORT
438     cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);
439     switch (cmb->GetCurSel()) {
440     case 0:
441     ts.WindowFlag &= ~WF_TITLEREPORT;
442     break;
443     case 1:
444     ts.WindowFlag &= ~WF_TITLEREPORT;
445     ts.WindowFlag |= IdTitleReportAccept;
446     break;
447     default: // 2
448     ts.WindowFlag |= IdTitleReportEmpty;
449     break;
450 doda 3727 }
451 yutakapon 3735
452 maya 3777 // (5)IDC_WINDOW_CTRL
453     btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);
454     if (((ts.WindowFlag & WF_WINDOWCHANGE) != 0) != btn->GetCheck()) {
455     ts.WindowFlag ^= WF_WINDOWCHANGE;
456     }
457    
458     // (6)IDC_WINDOW_REPORT
459     btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);
460     if (((ts.WindowFlag & WF_WINDOWREPORT) != 0) != btn->GetCheck()) {
461     ts.WindowFlag ^= WF_WINDOWREPORT;
462     }
463    
464     // (7)IDC_CURSOR_CTRL_SEQ
465 yutakapon 3735 btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);
466     if (((ts.WindowFlag & WF_CURSORCHANGE) != 0) != btn->GetCheck()) {
467     ts.WindowFlag ^= WF_CURSORCHANGE;
468     }
469 maya 3777
470 doda 4702 // (8)IDC_TITLE_REPORT
471     cmb = (CComboBox *)GetDlgItem(IDC_CLIPBOARD_ACCESS);
472     switch (cmb->GetCurSel()) {
473     case 0: // off
474     ts.CtrlFlag &= ~CSF_CBRW;
475     break;
476     case 1: // write only
477     ts.CtrlFlag &= ~CSF_CBRW;
478     ts.CtrlFlag |= CSF_CBWRITE;
479     break;
480     case 2: // read only
481     ts.CtrlFlag &= ~CSF_CBRW;
482     ts.CtrlFlag |= CSF_CBREAD;
483     break;
484     default: // read/write
485     ts.CtrlFlag |= CSF_CBRW;
486     break;
487     }
488 maya 3227 }
489    
490    
491    
492     // CCopypastePropPageDlg ƒ_ƒCƒAƒ�ƒO
493    
494     IMPLEMENT_DYNAMIC(CCopypastePropPageDlg, CPropertyPage)
495    
496     CCopypastePropPageDlg::CCopypastePropPageDlg()
497     : CPropertyPage(CCopypastePropPageDlg::IDD)
498     {
499     }
500    
501     CCopypastePropPageDlg::~CCopypastePropPageDlg()
502     {
503     if (DlgCopypasteFont != NULL) {
504     DeleteObject(DlgCopypasteFont);
505     }
506     }
507    
508     BEGIN_MESSAGE_MAP(CCopypastePropPageDlg, CPropertyPage)
509     END_MESSAGE_MAP()
510    
511     // CCopypastePropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
512    
513     BOOL CCopypastePropPageDlg::OnInitDialog()
514     {
515     char uimsg[MAX_UIMSG];
516     CButton *btn, *btn2;
517 yutakapon 3558 CEdit *edit;
518 maya 3306 char buf[64];
519 maya 3227
520     CPropertyPage::OnInitDialog();
521    
522     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
523     GetObject(font, sizeof(LOGFONT), &logfont);
524     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCopypasteFont, ts.UILanguageFile)) {
525     SendDlgItemMessage(IDC_LINECOPY, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
526     SendDlgItemMessage(IDC_DISABLE_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
527     SendDlgItemMessage(IDC_CONFIRM_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
528 doda 3594 SendDlgItemMessage(IDC_DISABLE_PASTE_MBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
529 maya 3227 SendDlgItemMessage(IDC_SELECT_LBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
530     SendDlgItemMessage(IDC_CONFIRM_CHANGE_PASTE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
531 maya 4142 SendDlgItemMessage(IDC_CONFIRM_STRING_FILE_LABEL, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
532     SendDlgItemMessage(IDC_CONFIRM_STRING_FILE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
533     SendDlgItemMessage(IDC_CONFIRM_STRING_FILE_PATH, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
534 maya 3227 SendDlgItemMessage(IDC_DELIMITER, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
535     SendDlgItemMessage(IDC_DELIM_LIST, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
536 maya 3306 SendDlgItemMessage(IDC_PASTEDELAY_LABEL, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
537     SendDlgItemMessage(IDC_PASTEDELAY_EDIT, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
538     SendDlgItemMessage(IDC_PASTEDELAY_LABEL2, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
539 maya 3227 }
540     else {
541     DlgCopypasteFont = NULL;
542     }
543    
544     GetDlgItemText(IDC_LINECOPY, uimsg, sizeof(uimsg));
545     get_lang_msg("DLG_TAB_COPYPASTE_CONTINUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
546     SetDlgItemText(IDC_LINECOPY, ts.UIMsg);
547     GetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, uimsg, sizeof(uimsg));
548     get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
549     SetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, ts.UIMsg);
550     GetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, uimsg, sizeof(uimsg));
551     get_lang_msg("DLG_TAB_COPYPASTE_CONFIRMPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
552     SetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, ts.UIMsg);
553 doda 3594 GetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, uimsg, sizeof(uimsg));
554     get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTEM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
555     SetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, ts.UIMsg);
556 maya 3227 GetDlgItemText(IDC_SELECT_LBUTTON, uimsg, sizeof(uimsg));
557     get_lang_msg("DLG_TAB_COPYPASTE_SELECTLBUTTON", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
558     SetDlgItemText(IDC_SELECT_LBUTTON, ts.UIMsg);
559     GetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, uimsg, sizeof(uimsg));
560     get_lang_msg("DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
561     SetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, ts.UIMsg);
562 maya 3562 GetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, uimsg, sizeof(uimsg));
563 maya 3565 get_lang_msg("DLG_TAB_CONFIRM_STRING_FILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
564 maya 3562 SetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, ts.UIMsg);
565 maya 3227 GetDlgItemText(IDC_DELIMITER, uimsg, sizeof(uimsg));
566     get_lang_msg("DLG_TAB_COPYPASTE_DELIMITER", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
567     SetDlgItemText(IDC_DELIMITER, ts.UIMsg);
568 maya 3306 GetDlgItemText(IDC_PASTEDELAY_LABEL, uimsg, sizeof(uimsg));
569     get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
570     SetDlgItemText(IDC_PASTEDELAY_LABEL, ts.UIMsg);
571     GetDlgItemText(IDC_PASTEDELAY_LABEL2, uimsg, sizeof(uimsg));
572     get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY2", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
573     SetDlgItemText(IDC_PASTEDELAY_LABEL2, ts.UIMsg);
574 maya 3227
575     // (1)Enable continued-line copy
576     btn = (CButton *)GetDlgItem(IDC_LINECOPY);
577     btn->SetCheck(ts.EnableContinuedLineCopy);
578    
579     // (2)DisablePasteMouseRButton
580     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
581     btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
582     btn->SetCheck(ts.DisablePasteMouseRButton);
583     if (ts.DisablePasteMouseRButton) {
584     btn2->EnableWindow(FALSE);
585     } else {
586     btn2->EnableWindow(TRUE);
587     }
588    
589     // (3)ConfirmPasteMouseRButton
590     btn2->SetCheck(ts.ConfirmPasteMouseRButton);
591    
592 doda 3594 // (4)DisablePasteMouseMButton
593     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
594     btn->SetCheck(ts.DisablePasteMouseMButton);
595    
596     // (5)SelectOnlyByLButton
597 maya 3227 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
598     btn->SetCheck(ts.SelectOnlyByLButton);
599    
600 doda 3594 // (6)ConfirmChangePaste
601 maya 3227 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
602     btn->SetCheck(ts.ConfirmChangePaste);
603    
604 yutakapon 3558 // ƒtƒ@ƒCƒ‹ƒpƒX
605     SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
606     edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);
607     btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);
608     if (ts.ConfirmChangePaste) {
609     edit->EnableWindow(TRUE);
610     btn->EnableWindow(TRUE);
611     } else {
612     edit->EnableWindow(FALSE);
613     btn->EnableWindow(FALSE);
614     }
615    
616 doda 3594 // (7)delimiter characters
617 maya 3227 SetDlgItemText(IDC_DELIM_LIST, ts.DelimList);
618    
619 doda 3594 // (8)PasteDelayPerLine
620 maya 3306 _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);
621     SetDlgItemText(IDC_PASTEDELAY_EDIT, buf);
622 maya 3227
623     // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
624     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));
625    
626     return FALSE;
627     }
628    
629     BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
630     {
631     CButton *btn, *btn2;
632 yutakapon 3558 CEdit *edit;
633     char uimsg[MAX_UIMSG];
634 maya 3227
635     switch (wParam) {
636     case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):
637     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
638     btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
639     if (btn->GetCheck()) {
640     btn2->EnableWindow(FALSE);
641     } else {
642     btn2->EnableWindow(TRUE);
643     }
644     return TRUE;
645 yutakapon 3558
646     case IDC_CONFIRM_CHANGE_PASTE | (BN_CLICKED << 16):
647     btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
648     btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);
649     edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);
650     if (btn2->GetCheck()) {
651     edit->EnableWindow(TRUE);
652     btn->EnableWindow(TRUE);
653     } else {
654     edit->EnableWindow(FALSE);
655     btn->EnableWindow(FALSE);
656     }
657     return TRUE;
658    
659     case IDC_CONFIRM_STRING_FILE_PATH | (BN_CLICKED << 16):
660     {
661     OPENFILENAME ofn;
662    
663     ZeroMemory(&ofn, sizeof(ofn));
664     ofn.lStructSize = get_OPENFILENAME_SIZE();
665     ofn.hwndOwner = GetSafeHwnd();
666     get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
667     "txt(*.txt)\\0*.txt\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
668     ofn.lpstrFilter = ts.UIMsg;
669     ofn.lpstrFile = ts.ConfirmChangePasteStringFile;
670     ofn.nMaxFile = sizeof(ts.ConfirmChangePasteStringFile);
671     get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_TITLE", uimsg, sizeof(uimsg),
672     "Choose a file including strings for ConfirmChangePaste", ts.UILanguageFile);
673     ofn.lpstrTitle = uimsg;
674     ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
675     if (GetOpenFileName(&ofn) != 0) {
676     SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
677     }
678     }
679     return TRUE;
680 maya 3227 }
681    
682     return CPropertyPage::OnCommand(wParam, lParam);
683     }
684    
685     void CCopypastePropPageDlg::OnOK()
686     {
687     CButton *btn;
688 maya 3306 char buf[64];
689     int val;
690 maya 3227
691     // (1)
692     btn = (CButton *)GetDlgItem(IDC_LINECOPY);
693     ts.EnableContinuedLineCopy = btn->GetCheck();
694    
695     // (2)
696     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
697     ts.DisablePasteMouseRButton = btn->GetCheck();
698    
699     // (3)
700     btn = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
701     ts.ConfirmPasteMouseRButton = btn->GetCheck();
702    
703     // (4)
704 doda 3594 btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);
705     ts.DisablePasteMouseMButton = btn->GetCheck();
706    
707     // (5)
708 maya 3227 btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
709     ts.SelectOnlyByLButton = btn->GetCheck();
710    
711 doda 3594 // (6)IDC_CONFIRM_CHANGE_PASTE
712 maya 3227 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
713     ts.ConfirmChangePaste = btn->GetCheck();
714 yutakapon 3558 GetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
715 maya 3227
716 doda 3594 // (7)
717 maya 3227 GetDlgItemText(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
718 maya 3306
719 doda 3594 // (8)
720 maya 3306 GetDlgItemText(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));
721     val = atoi(buf);
722 maya 3315 ts.PasteDelayPerLine = min(max(0, val), 5000);
723 maya 3227 }
724    
725    
726    
727     // CVisualPropPageDlg ƒ_ƒCƒAƒ�ƒO
728    
729     IMPLEMENT_DYNAMIC(CVisualPropPageDlg, CPropertyPage)
730    
731     CVisualPropPageDlg::CVisualPropPageDlg()
732     : CPropertyPage(CVisualPropPageDlg::IDD)
733     {
734    
735     }
736    
737     CVisualPropPageDlg::~CVisualPropPageDlg()
738     {
739     if (DlgVisualFont != NULL) {
740     DeleteObject(DlgVisualFont);
741     }
742     }
743    
744     BEGIN_MESSAGE_MAP(CVisualPropPageDlg, CPropertyPage)
745     END_MESSAGE_MAP()
746    
747     // CVisualPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
748    
749     BOOL CVisualPropPageDlg::OnInitDialog()
750     {
751     char buf[MAXPATHLEN];
752     char uimsg[MAX_UIMSG];
753     CListBox *listbox;
754     CButton *btn;
755 maya 4874 CComboBox *cmb;
756 maya 3227 int i;
757    
758     CPropertyPage::OnInitDialog();
759    
760     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
761     GetObject(font, sizeof(LOGFONT), &logfont);
762     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgVisualFont, ts.UILanguageFile)) {
763     SendDlgItemMessage(IDC_ALPHABLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
764     SendDlgItemMessage(IDC_ALPHA_BLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
765     SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
766     SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
767     SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
768 maya 4874 SendDlgItemMessage(IDC_FONT_QUALITY_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
769     SendDlgItemMessage(IDC_FONT_QUALITY, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
770 maya 3227 SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
771     SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
772     SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
773     SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
774     SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
775     SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
776     SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
777     SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
778     SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
779     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
780     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
781     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
782     SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
783     SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
784 doda 3667 SendDlgItemMessage(IDC_URL_UNDERLINE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
785 yutakapon 4942 SendDlgItemMessage(IDC_BGIMG_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
786     SendDlgItemMessage(IDC_BGIMG_EDIT, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
787     SendDlgItemMessage(IDC_BGIMG_BUTTON, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
788 maya 4944 SendDlgItemMessage(IDC_RESTART, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
789 maya 3227 }
790     else {
791     DlgVisualFont = NULL;
792     }
793    
794     GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));
795     get_lang_msg("DLG_TAB_VISUAL_ALHPA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
796     SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);
797     GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));
798     get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
799     SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);
800 maya 5129 GetDlgItemText(IDC_BGIMG_LABEL, uimsg, sizeof(uimsg));
801     get_lang_msg("DLG_TAB_VISUAL_BGIMG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
802     SetDlgItemText(IDC_BGIMG_LABEL, ts.UIMsg);
803 maya 3227 GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));
804     get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
805     SetDlgItemText(IDC_MOUSE, ts.UIMsg);
806 maya 4874 GetDlgItemText(IDC_FONT_QUALITY_LABEL, uimsg, sizeof(uimsg));
807     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
808     SetDlgItemText(IDC_FONT_QUALITY_LABEL, ts.UIMsg);
809 maya 5132 GetDlgItemText(IDC_ANSICOLOR, uimsg, sizeof(uimsg));
810     get_lang_msg("DLG_TAB_VISUAL_ANSICOLOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
811     SetDlgItemText(IDC_ANSICOLOR, ts.UIMsg);
812 maya 3227 GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));
813     get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
814     SetDlgItemText(IDC_RED, ts.UIMsg);
815     GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));
816     get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
817     SetDlgItemText(IDC_GREEN, ts.UIMsg);
818     GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));
819     get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
820     SetDlgItemText(IDC_BLUE, ts.UIMsg);
821     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));
822     get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
823     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);
824     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));
825     get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
826     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);
827     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));
828     get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
829     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);
830     GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));
831     get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
832     SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);
833     GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));
834     get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
835     SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);
836 doda 3667 GetDlgItemText(IDC_URL_UNDERLINE, uimsg, sizeof(uimsg));
837     get_lang_msg("DLG_TAB_VISUAL_URLUL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
838     SetDlgItemText(IDC_URL_UNDERLINE, ts.UIMsg);
839 maya 4944 GetDlgItemText(IDC_RESTART, uimsg, sizeof(uimsg));
840     get_lang_msg("DLG_TAB_VISUAL_RESTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
841     SetDlgItemText(IDC_RESTART, ts.UIMsg);
842 maya 3227
843 maya 4874 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT", ts.UIMsg, sizeof(ts.UIMsg), "Default", ts.UILanguageFile);
844     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
845     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Non-Antialiased", ts.UILanguageFile);
846     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
847     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Antialiased", ts.UILanguageFile);
848     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
849     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE", ts.UIMsg, sizeof(ts.UIMsg), "ClearType", ts.UILanguageFile);
850     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
851    
852 maya 3227 // (1)AlphaBlend
853     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlend);
854     SetDlgItemText(IDC_ALPHA_BLEND, buf);
855    
856     // (2)[BG] BGEnable
857     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
858     btn->SetCheck(ts.EtermLookfeel.BGEnable);
859    
860 yutakapon 4942 // Eterm look-feel‚Ì”wŒi‰æ‘œŽw’è�B
861     SetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath);
862     if (ts.EtermLookfeel.BGEnable) {
863     GetDlgItem(IDC_BGIMG_LABEL)->EnableWindow(TRUE);
864     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
865     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
866     } else {
867     GetDlgItem(IDC_BGIMG_LABEL)->EnableWindow(FALSE);
868     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
869     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
870     }
871    
872 maya 3227 // (3)Mouse cursor type
873     listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
874     for (i = 0 ; MouseCursor[i].name ; i++) {
875     listbox->InsertString(i, MouseCursor[i].name);
876     }
877     listbox->SelectString(0, ts.MouseCursorName);
878    
879 maya 4874 // (4)Font quality
880     cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
881     switch (ts.FontQuality) {
882     case DEFAULT_QUALITY:
883     cmb->SetCurSel(0);
884     break;
885     case NONANTIALIASED_QUALITY:
886     cmb->SetCurSel(1);
887     break;
888     case ANTIALIASED_QUALITY:
889     cmb->SetCurSel(2);
890     break;
891     default: // CLEARTYPE_QUALITY
892     cmb->SetCurSel(3);
893     break;
894     }
895    
896     // (5)ANSI color
897 maya 3227 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
898     for (i = 0 ; i < 16 ; i++) {
899     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
900     listbox->InsertString(i, buf);
901     }
902     SetupRGBbox(GetSafeHwnd(), 0);
903     #if 0
904     SendMessage(WM_CTLCOLORSTATIC,
905     (WPARAM)label_hdc,
906     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
907     #endif
908    
909 maya 4874 // (6)Bold Attr Color
910 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
911     btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
912    
913 maya 4874 // (7)Blink Attr Color
914 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
915     btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
916    
917 maya 4874 // (8)Reverse Attr Color
918 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
919     btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
920    
921 maya 4874 // (9)URL Color
922 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
923     btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
924    
925 maya 4874 // (10)Color
926 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
927     btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
928    
929 maya 4874 // (11)URL Underline
930 doda 3667 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
931     btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);
932    
933 maya 3227 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
934     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND));
935    
936     return FALSE;
937     }
938    
939     BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
940     {
941     CListBox *listbox;
942     int sel;
943     char buf[MAXPATHLEN];
944 yutakapon 4942 CButton *btn;
945 maya 3227
946     switch (wParam) {
947 yutakapon 4942 case IDC_ETERM_LOOKFEEL:
948     // ƒ`ƒFƒbƒN‚³‚ꂽ‚ç Enable/Disable ‚ðƒgƒOƒ‹‚·‚é�B
949     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
950     if (btn->GetCheck()) {
951     GetDlgItem(IDC_BGIMG_LABEL)->EnableWindow(TRUE);
952     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);
953     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);
954     } else {
955     GetDlgItem(IDC_BGIMG_LABEL)->EnableWindow(FALSE);
956     GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);
957     GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);
958     // –³Œø‰»‚³‚ꂽ‚ç�ABGThemeFile ‚ðŒ³‚É–ß‚·�B
959     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
960 yutakapon 4945 // ”wŒi‰æ‘œ‚à–³Œø‰»‚·‚é�B
961     SetDlgItemText(IDC_BGIMG_EDIT, "");
962 yutakapon 4942 }
963     return TRUE;
964    
965     case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
966     // ”wŒi‰æ‘œ‚ðƒ_ƒCƒAƒ�ƒO‚ÅŽw’è‚·‚é�B
967     {
968     CString filter("Image Files(*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|All Files(*.*)|*.*||");
969     CFileDialog selDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);
970     if (selDlg.DoModal() == IDOK) {
971     // ”wŒi‰æ‘œŽw’肪ˆÓ�}“I‚É�s‚í‚ꂽ‚ç�ABGThemeFile ‚ðŒÅ’艻‚·‚é�B
972     SetDlgItemText(IDC_BGIMG_EDIT, selDlg.GetPathName());
973     strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
974     }
975     }
976     return TRUE;
977    
978 maya 3227 case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
979     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
980     sel = listbox->GetCurSel();
981     if (sel != -1) {
982     SetupRGBbox(GetSafeHwnd(), sel);
983     #if 0
984     SendMessage(WM_CTLCOLORSTATIC,
985     (WPARAM)label_hdc,
986     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
987     #endif
988     }
989     return TRUE;
990    
991     case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
992     case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
993     case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
994     {
995     BYTE r, g, b;
996    
997     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
998     sel = listbox->GetCurSel();
999     if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
1000     return TRUE;
1001     }
1002    
1003     GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
1004     r = atoi(buf);
1005    
1006     GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
1007     g = atoi(buf);
1008    
1009     GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
1010     b = atoi(buf);
1011    
1012     ts.ANSIColor[sel] = RGB(r, g, b);
1013    
1014     // 255‚ð’´‚¦‚½RGB’l‚Í•â�³‚³‚ê‚é‚Ì‚Å�A‚»‚ê‚ðEdit‚É•\ަ‚·‚é (2007.2.18 maya)
1015     SetupRGBbox(GetSafeHwnd(), sel);
1016     #if 0
1017     SendMessage(WM_CTLCOLORSTATIC,
1018     (WPARAM)label_hdc,
1019     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
1020     #endif
1021     }
1022    
1023     return TRUE;
1024     #if 0
1025     case WM_CTLCOLORSTATIC:
1026     {
1027     HDC hDC = (HDC)wp;
1028     HWND hWnd = (HWND)lp;
1029    
1030     //if (label_hdc == NULL) {
1031     hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
1032     // label_hdc = hDC;
1033     //}
1034    
1035     if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
1036     BYTE r, g, b;
1037    
1038     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
1039     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1040     r = atoi(buf);
1041    
1042     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
1043     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1044     g = atoi(buf);
1045    
1046     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
1047     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
1048     b = atoi(buf);
1049    
1050     OutputDebugPrintf("%06x\n", RGB(r, g, b));
1051    
1052     SetBkMode(hDC, TRANSPARENT);
1053     SetTextColor(hDC, RGB(r, g, b) );
1054     ReleaseDC(hDlgWnd, hDC);
1055    
1056     return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
1057     }
1058     return FALSE;
1059     }
1060     break ;
1061     #endif
1062     }
1063    
1064     return CPropertyPage::OnCommand(wParam, lParam);
1065     }
1066    
1067     void CVisualPropPageDlg::OnOK()
1068     {
1069     CListBox *listbox;
1070     CButton *btn;
1071 maya 4874 CComboBox *cmb;
1072 maya 3227 int sel;
1073     int beforeAlphaBlend;
1074     char buf[MAXPATHLEN];
1075     COLORREF TmpColor;
1076 yutakapon 4916 int flag_changed = 0;
1077 maya 3227
1078     // (1)
1079     beforeAlphaBlend = ts.AlphaBlend;
1080     GetDlgItemText(IDC_ALPHA_BLEND, buf, sizeof(buf));
1081     if (isdigit(buf[0])) {
1082     ts.AlphaBlend = atoi(buf);
1083     ts.AlphaBlend = max(0, ts.AlphaBlend);
1084     ts.AlphaBlend = min(255, ts.AlphaBlend);
1085     }
1086    
1087     // (2)
1088     // ƒOƒ��[ƒoƒ‹•Ï�” BGEnable ‚ð’¼�Ú�‘‚«Š·‚¦‚邯�Aƒvƒ�ƒOƒ‰ƒ€‚ª—Ž‚¿‚邱‚Æ‚ª
1089     // ‚ ‚é‚̂ŃRƒs�[‚ð�C�³‚·‚é‚݂̂Ƃ·‚é�B(2005.4.24 yutaka)
1090     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1091 yutakapon 4916 if (ts.EtermLookfeel.BGEnable != btn->GetCheck()) {
1092     flag_changed = 1;
1093     ts.EtermLookfeel.BGEnable = btn->GetCheck();
1094     }
1095 maya 3227
1096 yutakapon 4942 if (ts.EtermLookfeel.BGEnable) {
1097     GetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
1098 yutakapon 4945 } else {
1099     strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
1100 yutakapon 4942 }
1101    
1102 maya 3227 // (3)
1103     listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1104     sel = listbox->GetCurSel();
1105     if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
1106     strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
1107     }
1108    
1109 maya 4874 // (4)Font quality
1110     cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1111     switch (cmb->GetCurSel()) {
1112     case 0:
1113     ts.FontQuality = DEFAULT_QUALITY;
1114     break;
1115     case 1:
1116     ts.FontQuality = NONANTIALIASED_QUALITY;
1117     break;
1118     case 2:
1119     ts.FontQuality = ANTIALIASED_QUALITY;
1120     break;
1121     default: // 3
1122     ts.FontQuality = CLEARTYPE_QUALITY;
1123     break;
1124     }
1125    
1126     // (6) Attr Bold Color
1127 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1128     if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
1129     ts.ColorFlag ^= CF_BOLDCOLOR;
1130     }
1131    
1132 maya 4874 // (7) Attr Blink Color
1133 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1134     if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
1135     ts.ColorFlag ^= CF_BLINKCOLOR;
1136     }
1137    
1138 maya 4874 // (8) Attr Reverse Color
1139 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1140     if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoƒ‚�[ƒh(DECSCNM)Žž‚Í�ˆ—�‚ð•Ï‚¦‚é
1141     if (ts.ColorFlag & CF_REVERSECOLOR) {
1142     if (!btn->GetCheck()) {
1143     TmpColor = ts.VTColor[0];
1144     ts.VTColor[0] = ts.VTReverseColor[1];
1145     ts.VTReverseColor[1] = ts.VTColor[1];
1146     ts.VTColor[1] = ts.VTReverseColor[0];
1147     ts.VTReverseColor[0] = TmpColor;
1148     ts.ColorFlag ^= CF_REVERSECOLOR;
1149     }
1150     }
1151     else if (btn->GetCheck()) {
1152     TmpColor = ts.VTColor[0];
1153     ts.VTColor[0] = ts.VTReverseColor[0];
1154     ts.VTReverseColor[0] = ts.VTColor[1];
1155     ts.VTColor[1] = ts.VTReverseColor[1];
1156     ts.VTReverseColor[1] = TmpColor;
1157     ts.ColorFlag ^= CF_REVERSECOLOR;
1158     }
1159     }
1160     else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
1161     ts.ColorFlag ^= CF_REVERSECOLOR;
1162     }
1163    
1164 maya 4874 // (9) URL Color
1165 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1166     if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
1167     ts.ColorFlag ^= CF_URLCOLOR;
1168     }
1169    
1170 maya 4874 // (10) Color
1171 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1172     if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
1173     ts.ColorFlag ^= CF_ANSICOLOR;
1174     }
1175    
1176 maya 4874 // (11) URL Underline
1177 doda 3667 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1178     if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {
1179     ts.FontFlag ^= FF_URLUNDERLINE;
1180     }
1181    
1182 maya 3227 // 2006/03/11 by 337 : Alpha’l‚à‘¦Žž•Ï�X
1183     // Layered‘‹‚ɂȂÁ‚Ä‚¢‚È‚¢�ê�‡‚ÍŒø‰Ê‚ª–³‚¢
1184     if (ts.EtermLookfeel.BGUseAlphaBlendAPI) {
1185     // ‹N“®Žž‚É”¼“§–¾ƒŒƒCƒ„‚É‚µ‚Ä‚¢‚È‚¢�ê�‡‚Å‚à�A‘¦�À‚É”¼“§–¾‚Æ‚È‚é‚æ‚¤‚É‚·‚é�B(2006.4.1 yutaka)
1186     //MySetLayeredWindowAttributes(HVTWin, 0, (ts.AlphaBlend > 255) ? 255: ts.AlphaBlend, LWA_ALPHA);
1187     // ’l‚ª•Ï�X‚³‚ꂽ‚Æ‚«‚Ì‚Ý�Ý’è‚𔽉f‚·‚é�B(2007.10.19 maya)
1188     if (ts.AlphaBlend != beforeAlphaBlend) {
1189     SetWindowStyle(&ts);
1190     }
1191     }
1192 yutakapon 4916
1193     if (flag_changed) {
1194     // re-launch
1195 maya 4944 // RestartTeraTerm(GetSafeHwnd(), &ts);
1196 yutakapon 4916 }
1197 maya 3227 }
1198    
1199    
1200    
1201     // CLogPropPageDlg ƒ_ƒCƒAƒ�ƒO
1202    
1203     IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
1204    
1205     CLogPropPageDlg::CLogPropPageDlg()
1206     : CPropertyPage(CLogPropPageDlg::IDD)
1207     {
1208    
1209     }
1210    
1211     CLogPropPageDlg::~CLogPropPageDlg()
1212     {
1213     if (DlgLogFont != NULL) {
1214     DeleteObject(DlgLogFont);
1215     }
1216     }
1217    
1218     BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
1219     END_MESSAGE_MAP()
1220    
1221     // CLogPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1222    
1223 yutakapon 5171 #define LOG_ROTATE_SIZETYPE_NUM 3
1224     static char *LogRotateSizeType[] = {
1225     "Byte", "KB", "MB"
1226     };
1227    
1228     static char *GetLogRotateSizeType(int val)
1229     {
1230     if (val >= LOG_ROTATE_SIZETYPE_NUM)
1231     val = 0;
1232    
1233     return LogRotateSizeType[val];
1234     }
1235    
1236 maya 3227 BOOL CLogPropPageDlg::OnInitDialog()
1237     {
1238     char uimsg[MAX_UIMSG];
1239     CButton *btn;
1240 yutakapon 5171 CComboBox *combo;
1241     int i;
1242 maya 3227
1243     CPropertyPage::OnInitDialog();
1244    
1245     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1246     GetObject(font, sizeof(LOGFONT), &logfont);
1247     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
1248     SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1249     SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1250     SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1251     SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1252     SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1253     SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1254     SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1255     SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1256     SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1257 yutakapon 5171
1258     // Log rotate
1259     SendDlgItemMessage(IDC_LOG_ROTATE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1260     SendDlgItemMessage(IDC_ROTATE_SIZE_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1261     SendDlgItemMessage(IDC_ROTATE_SIZE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1262     SendDlgItemMessage(IDC_ROTATE_SIZE_TYPE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1263     SendDlgItemMessage(IDC_ROTATE_STEP_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1264     SendDlgItemMessage(IDC_ROTATE_STEP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1265 maya 3227 }
1266     else {
1267     DlgLogFont = NULL;
1268     }
1269    
1270     GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
1271     get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1272     SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
1273     GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
1274     get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1275     SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
1276     GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
1277     get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1278     SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
1279     GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
1280     get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1281     SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
1282 yutakapon 5172 // Log rotate
1283     GetDlgItemText(IDC_LOG_ROTATE, uimsg, sizeof(uimsg));
1284 yutakapon 5171 get_lang_msg("DLG_TAB_LOG_ROTATE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1285     SetDlgItemText(IDC_LOG_ROTATE, ts.UIMsg);
1286 yutakapon 5172 GetDlgItemText(IDC_ROTATE_SIZE_TEXT, uimsg, sizeof(uimsg));
1287 yutakapon 5171 get_lang_msg("DLG_TAB_LOG_ROTATE_SIZE_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1288     SetDlgItemText(IDC_ROTATE_SIZE_TEXT, ts.UIMsg);
1289 yutakapon 5172 GetDlgItemText(IDC_ROTATE_STEP_TEXT, uimsg, sizeof(uimsg));
1290 yutakapon 5171 get_lang_msg("IDC_ROTATE_STEP_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1291     SetDlgItemText(IDC_ROTATE_STEP_TEXT, ts.UIMsg);
1292 maya 3227
1293 yutakapon 5171
1294 maya 3227 // Viewlog Editor path (2005.1.29 yutaka)
1295     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1296    
1297     // Log Default File Name (2006.8.28 maya)
1298     SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1299    
1300     // Log Default File Path (2007.5.30 maya)
1301     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1302    
1303     /* Auto start logging (2007.5.31 maya) */
1304     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1305     btn->SetCheck(ts.LogAutoStart);
1306    
1307 yutakapon 5171 // Log rotate
1308     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1309     btn->SetCheck(ts.LogRotate != ROTATE_NONE);
1310    
1311     combo = (CComboBox *)GetDlgItem(IDC_ROTATE_SIZE_TYPE);
1312     for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1313     combo->AddString(LogRotateSizeType[i]);
1314     }
1315    
1316     SetDlgItemInt(IDC_ROTATE_SIZE, ts.LogRotateSize, FALSE);
1317     combo->SelectString(-1, GetLogRotateSizeType(ts.LogRotateSizeType));
1318     SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1319     if (ts.LogRotate == ROTATE_NONE) {
1320     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1321     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1322     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1323     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1324     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1325     } else {
1326     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1327     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1328     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1329     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1330     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1331     }
1332    
1333    
1334 maya 3227 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1335     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1336    
1337     return FALSE;
1338     }
1339    
1340     BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1341     {
1342     char uimsg[MAX_UIMSG];
1343    
1344     switch (wParam) {
1345     case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1346     {
1347     OPENFILENAME ofn;
1348    
1349     ZeroMemory(&ofn, sizeof(ofn));
1350     ofn.lStructSize = get_OPENFILENAME_SIZE();
1351     ofn.hwndOwner = GetSafeHwnd();
1352     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1353     "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1354     ofn.lpstrFilter = ts.UIMsg;
1355     ofn.lpstrFile = ts.ViewlogEditor;
1356     ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1357     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1358     "Choose a executing file with launching logging file", ts.UILanguageFile);
1359     ofn.lpstrTitle = uimsg;
1360     ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1361     if (GetOpenFileName(&ofn) != 0) {
1362     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1363     }
1364     }
1365     return TRUE;
1366    
1367     case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1368     // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1369     get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1370     "Select log folder", ts.UILanguageFile);
1371     doSelectFolder(GetSafeHwnd(), ts.LogDefaultPath, sizeof(ts.LogDefaultPath),
1372     ts.UIMsg);
1373     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1374    
1375     return TRUE;
1376 yutakapon 5171
1377     case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1378     {
1379     CButton *btn;
1380     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1381     if (btn->GetCheck()) {
1382     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1383     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1384     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1385     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1386     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1387     } else {
1388     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1389     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1390     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1391     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1392     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1393     }
1394    
1395     }
1396     return TRUE;
1397 maya 3227 }
1398    
1399     return CPropertyPage::OnCommand(wParam, lParam);
1400     }
1401    
1402     void CLogPropPageDlg::OnOK()
1403     {
1404     char buf[80], buf2[80];
1405     time_t time_local;
1406     struct tm *tm_local;
1407     char uimsg[MAX_UIMSG];
1408     CButton *btn;
1409 yutakapon 5171 CString str;
1410     int i;
1411 maya 3227
1412     // Viewlog Editor path (2005.1.29 yutaka)
1413     GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1414    
1415     // Log Default File Name (2006.8.28 maya)
1416     GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1417     if (isInvalidStrftimeChar(buf)) {
1418     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1419     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1420     "Invalid character is included in log file name.", ts.UILanguageFile);
1421     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1422     return;
1423     }
1424     // Œ»�ÝŽž��‚ðŽæ“¾
1425     time(&time_local);
1426     tm_local = localtime(&time_local);
1427     // Žž��•¶Žš—ñ‚ɕϊ·
1428     if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1429     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1430     get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1431     "The log file name is too long.", ts.UILanguageFile);
1432     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1433     return;
1434     }
1435     if (isInvalidFileNameChar(buf2)) {
1436     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1437     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1438     "Invalid character is included in log file name.", ts.UILanguageFile);
1439     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1440     return;
1441     }
1442     strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1443    
1444     // Log Default File Path (2007.5.30 maya)
1445     GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1446    
1447     /* Auto start logging (2007.5.31 maya) */
1448     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1449     ts.LogAutoStart = btn->GetCheck();
1450 yutakapon 5171
1451     /* Log Rotate */
1452     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1453     if (btn->GetCheck()) { /* on */
1454     ts.LogRotate = ROTATE_SIZE;
1455    
1456     ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);
1457     for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1458     if (strcmp(str, LogRotateSizeType[i]) == 0)
1459     break;
1460     }
1461     if (i >= LOG_ROTATE_SIZETYPE_NUM)
1462     i = 0;
1463     ts.LogRotateSizeType = i;
1464    
1465     ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1466     for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1467     ts.LogRotateSize *= 1024;
1468    
1469     ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1470    
1471     } else { /* off */
1472     ts.LogRotate = ROTATE_NONE;
1473     /* Žc‚è‚̃�ƒ“ƒo�[‚͈Ó�}“I‚É�Ý’è‚ðŽc‚·�B*/
1474     }
1475    
1476 maya 3227 }
1477    
1478    
1479    
1480     // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
1481    
1482     IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1483    
1484     CCygwinPropPageDlg::CCygwinPropPageDlg()
1485     : CPropertyPage(CCygwinPropPageDlg::IDD)
1486     {
1487     }
1488    
1489     CCygwinPropPageDlg::~CCygwinPropPageDlg()
1490     {
1491     if (DlgCygwinFont != NULL) {
1492     DeleteObject(DlgCygwinFont);
1493     }
1494     }
1495    
1496     BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1497     END_MESSAGE_MAP()
1498    
1499     // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1500 yutakapon 4918 #define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file
1501 maya 3227
1502     BOOL CCygwinPropPageDlg::OnInitDialog()
1503     {
1504 yutakapon 4918 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1505 maya 3227 char cfg[MAX_PATH];
1506     FILE *fp;
1507     char buf[256], *head, *body;
1508     char uimsg[MAX_UIMSG];
1509     CButton *btn;
1510    
1511     CPropertyPage::OnInitDialog();
1512    
1513     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1514     GetObject(font, sizeof(LOGFONT), &logfont);
1515     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1516     SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1517     SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1518     SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1519     SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1520     SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1521     SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1522     SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1523     SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1524     SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1525     SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1526     SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1527     SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1528     SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1529     SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1530     SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1531     SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1532     SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1533     SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1534     SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1535     SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1536     SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1537     }
1538     else {
1539     DlgCygwinFont = NULL;
1540     }
1541    
1542     GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1543     get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1544     SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1545    
1546     // try to read CygTerm config file
1547     memset(&settings, 0, sizeof(settings));
1548     _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
1549     _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
1550     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
1551     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
1552     _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
1553     _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
1554     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
1555     settings.login_shell = FALSE;
1556     settings.home_chdir = FALSE;
1557     settings.agent_proxy = FALSE;
1558    
1559     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1560     AppendSlash(cfg, sizeof(cfg));
1561     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1562    
1563     fp = fopen(cfg, "r");
1564     if (fp != NULL) {
1565     while (fgets(buf, sizeof(buf), fp) != NULL) {
1566     int len = strlen(buf);
1567    
1568     if (buf[len - 1] == '\n')
1569     buf[len - 1] = '\0';
1570    
1571     split_buffer(buf, '=', &head, &body);
1572     if (head == NULL || body == NULL)
1573     continue;
1574    
1575     if (_stricmp(head, "TERM") == 0) {
1576     _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1577    
1578     } else if (_stricmp(head, "TERM_TYPE") == 0) {
1579     _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1580    
1581     } else if (_stricmp(head, "PORT_START") == 0) {
1582     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1583    
1584     } else if (_stricmp(head, "PORT_RANGE") == 0) {
1585     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1586    
1587     } else if (_stricmp(head, "SHELL") == 0) {
1588     _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1589    
1590     } else if (_stricmp(head, "ENV_1") == 0) {
1591     _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1592    
1593     } else if (_stricmp(head, "ENV_2") == 0) {
1594     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1595    
1596     } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1597     if (strchr("YyTt", *body)) {
1598     settings.login_shell = TRUE;
1599     }
1600    
1601     } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1602     if (strchr("YyTt", *body)) {
1603     settings.home_chdir = TRUE;
1604     }
1605    
1606     } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1607     if (strchr("YyTt", *body)) {
1608     settings.agent_proxy = TRUE;
1609     }
1610    
1611     } else {
1612     // TODO: error check
1613    
1614     }
1615     }
1616     fclose(fp);
1617     }
1618     SetDlgItemText(IDC_TERM_EDIT, settings.term);
1619     SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1620     SetDlgItemText(IDC_PORT_START, settings.port_start);
1621     SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1622     SetDlgItemText(IDC_SHELL, settings.shell);
1623     SetDlgItemText(IDC_ENV1, settings.env1);
1624     SetDlgItemText(IDC_ENV2, settings.env2);
1625     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1626     btn->SetCheck(settings.login_shell);
1627     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1628     btn->SetCheck(settings.home_chdir);
1629     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1630     btn->SetCheck(settings.agent_proxy);
1631    
1632     // Cygwin install path
1633     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1634    
1635     // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1636     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1637    
1638     return FALSE;
1639     }
1640    
1641     BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1642     {
1643     switch (wParam) {
1644     case IDC_SELECT_FILE | (BN_CLICKED << 16):
1645     // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1646     get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1647     "Select Cygwin directory", ts.UILanguageFile);
1648     doSelectFolder(GetSafeHwnd(), ts.CygwinDirectory, sizeof(ts.CygwinDirectory),
1649     ts.UIMsg);
1650     // Cygwin install path
1651     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1652     return TRUE;
1653     }
1654    
1655     return CPropertyPage::OnCommand(wParam, lParam);
1656     }
1657    
1658     void CCygwinPropPageDlg::OnOK()
1659     {
1660 yutakapon 4918 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1661 maya 3227 char *tmpfile = "cygterm.tmp";
1662     char cfg[MAX_PATH];
1663     char tmp[MAX_PATH];
1664     FILE *fp;
1665     FILE *tmp_fp;
1666     char buf[256], *head, *body;
1667     char uimsg[MAX_UIMSG];
1668     CButton *btn;
1669    
1670     // writing to CygTerm config file
1671     GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1672     GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1673     GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1674     GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1675     GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1676     GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1677     GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1678     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1679     settings.login_shell = btn->GetCheck();
1680     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1681     settings.home_chdir = btn->GetCheck();
1682     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1683     settings.agent_proxy = btn->GetCheck();
1684    
1685     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1686     AppendSlash(cfg, sizeof(cfg));
1687     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1688    
1689     strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1690     AppendSlash(tmp, sizeof(tmp));
1691     strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1692    
1693     fp = fopen(cfg, "r");
1694     tmp_fp = fopen(tmp, "w");
1695     if (tmp_fp == NULL) {
1696     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1697     get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1698     "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1699     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1700     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1701     } else {
1702     if (fp != NULL) {
1703     while (fgets(buf, sizeof(buf), fp) != NULL) {
1704     int len = strlen(buf);
1705    
1706     if (buf[len - 1] == '\n')
1707     buf[len - 1] = '\0';
1708    
1709     split_buffer(buf, '=', &head, &body);
1710     if (head == NULL || body == NULL) {
1711     fprintf(tmp_fp, "%s\n", buf);
1712     }
1713     else if (_stricmp(head, "TERM") == 0) {
1714     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1715     settings.term[0] = '\0';
1716     }
1717     else if (_stricmp(head, "TERM_TYPE") == 0) {
1718     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1719     settings.term_type[0] = '\0';
1720     }
1721     else if (_stricmp(head, "PORT_START") == 0) {
1722     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1723     settings.port_start[0] = '\0';
1724     }
1725     else if (_stricmp(head, "PORT_RANGE") == 0) {
1726     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1727     settings.port_range[0] = '\0';
1728     }
1729     else if (_stricmp(head, "SHELL") == 0) {
1730     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1731     settings.shell[0] = '\0';
1732     }
1733     else if (_stricmp(head, "ENV_1") == 0) {
1734     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1735     settings.env1[0] = '\0';
1736     }
1737     else if (_stricmp(head, "ENV_2") == 0) {
1738     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1739     settings.env2[0] = '\0';
1740     }
1741     else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1742     fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1743     settings.login_shell = FALSE;
1744     }
1745     else if (_stricmp(head, "HOME_CHDIR") == 0) {
1746     fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1747     settings.home_chdir = FALSE;
1748     }
1749     else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1750     fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1751     settings.agent_proxy = FALSE;
1752     }
1753     else {
1754     fprintf(tmp_fp, "%s = %s\n", head, body);
1755     }
1756     }
1757     fclose(fp);
1758     }
1759     else {
1760     fputs("# CygTerm setting\n", tmp_fp);
1761     fputs("\n", tmp_fp);
1762     }
1763     if (settings.term[0] != '\0') {
1764     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1765     }
1766     if (settings.term_type[0] != '\0') {
1767     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1768     }
1769     if (settings.port_start[0] != '\0') {
1770     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1771     }
1772     if (settings.port_range[0] != '\0') {
1773     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1774     }
1775     if (settings.shell[0] != '\0') {
1776     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1777     }
1778     if (settings.env1[0] != '\0') {
1779     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1780     }
1781     if (settings.env2[0] != '\0') {
1782     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1783     }
1784     if (settings.login_shell) {
1785     fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1786     }
1787     if (settings.home_chdir) {
1788     fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1789     }
1790     if (settings.agent_proxy) {
1791     fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1792     }
1793     fclose(tmp_fp);
1794    
1795     if (remove(cfg) != 0 && errno != ENOENT) {
1796     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1797     get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1798     "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1799     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1800     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1801     }
1802     else if (rename(tmp, cfg) != 0) {
1803     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1804     get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1805     "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1806     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1807     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1808 yutakapon 4918 } else {
1809     // cygterm.cfg ƒtƒ@ƒCƒ‹‚ւ̕ۑ¶‚ª�¬Œ÷‚µ‚½‚ç�Aƒ�ƒbƒZ�[ƒWƒ_ƒCƒAƒ�ƒO‚ð•\ަ‚·‚é�B
1810     // ‰ü‚ß‚Ä�ASave setup‚ðŽÀ�s‚·‚é•K—v‚͂Ȃ¢‚±‚Æ‚ð’�ˆÓŠ«‹N‚·‚é�B
1811     // (2012.5.1 yutaka)
1812 maya 5129 get_lang_msg("MSG_TT_NOTICE", uimsg, sizeof(uimsg), "MSG_TT_NOTICE", ts.UILanguageFile);
1813     get_lang_msg("MSG_CYGTERM_CONF_SAVED_NOTICE", ts.UIMsg, sizeof(ts.UIMsg),
1814     "%s has been saved. Do not do save setup.", ts.UILanguageFile);
1815     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, CYGTERM_FILE);
1816     MessageBox(buf, uimsg, MB_OK | MB_ICONINFORMATION);
1817 maya 3227 }
1818     }
1819    
1820     // Cygwin install path
1821     GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1822     }
1823    
1824    
1825    
1826     // CAddSettingPropSheetDlg
1827    
1828     IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1829    
1830     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1831     :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1832     {
1833     AddPage(&m_GeneralPage);
1834 maya 3777 AddPage(&m_SequencePage);
1835     AddPage(&m_CopypastePage);
1836 maya 3227 AddPage(&m_VisualPage);
1837     AddPage(&m_LogPage);
1838     AddPage(&m_CygwinPage);
1839    
1840     m_psh.dwFlags |= PSH_NOAPPLYNOW;
1841     }
1842    
1843     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
1844     :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
1845     {
1846     AddPage(&m_GeneralPage);
1847 maya 3777 AddPage(&m_SequencePage);
1848 maya 3227 AddPage(&m_CopypastePage);
1849     AddPage(&m_VisualPage);
1850     AddPage(&m_LogPage);
1851     AddPage(&m_CygwinPage);
1852    
1853     m_psh.dwFlags |= PSH_NOAPPLYNOW;
1854     }
1855    
1856     CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1857     {
1858     }
1859    
1860    
1861     BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
1862     END_MESSAGE_MAP()
1863    
1864    
1865     // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1866    
1867     BOOL CAddSettingPropSheetDlg::OnInitDialog()
1868     {
1869     CPropertySheet::OnInitDialog();
1870    
1871     get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1872     "Tera Term: Additional settings", ts.UILanguageFile);
1873     SetWindowText(ts.UIMsg);
1874    
1875     CTabCtrl *tab = GetTabControl();
1876     TCITEM tc;
1877     tc.mask = TCIF_TEXT;
1878    
1879     get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
1880     "General", ts.UILanguageFile);
1881     tc.pszText = ts.UIMsg;
1882     tab->SetItem(0, &tc);
1883    
1884 maya 3777 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
1885     "Control Sequence", ts.UILanguageFile);
1886     tc.pszText = ts.UIMsg;
1887     tab->SetItem(1, &tc);
1888    
1889 maya 3227 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
1890     "Copy and Paste", ts.UILanguageFile);
1891     tc.pszText = ts.UIMsg;
1892 maya 3777 tab->SetItem(2, &tc);
1893 maya 3227
1894     get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
1895     "Visual", ts.UILanguageFile);
1896     tc.pszText = ts.UIMsg;
1897 maya 3777 tab->SetItem(3, &tc);
1898 maya 3227
1899     get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
1900     "Log", ts.UILanguageFile);
1901     tc.pszText = ts.UIMsg;
1902 maya 3777 tab->SetItem(4, &tc);
1903 maya 3227
1904     get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
1905     "Cygwin", ts.UILanguageFile);
1906     tc.pszText = ts.UIMsg;
1907 maya 3777 tab->SetItem(5, &tc);
1908 maya 3227
1909     return FALSE;
1910     }

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