Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/teraterm/teraterm/addsetting.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5171 - (hide annotations) (download) (as text)
Sun Mar 24 10:55:37 2013 UTC (11 years ago) by yutakapon
File MIME type: text/x-c++src
File size: 70233 byte(s)
ログ・ローテートの設定を Additional settings ダイアログから行えるようにした。

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

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