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

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