Develop and Download Open Source Software

Browse Subversion Repository

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2673 - (hide annotations) (download) (as text)
Tue Mar 3 12:33:49 2009 UTC (15 years, 1 month ago) by doda
Original Path: teraterm/trunk/teraterm/addsetting.cpp
File MIME type: text/x-c++src
File size: 46242 byte(s)
Reverse Videoモード(DECSCNMがon)の時、Additional settingsダイアログでのEnableReverseAttrColorの設定変更が正しく動かないのを修正。

1 maya 2504 /*
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    
15     mouse_cursor_t MouseCursor[] = {
16     {"ARROW", IDC_ARROW},
17     {"IBEAM", IDC_IBEAM},
18     {"CROSS", IDC_CROSS},
19     {"HAND", IDC_HAND},
20     {NULL, NULL},
21     };
22     #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
23    
24     // –{‘Ì‚Í vtwin.cpp
25     extern void SetWindowStyle(TTTSet *ts);
26    
27     void split_buffer(char *buffer, int delimiter, char **head, char **body)
28     {
29     char *p1, *p2;
30    
31     *head = *body = NULL;
32    
33     if (!isalnum(*buffer) || (p1 = strchr(buffer, delimiter)) == NULL) {
34     return;
35     }
36    
37     *head = buffer;
38    
39     p2 = buffer;
40     while (p2 < p1 && !isspace(*p2)) {
41     p2++;
42     }
43    
44     *p2 = '\0';
45    
46     p1++;
47     while (*p1 && isspace(*p1)) {
48     p1++;
49     }
50    
51     *body = p1;
52     }
53    
54    
55     static void SetupRGBbox(HWND hDlgWnd, int index)
56     {
57     HWND hWnd;
58     BYTE c;
59     char buf[10];
60    
61     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
62     c = GetRValue(ts.ANSIColor[index]);
63     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
64     SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
65    
66     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
67     c = GetGValue(ts.ANSIColor[index]);
68     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
69     SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
70    
71     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
72     c = GetBValue(ts.ANSIColor[index]);
73     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);
74     SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);
75     }
76    
77    
78    
79     // CGeneralPropPageDlg ƒ_ƒCƒAƒ�ƒO
80    
81     IMPLEMENT_DYNAMIC(CGeneralPropPageDlg, CPropertyPage)
82    
83     CGeneralPropPageDlg::CGeneralPropPageDlg()
84     : CPropertyPage(CGeneralPropPageDlg::IDD)
85     {
86     }
87    
88     CGeneralPropPageDlg::~CGeneralPropPageDlg()
89     {
90     if (DlgGeneralFont != NULL) {
91     DeleteObject(DlgGeneralFont);
92     }
93     }
94    
95     BEGIN_MESSAGE_MAP(CGeneralPropPageDlg, CPropertyPage)
96     END_MESSAGE_MAP()
97    
98     // CGeneralPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
99    
100     BOOL CGeneralPropPageDlg::OnInitDialog()
101     {
102     char uimsg[MAX_UIMSG];
103     char buf[64];
104 doda 2628 CButton *btn, *btn2;
105 maya 2603 CComboBox *cmb;
106 maya 2504
107     CPropertyPage::OnInitDialog();
108    
109     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
110     GetObject(font, sizeof(LOGFONT), &logfont);
111     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgGeneralFont, ts.UILanguageFile)) {
112     SendDlgItemMessage(IDC_CLICKABLE_URL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
113 maya 2507 SendDlgItemMessage(IDC_DISABLE_SENDBREAK, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
114 maya 2504 SendDlgItemMessage(IDC_ACCEPT_BROADCAST, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0)); // 337: 2007/03/20
115     SendDlgItemMessage(IDC_MOUSEWHEEL_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
116 maya 2507 SendDlgItemMessage(IDC_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
117 maya 2504 SendDlgItemMessage(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
118 maya 2607 SendDlgItemMessage(IDC_ACCEPT_MOUSE_EVENT_TRACKING, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
119 doda 2628 SendDlgItemMessage(IDC_DISABLE_MOUSE_TRACKING_CTRL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
120 maya 2607 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING_LABEL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
121     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));
122 maya 2504 }
123     else {
124     DlgGeneralFont = NULL;
125     }
126    
127     GetDlgItemText(IDC_CLICKABLE_URL, uimsg, sizeof(uimsg));
128     get_lang_msg("DLG_TAB_GENERAL_CLICKURL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
129     SetDlgItemText(IDC_CLICKABLE_URL, ts.UIMsg);
130 maya 2507 GetDlgItemText(IDC_DISABLE_SENDBREAK, uimsg, sizeof(uimsg));
131     get_lang_msg("DLG_TAB_GENERAL_DISABLESENDBREAK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
132     SetDlgItemText(IDC_DISABLE_SENDBREAK, ts.UIMsg);
133 maya 2504 GetDlgItemText(IDC_ACCEPT_BROADCAST, uimsg, sizeof(uimsg));
134     get_lang_msg("DLG_TAB_GENERAL_ACCEPTBROADCAST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
135     SetDlgItemText(IDC_ACCEPT_BROADCAST, ts.UIMsg);
136     GetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, uimsg, sizeof(uimsg));
137 maya 2507 get_lang_msg("DLG_TAB_GENERAL_MOUSEWHEEL_SCROLL_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
138 maya 2504 SetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, ts.UIMsg);
139     GetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, uimsg, sizeof(uimsg));
140     get_lang_msg("DLG_TAB_GENERAL_AUTOSCROLL_ONLY_IN_BOTTOM_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
141     SetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, ts.UIMsg);
142 doda 2525 GetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, uimsg, sizeof(uimsg));
143     get_lang_msg("DLG_TAB_GENERAL_ACCEPT_MOUSE_EVENT_TRACKING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
144     SetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.UIMsg);
145 doda 2628 GetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, uimsg, sizeof(uimsg));
146     get_lang_msg("DLG_TAB_GENERAL_DISABLE_MOUSE_TRACKING_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
147     SetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.UIMsg);
148 maya 2603 GetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, uimsg, sizeof(uimsg));
149 doda 2558 get_lang_msg("DLG_TAB_GENERAL_ACCEPT_TITLE_CHANGING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
150 maya 2603 SetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, ts.UIMsg);
151 doda 2558
152 maya 2607 get_lang_msg("DLG_TAB_GENERAL_ACCEPT_TITLE_CHANGING_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);
153     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
154     get_lang_msg("DLG_TAB_GENERAL_ACCEPT_TITLE_CHANGING_OVERWRITE", ts.UIMsg, sizeof(ts.UIMsg), "overwrite", ts.UILanguageFile);
155     SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
156 maya 2608 get_lang_msg("DLG_TAB_GENERAL_ACCEPT_TITLE_CHANGING_AHEAD", ts.UIMsg, sizeof(ts.UIMsg), "ahead", ts.UILanguageFile);
157 maya 2607 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
158 maya 2608 get_lang_msg("DLG_TAB_GENERAL_ACCEPT_TITLE_CHANGING_LAST", ts.UIMsg, sizeof(ts.UIMsg), "last", ts.UILanguageFile);
159 maya 2607 SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
160 maya 2603
161    
162 maya 2507 // (1)DisableAcceleratorSendBreak
163     btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
164     btn->SetCheck(ts.DisableAcceleratorSendBreak);
165    
166     // (2)EnableClickableUrl
167     btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
168     btn->SetCheck(ts.EnableClickableUrl);
169    
170 doda 2619 // (3)AcceptBroadcast 337: 2007/03/20
171 maya 2507 btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
172     btn->SetCheck(ts.AcceptBroadcast);
173    
174 doda 2619 // (4)IDC_MOUSEWHEEL_SCROLL_LINE
175 maya 2507 _snprintf_s(buf, sizeof(buf), "%d", ts.MouseWheelScrollLine);
176     SetDlgItemText(IDC_SCROLL_LINE, buf);
177    
178 doda 2619 // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
179 maya 2507 btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
180     btn->SetCheck(ts.AutoScrollOnlyInBottomLine);
181    
182 doda 2619 // (6)IDC_ACCEPT_MOUSE_EVENT_TRACKING
183 doda 2525 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
184 doda 2628 btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
185 doda 2525 btn->SetCheck(ts.MouseEventTracking);
186 doda 2628 if (ts.MouseEventTracking) {
187     btn2->EnableWindow(TRUE);
188     } else {
189     btn2->EnableWindow(FALSE);
190     }
191 doda 2525
192 doda 2628 // (7)IDC_DISABLE_MOUSE_TRACKING_CTRL
193     btn2->SetCheck(ts.DisableMouseTrackingByCtrl);
194    
195     // (8)IDC_ACCEPT_TITLE_CHANGING
196 maya 2603 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
197     cmb->SetCurSel(ts.AcceptTitleChangeRequest);
198 doda 2558
199 maya 2507 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é (2004.12.7 yutaka)
200     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
201    
202     return FALSE;
203     }
204    
205     BOOL CGeneralPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
206     {
207 doda 2628 CButton *btn, *btn2;
208    
209     switch (wParam) {
210     case IDC_ACCEPT_MOUSE_EVENT_TRACKING | (BN_CLICKED << 16):
211     btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
212     btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
213     if (btn->GetCheck()) {
214     btn2->EnableWindow(TRUE);
215     } else {
216     btn2->EnableWindow(FALSE);
217     }
218     return TRUE;
219     }
220 maya 2507 return CPropertyPage::OnCommand(wParam, lParam);
221     }
222    
223     void CGeneralPropPageDlg::OnOK()
224     {
225     CButton *btn;
226 maya 2603 CComboBox *cmb;
227 maya 2507 char buf[64];
228     int val;
229    
230     // (1)
231     btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);
232     ts.DisableAcceleratorSendBreak = btn->GetCheck();
233    
234     // (2)
235     btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);
236     ts.EnableClickableUrl = btn->GetCheck();
237    
238 doda 2619 // (3) 337: 2007/03/20
239 maya 2507 btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);
240     ts.AcceptBroadcast = btn->GetCheck();
241    
242 doda 2619 // (4)IDC_MOUSEWHEEL_SCROLL_LINE
243 maya 2507 GetDlgItemText(IDC_SCROLL_LINE, buf, sizeof(buf));
244     val = atoi(buf);
245     if (val > 0)
246     ts.MouseWheelScrollLine = val;
247    
248 doda 2619 // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
249 maya 2507 btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
250     ts.AutoScrollOnlyInBottomLine = btn->GetCheck();
251 doda 2525
252 doda 2619 // (6)IDC_ACCEPT_MOUSE_EVENT_TRACKING
253 doda 2525 btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
254     ts.MouseEventTracking = btn->GetCheck();
255 doda 2558
256 doda 2628 // (7)IDC_DISABLE_MOUSE_TRACKING_CTRL
257     btn = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);
258     ts.DisableMouseTrackingByCtrl = btn->GetCheck();
259    
260     // (8)IDC_ACCEPT_TITLE_CHANGING
261 maya 2603 cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);
262     ts.AcceptTitleChangeRequest = cmb->GetCurSel();
263 maya 2507 }
264    
265    
266    
267     // CCopypastePropPageDlg ƒ_ƒCƒAƒ�ƒO
268    
269     IMPLEMENT_DYNAMIC(CCopypastePropPageDlg, CPropertyPage)
270    
271     CCopypastePropPageDlg::CCopypastePropPageDlg()
272     : CPropertyPage(CCopypastePropPageDlg::IDD)
273     {
274     }
275    
276     CCopypastePropPageDlg::~CCopypastePropPageDlg()
277     {
278     if (DlgCopypasteFont != NULL) {
279     DeleteObject(DlgCopypasteFont);
280     }
281     }
282    
283     BEGIN_MESSAGE_MAP(CCopypastePropPageDlg, CPropertyPage)
284     END_MESSAGE_MAP()
285    
286     // CCopypastePropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
287    
288     BOOL CCopypastePropPageDlg::OnInitDialog()
289     {
290     char uimsg[MAX_UIMSG];
291     CButton *btn, *btn2;
292    
293     CPropertyPage::OnInitDialog();
294    
295     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
296     GetObject(font, sizeof(LOGFONT), &logfont);
297     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCopypasteFont, ts.UILanguageFile)) {
298     SendDlgItemMessage(IDC_LINECOPY, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
299     SendDlgItemMessage(IDC_DISABLE_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
300     SendDlgItemMessage(IDC_CONFIRM_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
301     SendDlgItemMessage(IDC_SELECT_LBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
302     SendDlgItemMessage(IDC_CONFIRM_CHANGE_PASTE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
303 doda 2619 SendDlgItemMessage(IDC_DELIMITER, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
304     SendDlgItemMessage(IDC_DELIM_LIST, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));
305 maya 2507 }
306     else {
307     DlgCopypasteFont = NULL;
308     }
309    
310     GetDlgItemText(IDC_LINECOPY, uimsg, sizeof(uimsg));
311     get_lang_msg("DLG_TAB_COPYPASTE_CONTINUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
312     SetDlgItemText(IDC_LINECOPY, ts.UIMsg);
313     GetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, uimsg, sizeof(uimsg));
314     get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
315     SetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, ts.UIMsg);
316     GetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, uimsg, sizeof(uimsg));
317     get_lang_msg("DLG_TAB_COPYPASTE_CONFIRMPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
318     SetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, ts.UIMsg);
319     GetDlgItemText(IDC_SELECT_LBUTTON, uimsg, sizeof(uimsg));
320     get_lang_msg("DLG_TAB_COPYPASTE_SELECTLBUTTON", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
321     SetDlgItemText(IDC_SELECT_LBUTTON, ts.UIMsg);
322     GetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, uimsg, sizeof(uimsg));
323     get_lang_msg("DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
324     SetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, ts.UIMsg);
325 doda 2619 GetDlgItemText(IDC_DELIMITER, uimsg, sizeof(uimsg));
326     get_lang_msg("DLG_TAB_COPYPASTE_DELIMITER", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
327     SetDlgItemText(IDC_DELIMITER, ts.UIMsg);
328 maya 2507
329 maya 2504 // (1)Enable continued-line copy
330     btn = (CButton *)GetDlgItem(IDC_LINECOPY);
331     btn->SetCheck(ts.EnableContinuedLineCopy);
332    
333     // (2)DisablePasteMouseRButton
334     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
335     btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
336     btn->SetCheck(ts.DisablePasteMouseRButton);
337     if (ts.DisablePasteMouseRButton) {
338     btn2->EnableWindow(FALSE);
339     } else {
340     btn2->EnableWindow(TRUE);
341     }
342    
343     // (3)ConfirmPasteMouseRButton
344     btn2->SetCheck(ts.ConfirmPasteMouseRButton);
345    
346     // (4)SelectOnlyByLButton
347     btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
348     btn->SetCheck(ts.SelectOnlyByLButton);
349    
350 maya 2507 // (5)ConfirmChangePaste
351 maya 2504 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
352     btn->SetCheck(ts.ConfirmChangePaste);
353    
354 doda 2619 // (6)delimiter characters
355     SetDlgItemText(IDC_DELIM_LIST, ts.DelimList);
356    
357    
358 maya 2507 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
359 maya 2504 ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));
360    
361     return FALSE;
362     }
363    
364 maya 2507 BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
365 maya 2504 {
366     CButton *btn, *btn2;
367    
368     switch (wParam) {
369     case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):
370     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
371     btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
372     if (btn->GetCheck()) {
373     btn2->EnableWindow(FALSE);
374     } else {
375     btn2->EnableWindow(TRUE);
376     }
377     return TRUE;
378     }
379    
380     return CPropertyPage::OnCommand(wParam, lParam);
381     }
382    
383 maya 2507 void CCopypastePropPageDlg::OnOK()
384 maya 2504 {
385     CButton *btn;
386    
387     // (1)
388     btn = (CButton *)GetDlgItem(IDC_LINECOPY);
389     ts.EnableContinuedLineCopy = btn->GetCheck();
390    
391     // (2)
392     btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);
393     ts.DisablePasteMouseRButton = btn->GetCheck();
394    
395     // (3)
396     btn = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);
397     ts.ConfirmPasteMouseRButton = btn->GetCheck();
398    
399     // (4)
400     btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);
401     ts.SelectOnlyByLButton = btn->GetCheck();
402    
403 maya 2507 // (5)IDC_CONFIRM_CHANGE_PASTE
404 maya 2504 btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);
405     ts.ConfirmChangePaste = btn->GetCheck();
406 doda 2619
407     // (6)
408     GetDlgItemText(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
409 maya 2504 }
410    
411    
412    
413     // CVisualPropPageDlg ƒ_ƒCƒAƒ�ƒO
414    
415     IMPLEMENT_DYNAMIC(CVisualPropPageDlg, CPropertyPage)
416    
417     CVisualPropPageDlg::CVisualPropPageDlg()
418     : CPropertyPage(CVisualPropPageDlg::IDD)
419     {
420    
421     }
422    
423     CVisualPropPageDlg::~CVisualPropPageDlg()
424     {
425     if (DlgVisualFont != NULL) {
426     DeleteObject(DlgVisualFont);
427     }
428     }
429    
430     BEGIN_MESSAGE_MAP(CVisualPropPageDlg, CPropertyPage)
431     END_MESSAGE_MAP()
432    
433     // CVisualPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
434    
435     BOOL CVisualPropPageDlg::OnInitDialog()
436     {
437     char buf[MAXPATHLEN];
438     char uimsg[MAX_UIMSG];
439     CListBox *listbox;
440     CButton *btn;
441     int i;
442    
443     CPropertyPage::OnInitDialog();
444    
445     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
446     GetObject(font, sizeof(LOGFONT), &logfont);
447     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgVisualFont, ts.UILanguageFile)) {
448     SendDlgItemMessage(IDC_ALPHABLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
449     SendDlgItemMessage(IDC_ALPHA_BLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
450     SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
451     SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
452     SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
453     SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
454     SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
455     SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
456     SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
457     SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
458     SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
459     SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
460     SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
461     SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
462 doda 2670 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
463     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
464     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
465     SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
466     SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
467 maya 2504 }
468     else {
469     DlgVisualFont = NULL;
470     }
471    
472     GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));
473     get_lang_msg("DLG_TAB_VISUAL_ALHPA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
474     SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);
475     GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));
476     get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
477     SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);
478     GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));
479     get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
480     SetDlgItemText(IDC_MOUSE, ts.UIMsg);
481     GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));
482     get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
483     SetDlgItemText(IDC_RED, ts.UIMsg);
484     GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));
485     get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
486     SetDlgItemText(IDC_GREEN, ts.UIMsg);
487     GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));
488     get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
489     SetDlgItemText(IDC_BLUE, ts.UIMsg);
490 doda 2670 GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));
491     get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
492     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);
493     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));
494     get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
495     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);
496     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));
497     get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
498     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);
499     GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));
500     get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
501     SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);
502     GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));
503     get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
504     SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);
505 maya 2504
506     // (1)AlphaBlend
507     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlend);
508     SetDlgItemText(IDC_ALPHA_BLEND, buf);
509    
510     // (2)[BG] BGEnable
511     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
512     btn->SetCheck(ts.EtermLookfeel.BGEnable);
513    
514     // (3)Mouse cursor type
515     listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
516     for (i = 0 ; MouseCursor[i].name ; i++) {
517     listbox->InsertString(i, MouseCursor[i].name);
518     }
519     listbox->SelectString(0, ts.MouseCursorName);
520    
521     // (4)ANSI color
522     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
523     for (i = 0 ; i < 16 ; i++) {
524     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
525     listbox->InsertString(i, buf);
526     }
527     SetupRGBbox(GetSafeHwnd(), 0);
528     #if 0
529     SendMessage(WM_CTLCOLORSTATIC,
530     (WPARAM)label_hdc,
531     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
532     #endif
533    
534 doda 2670 // (5)Bold Attr Color
535     btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
536     btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
537    
538     // (6)Blink Attr Color
539     btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
540     btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
541    
542     // (7)Reverse Attr Color
543     btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
544     btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
545    
546     // (8)URL Color
547     btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
548     btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
549    
550     // (9)Color
551     btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
552     btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
553    
554 maya 2504 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
555     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND));
556    
557     return FALSE;
558     }
559    
560     BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
561     {
562     CListBox *listbox;
563     int sel;
564     char buf[MAXPATHLEN];
565    
566     switch (wParam) {
567     case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
568     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
569     sel = listbox->GetCurSel();
570     if (sel != -1) {
571     SetupRGBbox(GetSafeHwnd(), sel);
572     #if 0
573     SendMessage(WM_CTLCOLORSTATIC,
574     (WPARAM)label_hdc,
575     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
576     #endif
577     }
578     return TRUE;
579    
580     case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
581     case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
582     case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
583     {
584     BYTE r, g, b;
585    
586     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
587     sel = listbox->GetCurSel();
588     if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
589     return TRUE;
590     }
591    
592     GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
593     r = atoi(buf);
594    
595     GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
596     g = atoi(buf);
597    
598     GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
599     b = atoi(buf);
600    
601     ts.ANSIColor[sel] = RGB(r, g, b);
602    
603     // 255‚ð’´‚¦‚½RGB’l‚Í•â�³‚³‚ê‚é‚Ì‚Å�A‚»‚ê‚ðEdit‚É•\ަ‚·‚é (2007.2.18 maya)
604     SetupRGBbox(GetSafeHwnd(), sel);
605     #if 0
606     SendMessage(WM_CTLCOLORSTATIC,
607     (WPARAM)label_hdc,
608     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
609     #endif
610     }
611    
612     return TRUE;
613 maya 2507 #if 0
614     case WM_CTLCOLORSTATIC:
615     {
616     HDC hDC = (HDC)wp;
617     HWND hWnd = (HWND)lp;
618    
619     //if (label_hdc == NULL) {
620     hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
621     // label_hdc = hDC;
622     //}
623    
624     if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
625     BYTE r, g, b;
626    
627     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
628     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
629     r = atoi(buf);
630    
631     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
632     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
633     g = atoi(buf);
634    
635     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
636     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
637     b = atoi(buf);
638    
639     OutputDebugPrintf("%06x\n", RGB(r, g, b));
640    
641     SetBkMode(hDC, TRANSPARENT);
642     SetTextColor(hDC, RGB(r, g, b) );
643     ReleaseDC(hDlgWnd, hDC);
644    
645     return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
646     }
647     return FALSE;
648     }
649     break ;
650     #endif
651 maya 2504 }
652    
653     return CPropertyPage::OnCommand(wParam, lParam);
654     }
655    
656     void CVisualPropPageDlg::OnOK()
657     {
658     CListBox *listbox;
659     CButton *btn;
660     int sel;
661     int beforeAlphaBlend;
662     char buf[MAXPATHLEN];
663 doda 2673 COLORREF TmpColor;
664 maya 2504
665     // (1)
666     beforeAlphaBlend = ts.AlphaBlend;
667     GetDlgItemText(IDC_ALPHA_BLEND, buf, sizeof(buf));
668     ts.AlphaBlend = atoi(buf);
669     ts.AlphaBlend = max(0, ts.AlphaBlend);
670     ts.AlphaBlend = min(255, ts.AlphaBlend);
671    
672     // (2)
673     // ƒOƒ��[ƒoƒ‹•Ï�” BGEnable ‚ð’¼�Ú�‘‚«Š·‚¦‚邯�Aƒvƒ�ƒOƒ‰ƒ€‚ª—Ž‚¿‚邱‚Æ‚ª
674     // ‚ ‚é‚̂ŃRƒs�[‚ð�C�³‚·‚é‚݂̂Ƃ·‚é�B(2005.4.24 yutaka)
675     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
676     ts.EtermLookfeel.BGEnable = btn->GetCheck();
677    
678     // (3)
679     listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
680     sel = listbox->GetCurSel();
681     if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
682     strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
683     }
684    
685 doda 2670 // (5) Attr Bold Color
686     btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
687     if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
688 doda 2673 ts.ColorFlag ^= CF_BOLDCOLOR;
689 doda 2670 }
690    
691     // (6) Attr Blink Color
692     btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
693     if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
694 doda 2673 ts.ColorFlag ^= CF_BLINKCOLOR;
695 doda 2670 }
696    
697     // (7) Attr Reverse Color
698     btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
699 doda 2673 if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoƒ‚�[ƒh(DECSCNM)Žž‚Í�ˆ—�‚ð•Ï‚¦‚é
700     if (ts.ColorFlag & CF_REVERSECOLOR) {
701     if (!btn->GetCheck()) {
702     TmpColor = ts.VTColor[0];
703     ts.VTColor[0] = ts.VTReverseColor[1];
704     ts.VTReverseColor[1] = ts.VTColor[1];
705     ts.VTColor[1] = ts.VTReverseColor[0];
706     ts.VTReverseColor[0] = TmpColor;
707     ts.ColorFlag ^= CF_REVERSECOLOR;
708     }
709     }
710     else if (btn->GetCheck()) {
711     TmpColor = ts.VTColor[0];
712     ts.VTColor[0] = ts.VTReverseColor[0];
713     ts.VTReverseColor[0] = ts.VTColor[1];
714     ts.VTColor[1] = ts.VTReverseColor[1];
715     ts.VTReverseColor[1] = TmpColor;
716     ts.ColorFlag ^= CF_REVERSECOLOR;
717     }
718 doda 2670 }
719 doda 2673 else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
720     ts.ColorFlag ^= CF_REVERSECOLOR;
721     }
722 doda 2670
723     // (8) URL Color
724     btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
725     if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
726 doda 2673 ts.ColorFlag ^= CF_URLCOLOR;
727 doda 2670 }
728    
729     // (9) Color
730     btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
731     if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
732 doda 2673 ts.ColorFlag ^= CF_ANSICOLOR;
733 doda 2670 }
734    
735 maya 2504 // 2006/03/11 by 337 : Alpha’l‚à‘¦Žž•Ï�X
736     // Layered‘‹‚ɂȂÁ‚Ä‚¢‚È‚¢�ê�‡‚ÍŒø‰Ê‚ª–³‚¢
737     if (ts.EtermLookfeel.BGUseAlphaBlendAPI) {
738     // ‹N“®Žž‚É”¼“§–¾ƒŒƒCƒ„‚É‚µ‚Ä‚¢‚È‚¢�ê�‡‚Å‚à�A‘¦�À‚É”¼“§–¾‚Æ‚È‚é‚æ‚¤‚É‚·‚é�B(2006.4.1 yutaka)
739     //MySetLayeredWindowAttributes(HVTWin, 0, (ts.AlphaBlend > 255) ? 255: ts.AlphaBlend, LWA_ALPHA);
740     // ’l‚ª•Ï�X‚³‚ꂽ‚Æ‚«‚Ì‚Ý�Ý’è‚𔽉f‚·‚é�B(2007.10.19 maya)
741     if (ts.AlphaBlend != beforeAlphaBlend) {
742     SetWindowStyle(&ts);
743     }
744     }
745     }
746    
747    
748    
749     // CLogPropPageDlg ƒ_ƒCƒAƒ�ƒO
750    
751     IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
752    
753     CLogPropPageDlg::CLogPropPageDlg()
754     : CPropertyPage(CLogPropPageDlg::IDD)
755     {
756    
757     }
758    
759     CLogPropPageDlg::~CLogPropPageDlg()
760     {
761     if (DlgLogFont != NULL) {
762     DeleteObject(DlgLogFont);
763     }
764     }
765    
766     BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
767     END_MESSAGE_MAP()
768    
769     // CLogPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
770    
771     BOOL CLogPropPageDlg::OnInitDialog()
772     {
773     char uimsg[MAX_UIMSG];
774     CButton *btn;
775    
776     CPropertyPage::OnInitDialog();
777    
778     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
779     GetObject(font, sizeof(LOGFONT), &logfont);
780     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
781     SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
782     SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
783     SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
784     SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
785     SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
786     SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
787     SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
788     SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
789     SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
790     }
791     else {
792     DlgLogFont = NULL;
793     }
794    
795     GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
796     get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
797     SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
798     GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
799     get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
800     SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
801     GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
802     get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
803     SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
804     GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
805     get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
806     SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
807    
808     // Viewlog Editor path (2005.1.29 yutaka)
809     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
810    
811     // Log Default File Name (2006.8.28 maya)
812     SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
813    
814     // Log Default File Path (2007.5.30 maya)
815     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
816    
817     /* Auto start logging (2007.5.31 maya) */
818     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
819     btn->SetCheck(ts.LogAutoStart);
820    
821     // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
822     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
823    
824     return FALSE;
825     }
826    
827     BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
828     {
829     char uimsg[MAX_UIMSG];
830    
831     switch (wParam) {
832     case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
833     {
834     OPENFILENAME ofn;
835    
836     ZeroMemory(&ofn, sizeof(ofn));
837 maya 2572 ofn.lStructSize = get_OPENFILENAME_SIZE();
838 maya 2504 ofn.hwndOwner = GetSafeHwnd();
839     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
840     "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
841     ofn.lpstrFilter = ts.UIMsg;
842     ofn.lpstrFile = ts.ViewlogEditor;
843     ofn.nMaxFile = sizeof(ts.ViewlogEditor);
844     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
845     "Choose a executing file with launching logging file", ts.UILanguageFile);
846     ofn.lpstrTitle = uimsg;
847     ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
848     if (GetOpenFileName(&ofn) != 0) {
849     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
850     }
851     }
852     return TRUE;
853    
854     case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
855     // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
856     get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
857     "Select log folder", ts.UILanguageFile);
858     doSelectFolder(GetSafeHwnd(), ts.LogDefaultPath, sizeof(ts.LogDefaultPath),
859     ts.UIMsg);
860     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
861    
862     return TRUE;
863     }
864    
865     return CPropertyPage::OnCommand(wParam, lParam);
866     }
867    
868     void CLogPropPageDlg::OnOK()
869     {
870     char buf[80], buf2[80];
871     time_t time_local;
872     struct tm *tm_local;
873     char uimsg[MAX_UIMSG];
874     CButton *btn;
875    
876     // Viewlog Editor path (2005.1.29 yutaka)
877     GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
878    
879     // Log Default File Name (2006.8.28 maya)
880     GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
881     if (isInvalidStrftimeChar(buf)) {
882     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
883     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
884     "Invalid character is included in log file name.", ts.UILanguageFile);
885     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
886     return;
887     }
888     // Œ»�ÝŽž��‚ðŽæ“¾
889     time(&time_local);
890     tm_local = localtime(&time_local);
891     // Žž��•¶Žš—ñ‚ɕϊ·
892 maya 2508 if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
893 maya 2504 get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
894     get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
895     "The log file name is too long.", ts.UILanguageFile);
896     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
897     return;
898     }
899     if (isInvalidFileNameChar(buf2)) {
900     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
901     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
902     "Invalid character is included in log file name.", ts.UILanguageFile);
903     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
904     return;
905     }
906     strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
907    
908     // Log Default File Path (2007.5.30 maya)
909     GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
910    
911     /* Auto start logging (2007.5.31 maya) */
912     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
913     ts.LogAutoStart = btn->GetCheck();
914     }
915    
916    
917    
918     // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
919    
920     IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
921    
922     CCygwinPropPageDlg::CCygwinPropPageDlg()
923     : CPropertyPage(CCygwinPropPageDlg::IDD)
924     {
925     }
926    
927     CCygwinPropPageDlg::~CCygwinPropPageDlg()
928     {
929     if (DlgCygwinFont != NULL) {
930     DeleteObject(DlgCygwinFont);
931     }
932     }
933    
934     BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
935     END_MESSAGE_MAP()
936    
937     // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
938    
939     BOOL CCygwinPropPageDlg::OnInitDialog()
940     {
941     char *cfgfile = "cygterm.cfg"; // CygTerm configuration file
942     char cfg[MAX_PATH];
943     FILE *fp;
944     char buf[256], *head, *body;
945     char uimsg[MAX_UIMSG];
946     CButton *btn;
947    
948     CPropertyPage::OnInitDialog();
949    
950     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
951     GetObject(font, sizeof(LOGFONT), &logfont);
952     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
953     SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
954     SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
955     SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
956     SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
957     SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
958     SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
959     SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
960     SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
961     SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
962     SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
963     SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
964     SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
965     SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
966     SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
967     SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
968     SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
969     SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
970     SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
971     SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
972     SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
973 maya 2614 SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
974 maya 2504 }
975     else {
976     DlgCygwinFont = NULL;
977     }
978    
979     GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
980     get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
981     SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
982    
983     // try to read CygTerm config file
984     memset(&settings, 0, sizeof(settings));
985 doda 2611 _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
986 maya 2504 _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
987     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
988     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
989 doda 2611 _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
990 maya 2504 _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
991     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
992     settings.login_shell = FALSE;
993     settings.home_chdir = FALSE;
994 doda 2610 settings.agent_proxy = FALSE;
995 maya 2504
996     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
997     AppendSlash(cfg, sizeof(cfg));
998     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
999    
1000     fp = fopen(cfg, "r");
1001     if (fp != NULL) {
1002     while (fgets(buf, sizeof(buf), fp) != NULL) {
1003     int len = strlen(buf);
1004    
1005     if (buf[len - 1] == '\n')
1006     buf[len - 1] = '\0';
1007    
1008     split_buffer(buf, '=', &head, &body);
1009     if (head == NULL || body == NULL)
1010     continue;
1011    
1012     if (_stricmp(head, "TERM") == 0) {
1013     _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1014    
1015     } else if (_stricmp(head, "TERM_TYPE") == 0) {
1016     _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1017    
1018     } else if (_stricmp(head, "PORT_START") == 0) {
1019     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1020    
1021     } else if (_stricmp(head, "PORT_RANGE") == 0) {
1022     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1023    
1024     } else if (_stricmp(head, "SHELL") == 0) {
1025     _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1026    
1027     } else if (_stricmp(head, "ENV_1") == 0) {
1028     _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1029    
1030     } else if (_stricmp(head, "ENV_2") == 0) {
1031     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1032    
1033     } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1034     if (strchr("YyTt", *body)) {
1035     settings.login_shell = TRUE;
1036     }
1037    
1038     } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1039     if (strchr("YyTt", *body)) {
1040     settings.home_chdir = TRUE;
1041     }
1042    
1043 doda 2610 } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1044     if (strchr("YyTt", *body)) {
1045     settings.agent_proxy = TRUE;
1046     }
1047    
1048 maya 2504 } else {
1049     // TODO: error check
1050    
1051     }
1052     }
1053     fclose(fp);
1054     }
1055     SetDlgItemText(IDC_TERM_EDIT, settings.term);
1056     SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1057     SetDlgItemText(IDC_PORT_START, settings.port_start);
1058     SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1059     SetDlgItemText(IDC_SHELL, settings.shell);
1060     SetDlgItemText(IDC_ENV1, settings.env1);
1061     SetDlgItemText(IDC_ENV2, settings.env2);
1062     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1063     btn->SetCheck(settings.login_shell);
1064     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1065     btn->SetCheck(settings.home_chdir);
1066 doda 2610 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1067     btn->SetCheck(settings.agent_proxy);
1068 maya 2504
1069     // Cygwin install path
1070     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1071    
1072     // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1073     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1074    
1075     return FALSE;
1076     }
1077    
1078     BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1079     {
1080     switch (wParam) {
1081     case IDC_SELECT_FILE | (BN_CLICKED << 16):
1082     // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1083     get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1084     "Select Cygwin directory", ts.UILanguageFile);
1085     doSelectFolder(GetSafeHwnd(), ts.CygwinDirectory, sizeof(ts.CygwinDirectory),
1086     ts.UIMsg);
1087     // Cygwin install path
1088     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1089     return TRUE;
1090     }
1091    
1092     return CPropertyPage::OnCommand(wParam, lParam);
1093     }
1094    
1095     void CCygwinPropPageDlg::OnOK()
1096     {
1097     char *cfgfile = "cygterm.cfg"; // CygTerm configuration file
1098     char *tmpfile = "cygterm.tmp";
1099     char cfg[MAX_PATH];
1100     char tmp[MAX_PATH];
1101     FILE *fp;
1102     FILE *tmp_fp;
1103     char buf[256], *head, *body;
1104     char uimsg[MAX_UIMSG];
1105     CButton *btn;
1106    
1107     // writing to CygTerm config file
1108     GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1109     GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1110     GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1111     GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1112     GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1113     GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1114     GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1115     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1116     settings.login_shell = btn->GetCheck();
1117     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1118     settings.home_chdir = btn->GetCheck();
1119 doda 2610 btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1120     settings.agent_proxy = btn->GetCheck();
1121 maya 2504
1122     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1123     AppendSlash(cfg, sizeof(cfg));
1124     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1125    
1126     strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1127     AppendSlash(tmp, sizeof(tmp));
1128     strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1129    
1130     fp = fopen(cfg, "r");
1131     tmp_fp = fopen(tmp, "w");
1132     if (tmp_fp == NULL) {
1133     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1134     get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1135     "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1136     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1137     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1138     } else {
1139     if (fp != NULL) {
1140     while (fgets(buf, sizeof(buf), fp) != NULL) {
1141     int len = strlen(buf);
1142    
1143     if (buf[len - 1] == '\n')
1144     buf[len - 1] = '\0';
1145    
1146     split_buffer(buf, '=', &head, &body);
1147     if (head == NULL || body == NULL) {
1148     fprintf(tmp_fp, "%s\n", buf);
1149     }
1150     else if (_stricmp(head, "TERM") == 0) {
1151     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1152     settings.term[0] = '\0';
1153     }
1154     else if (_stricmp(head, "TERM_TYPE") == 0) {
1155     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1156     settings.term_type[0] = '\0';
1157     }
1158     else if (_stricmp(head, "PORT_START") == 0) {
1159     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1160     settings.port_start[0] = '\0';
1161     }
1162     else if (_stricmp(head, "PORT_RANGE") == 0) {
1163     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1164     settings.port_range[0] = '\0';
1165     }
1166     else if (_stricmp(head, "SHELL") == 0) {
1167     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1168     settings.shell[0] = '\0';
1169     }
1170     else if (_stricmp(head, "ENV_1") == 0) {
1171     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1172     settings.env1[0] = '\0';
1173     }
1174     else if (_stricmp(head, "ENV_2") == 0) {
1175     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1176     settings.env2[0] = '\0';
1177     }
1178     else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1179     fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1180     settings.login_shell = FALSE;
1181     }
1182     else if (_stricmp(head, "HOME_CHDIR") == 0) {
1183     fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1184     settings.home_chdir = FALSE;
1185     }
1186 doda 2610 else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1187     fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1188     settings.agent_proxy = FALSE;
1189     }
1190 maya 2504 else {
1191     fprintf(tmp_fp, "%s = %s\n", head, body);
1192     }
1193     }
1194     fclose(fp);
1195     }
1196     else {
1197     fputs("# CygTerm setting\n", tmp_fp);
1198     fputs("\n", tmp_fp);
1199     }
1200     if (settings.term[0] != '\0') {
1201     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1202     }
1203     if (settings.term_type[0] != '\0') {
1204     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1205     }
1206     if (settings.port_start[0] != '\0') {
1207     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1208     }
1209     if (settings.port_range[0] != '\0') {
1210     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1211     }
1212     if (settings.shell[0] != '\0') {
1213     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1214     }
1215     if (settings.env1[0] != '\0') {
1216     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1217     }
1218     if (settings.env2[0] != '\0') {
1219     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1220     }
1221     if (settings.login_shell) {
1222     fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1223     }
1224     if (settings.home_chdir) {
1225     fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1226     }
1227 doda 2610 if (settings.agent_proxy) {
1228     fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1229     }
1230 maya 2504 fclose(tmp_fp);
1231    
1232     if (remove(cfg) != 0 && errno != ENOENT) {
1233     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1234     get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1235     "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1236     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1237     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1238     }
1239     else if (rename(tmp, cfg) != 0) {
1240     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1241     get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1242     "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1243     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1244     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1245     }
1246     }
1247    
1248     // Cygwin install path
1249     GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1250     }
1251    
1252    
1253    
1254     // CAddSettingPropSheetDlg
1255    
1256     IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1257    
1258     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1259     :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1260     {
1261     AddPage(&m_GeneralPage);
1262     AddPage(&m_VisualPage);
1263     AddPage(&m_LogPage);
1264     AddPage(&m_CygwinPage);
1265    
1266     m_psh.dwFlags |= PSH_NOAPPLYNOW;
1267     }
1268    
1269     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
1270     :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
1271     {
1272     AddPage(&m_GeneralPage);
1273 maya 2507 AddPage(&m_CopypastePage);
1274 maya 2504 AddPage(&m_VisualPage);
1275     AddPage(&m_LogPage);
1276     AddPage(&m_CygwinPage);
1277    
1278     m_psh.dwFlags |= PSH_NOAPPLYNOW;
1279     }
1280    
1281     CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1282     {
1283     }
1284    
1285    
1286     BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
1287     END_MESSAGE_MAP()
1288    
1289    
1290     // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1291    
1292     BOOL CAddSettingPropSheetDlg::OnInitDialog()
1293     {
1294     CPropertySheet::OnInitDialog();
1295    
1296     get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1297     "Tera Term: Additional settings", ts.UILanguageFile);
1298     SetWindowText(ts.UIMsg);
1299    
1300     CTabCtrl *tab = GetTabControl();
1301     TCITEM tc;
1302     tc.mask = TCIF_TEXT;
1303    
1304     get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
1305     "General", ts.UILanguageFile);
1306     tc.pszText = ts.UIMsg;
1307     tab->SetItem(0, &tc);
1308    
1309 maya 2507 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
1310     "Copy and Paste", ts.UILanguageFile);
1311     tc.pszText = ts.UIMsg;
1312     tab->SetItem(1, &tc);
1313    
1314 maya 2504 get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
1315     "Visual", ts.UILanguageFile);
1316     tc.pszText = ts.UIMsg;
1317 maya 2507 tab->SetItem(2, &tc);
1318 maya 2504
1319     get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
1320     "Log", ts.UILanguageFile);
1321     tc.pszText = ts.UIMsg;
1322 maya 2507 tab->SetItem(3, &tc);
1323 maya 2504
1324     get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
1325     "Cygwin", ts.UILanguageFile);
1326     tc.pszText = ts.UIMsg;
1327 maya 2507 tab->SetItem(4, &tc);
1328 maya 2504
1329     return FALSE;
1330     }

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