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 4702 - (hide annotations) (download) (as text)
Tue Nov 1 11:29:59 2011 UTC (12 years, 5 months ago) by doda
Original Path: trunk/teraterm/teraterm/addsetting.cpp
File MIME type: text/x-c++src
File size: 60496 byte(s)
OSC 52 の許可の設定 UI を追加。

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

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