Develop and Download Open Source Software

Browse Subversion Repository

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4874 - (hide annotations) (download) (as text)
Tue Apr 3 12:40:28 2012 UTC (12 years ago) by maya
File MIME type: text/x-c++src
File size: 62458 byte(s)
フォントの品質を選べるようにした
  http://sourceforge.jp/ticket/browse.php?group_id=1412&tid=27719
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 maya 4874 CComboBox *cmb;
743 maya 3227 int i;
744    
745     CPropertyPage::OnInitDialog();
746    
747     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
748     GetObject(font, sizeof(LOGFONT), &logfont);
749     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgVisualFont, ts.UILanguageFile)) {
750     SendDlgItemMessage(IDC_ALPHABLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
751     SendDlgItemMessage(IDC_ALPHA_BLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
752     SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
753     SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
754     SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
755 maya 4874 SendDlgItemMessage(IDC_FONT_QUALITY_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
756     SendDlgItemMessage(IDC_FONT_QUALITY, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
757 maya 3227 SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
758     SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
759     SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
760     SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
761     SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
762     SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
763     SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
764     SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
765     SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
766     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
767     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
768     SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
769     SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
770     SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
771 doda 3667 SendDlgItemMessage(IDC_URL_UNDERLINE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));
772 maya 3227 }
773     else {
774     DlgVisualFont = NULL;
775     }
776    
777     GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));
778     get_lang_msg("DLG_TAB_VISUAL_ALHPA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
779     SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);
780     GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));
781     get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
782     SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);
783     GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));
784     get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
785     SetDlgItemText(IDC_MOUSE, ts.UIMsg);
786 maya 4874 GetDlgItemText(IDC_FONT_QUALITY_LABEL, uimsg, sizeof(uimsg));
787     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
788     SetDlgItemText(IDC_FONT_QUALITY_LABEL, ts.UIMsg);
789 maya 3227 GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));
790     get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
791     SetDlgItemText(IDC_RED, ts.UIMsg);
792     GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));
793     get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
794     SetDlgItemText(IDC_GREEN, ts.UIMsg);
795     GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));
796     get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
797     SetDlgItemText(IDC_BLUE, ts.UIMsg);
798     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));
799     get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
800     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);
801     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));
802     get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
803     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);
804     GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));
805     get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
806     SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);
807     GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));
808     get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
809     SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);
810     GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));
811     get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
812     SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);
813 doda 3667 GetDlgItemText(IDC_URL_UNDERLINE, uimsg, sizeof(uimsg));
814     get_lang_msg("DLG_TAB_VISUAL_URLUL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
815     SetDlgItemText(IDC_URL_UNDERLINE, ts.UIMsg);
816 maya 3227
817 maya 4874 get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT", ts.UIMsg, sizeof(ts.UIMsg), "Default", ts.UILanguageFile);
818     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
819     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Non-Antialiased", ts.UILanguageFile);
820     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
821     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Antialiased", ts.UILanguageFile);
822     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
823     get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE", ts.UIMsg, sizeof(ts.UIMsg), "ClearType", ts.UILanguageFile);
824     SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);
825    
826 maya 3227 // (1)AlphaBlend
827     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlend);
828     SetDlgItemText(IDC_ALPHA_BLEND, buf);
829    
830     // (2)[BG] BGEnable
831     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
832     btn->SetCheck(ts.EtermLookfeel.BGEnable);
833    
834     // (3)Mouse cursor type
835     listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
836     for (i = 0 ; MouseCursor[i].name ; i++) {
837     listbox->InsertString(i, MouseCursor[i].name);
838     }
839     listbox->SelectString(0, ts.MouseCursorName);
840    
841 maya 4874 // (4)Font quality
842     cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
843     switch (ts.FontQuality) {
844     case DEFAULT_QUALITY:
845     cmb->SetCurSel(0);
846     break;
847     case NONANTIALIASED_QUALITY:
848     cmb->SetCurSel(1);
849     break;
850     case ANTIALIASED_QUALITY:
851     cmb->SetCurSel(2);
852     break;
853     default: // CLEARTYPE_QUALITY
854     cmb->SetCurSel(3);
855     break;
856     }
857    
858     // (5)ANSI color
859 maya 3227 listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
860     for (i = 0 ; i < 16 ; i++) {
861     _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
862     listbox->InsertString(i, buf);
863     }
864     SetupRGBbox(GetSafeHwnd(), 0);
865     #if 0
866     SendMessage(WM_CTLCOLORSTATIC,
867     (WPARAM)label_hdc,
868     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
869     #endif
870    
871 maya 4874 // (6)Bold Attr Color
872 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
873     btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);
874    
875 maya 4874 // (7)Blink Attr Color
876 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
877     btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);
878    
879 maya 4874 // (8)Reverse Attr Color
880 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
881     btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);
882    
883 maya 4874 // (9)URL Color
884 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
885     btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);
886    
887 maya 4874 // (10)Color
888 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
889     btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);
890    
891 maya 4874 // (11)URL Underline
892 doda 3667 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
893     btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);
894    
895 maya 3227 // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
896     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND));
897    
898     return FALSE;
899     }
900    
901     BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
902     {
903     CListBox *listbox;
904     int sel;
905     char buf[MAXPATHLEN];
906    
907     switch (wParam) {
908     case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
909     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
910     sel = listbox->GetCurSel();
911     if (sel != -1) {
912     SetupRGBbox(GetSafeHwnd(), sel);
913     #if 0
914     SendMessage(WM_CTLCOLORSTATIC,
915     (WPARAM)label_hdc,
916     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
917     #endif
918     }
919     return TRUE;
920    
921     case IDC_COLOR_RED | (EN_KILLFOCUS << 16):
922     case IDC_COLOR_GREEN | (EN_KILLFOCUS << 16):
923     case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
924     {
925     BYTE r, g, b;
926    
927     listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);
928     sel = listbox->GetCurSel();
929     if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
930     return TRUE;
931     }
932    
933     GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));
934     r = atoi(buf);
935    
936     GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));
937     g = atoi(buf);
938    
939     GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));
940     b = atoi(buf);
941    
942     ts.ANSIColor[sel] = RGB(r, g, b);
943    
944     // 255‚ð’´‚¦‚½RGB’l‚Í•â�³‚³‚ê‚é‚Ì‚Å�A‚»‚ê‚ðEdit‚É•\ަ‚·‚é (2007.2.18 maya)
945     SetupRGBbox(GetSafeHwnd(), sel);
946     #if 0
947     SendMessage(WM_CTLCOLORSTATIC,
948     (WPARAM)label_hdc,
949     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));
950     #endif
951     }
952    
953     return TRUE;
954     #if 0
955     case WM_CTLCOLORSTATIC:
956     {
957     HDC hDC = (HDC)wp;
958     HWND hWnd = (HWND)lp;
959    
960     //if (label_hdc == NULL) {
961     hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));
962     // label_hdc = hDC;
963     //}
964    
965     if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {
966     BYTE r, g, b;
967    
968     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);
969     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
970     r = atoi(buf);
971    
972     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);
973     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
974     g = atoi(buf);
975    
976     hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);
977     SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);
978     b = atoi(buf);
979    
980     OutputDebugPrintf("%06x\n", RGB(r, g, b));
981    
982     SetBkMode(hDC, TRANSPARENT);
983     SetTextColor(hDC, RGB(r, g, b) );
984     ReleaseDC(hDlgWnd, hDC);
985    
986     return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);
987     }
988     return FALSE;
989     }
990     break ;
991     #endif
992     }
993    
994     return CPropertyPage::OnCommand(wParam, lParam);
995     }
996    
997     void CVisualPropPageDlg::OnOK()
998     {
999     CListBox *listbox;
1000     CButton *btn;
1001 maya 4874 CComboBox *cmb;
1002 maya 3227 int sel;
1003     int beforeAlphaBlend;
1004     char buf[MAXPATHLEN];
1005     COLORREF TmpColor;
1006    
1007     // (1)
1008     beforeAlphaBlend = ts.AlphaBlend;
1009     GetDlgItemText(IDC_ALPHA_BLEND, buf, sizeof(buf));
1010     if (isdigit(buf[0])) {
1011     ts.AlphaBlend = atoi(buf);
1012     ts.AlphaBlend = max(0, ts.AlphaBlend);
1013     ts.AlphaBlend = min(255, ts.AlphaBlend);
1014     }
1015    
1016     // (2)
1017     // ƒOƒ��[ƒoƒ‹•Ï�” BGEnable ‚ð’¼�Ú�‘‚«Š·‚¦‚邯�Aƒvƒ�ƒOƒ‰ƒ€‚ª—Ž‚¿‚邱‚Æ‚ª
1018     // ‚ ‚é‚̂ŃRƒs�[‚ð�C�³‚·‚é‚݂̂Ƃ·‚é�B(2005.4.24 yutaka)
1019     btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);
1020     ts.EtermLookfeel.BGEnable = btn->GetCheck();
1021    
1022     // (3)
1023     listbox = (CListBox *)GetDlgItem(IDC_MOUSE_CURSOR);
1024     sel = listbox->GetCurSel();
1025     if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
1026     strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
1027     }
1028    
1029 maya 4874 // (4)Font quality
1030     cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);
1031     switch (cmb->GetCurSel()) {
1032     case 0:
1033     ts.FontQuality = DEFAULT_QUALITY;
1034     break;
1035     case 1:
1036     ts.FontQuality = NONANTIALIASED_QUALITY;
1037     break;
1038     case 2:
1039     ts.FontQuality = ANTIALIASED_QUALITY;
1040     break;
1041     default: // 3
1042     ts.FontQuality = CLEARTYPE_QUALITY;
1043     break;
1044     }
1045    
1046     // (6) Attr Bold Color
1047 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);
1048     if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {
1049     ts.ColorFlag ^= CF_BOLDCOLOR;
1050     }
1051    
1052 maya 4874 // (7) Attr Blink Color
1053 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);
1054     if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {
1055     ts.ColorFlag ^= CF_BLINKCOLOR;
1056     }
1057    
1058 maya 4874 // (8) Attr Reverse Color
1059 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);
1060     if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoƒ‚�[ƒh(DECSCNM)Žž‚Í�ˆ—�‚ð•Ï‚¦‚é
1061     if (ts.ColorFlag & CF_REVERSECOLOR) {
1062     if (!btn->GetCheck()) {
1063     TmpColor = ts.VTColor[0];
1064     ts.VTColor[0] = ts.VTReverseColor[1];
1065     ts.VTReverseColor[1] = ts.VTColor[1];
1066     ts.VTColor[1] = ts.VTReverseColor[0];
1067     ts.VTReverseColor[0] = TmpColor;
1068     ts.ColorFlag ^= CF_REVERSECOLOR;
1069     }
1070     }
1071     else if (btn->GetCheck()) {
1072     TmpColor = ts.VTColor[0];
1073     ts.VTColor[0] = ts.VTReverseColor[0];
1074     ts.VTReverseColor[0] = ts.VTColor[1];
1075     ts.VTColor[1] = ts.VTReverseColor[1];
1076     ts.VTReverseColor[1] = TmpColor;
1077     ts.ColorFlag ^= CF_REVERSECOLOR;
1078     }
1079     }
1080     else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {
1081     ts.ColorFlag ^= CF_REVERSECOLOR;
1082     }
1083    
1084 maya 4874 // (9) URL Color
1085 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);
1086     if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {
1087     ts.ColorFlag ^= CF_URLCOLOR;
1088     }
1089    
1090 maya 4874 // (10) Color
1091 maya 3227 btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);
1092     if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {
1093     ts.ColorFlag ^= CF_ANSICOLOR;
1094     }
1095    
1096 maya 4874 // (11) URL Underline
1097 doda 3667 btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);
1098     if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {
1099     ts.FontFlag ^= FF_URLUNDERLINE;
1100     }
1101    
1102 maya 3227 // 2006/03/11 by 337 : Alpha’l‚à‘¦Žž•Ï�X
1103     // Layered‘‹‚ɂȂÁ‚Ä‚¢‚È‚¢�ê�‡‚ÍŒø‰Ê‚ª–³‚¢
1104     if (ts.EtermLookfeel.BGUseAlphaBlendAPI) {
1105     // ‹N“®Žž‚É”¼“§–¾ƒŒƒCƒ„‚É‚µ‚Ä‚¢‚È‚¢�ê�‡‚Å‚à�A‘¦�À‚É”¼“§–¾‚Æ‚È‚é‚æ‚¤‚É‚·‚é�B(2006.4.1 yutaka)
1106     //MySetLayeredWindowAttributes(HVTWin, 0, (ts.AlphaBlend > 255) ? 255: ts.AlphaBlend, LWA_ALPHA);
1107     // ’l‚ª•Ï�X‚³‚ꂽ‚Æ‚«‚Ì‚Ý�Ý’è‚𔽉f‚·‚é�B(2007.10.19 maya)
1108     if (ts.AlphaBlend != beforeAlphaBlend) {
1109     SetWindowStyle(&ts);
1110     }
1111     }
1112     }
1113    
1114    
1115    
1116     // CLogPropPageDlg ƒ_ƒCƒAƒ�ƒO
1117    
1118     IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)
1119    
1120     CLogPropPageDlg::CLogPropPageDlg()
1121     : CPropertyPage(CLogPropPageDlg::IDD)
1122     {
1123    
1124     }
1125    
1126     CLogPropPageDlg::~CLogPropPageDlg()
1127     {
1128     if (DlgLogFont != NULL) {
1129     DeleteObject(DlgLogFont);
1130     }
1131     }
1132    
1133     BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)
1134     END_MESSAGE_MAP()
1135    
1136     // CLogPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1137    
1138     BOOL CLogPropPageDlg::OnInitDialog()
1139     {
1140     char uimsg[MAX_UIMSG];
1141     CButton *btn;
1142    
1143     CPropertyPage::OnInitDialog();
1144    
1145     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1146     GetObject(font, sizeof(LOGFONT), &logfont);
1147     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {
1148     SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1149     SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1150     SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1151     SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1152     SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1153     SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1154     SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1155     SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1156     SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));
1157     }
1158     else {
1159     DlgLogFont = NULL;
1160     }
1161    
1162     GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));
1163     get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1164     SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);
1165     GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));
1166     get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1167     SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);
1168     GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));
1169     get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1170     SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);
1171     GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));
1172     get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1173     SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);
1174    
1175     // Viewlog Editor path (2005.1.29 yutaka)
1176     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1177    
1178     // Log Default File Name (2006.8.28 maya)
1179     SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1180    
1181     // Log Default File Path (2007.5.30 maya)
1182     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1183    
1184     /* Auto start logging (2007.5.31 maya) */
1185     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1186     btn->SetCheck(ts.LogAutoStart);
1187    
1188     // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1189     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
1190    
1191     return FALSE;
1192     }
1193    
1194     BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1195     {
1196     char uimsg[MAX_UIMSG];
1197    
1198     switch (wParam) {
1199     case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1200     {
1201     OPENFILENAME ofn;
1202    
1203     ZeroMemory(&ofn, sizeof(ofn));
1204     ofn.lStructSize = get_OPENFILENAME_SIZE();
1205     ofn.hwndOwner = GetSafeHwnd();
1206     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1207     "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1208     ofn.lpstrFilter = ts.UIMsg;
1209     ofn.lpstrFile = ts.ViewlogEditor;
1210     ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1211     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1212     "Choose a executing file with launching logging file", ts.UILanguageFile);
1213     ofn.lpstrTitle = uimsg;
1214     ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1215     if (GetOpenFileName(&ofn) != 0) {
1216     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1217     }
1218     }
1219     return TRUE;
1220    
1221     case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1222     // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1223     get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1224     "Select log folder", ts.UILanguageFile);
1225     doSelectFolder(GetSafeHwnd(), ts.LogDefaultPath, sizeof(ts.LogDefaultPath),
1226     ts.UIMsg);
1227     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1228    
1229     return TRUE;
1230     }
1231    
1232     return CPropertyPage::OnCommand(wParam, lParam);
1233     }
1234    
1235     void CLogPropPageDlg::OnOK()
1236     {
1237     char buf[80], buf2[80];
1238     time_t time_local;
1239     struct tm *tm_local;
1240     char uimsg[MAX_UIMSG];
1241     CButton *btn;
1242    
1243     // Viewlog Editor path (2005.1.29 yutaka)
1244     GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1245    
1246     // Log Default File Name (2006.8.28 maya)
1247     GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1248     if (isInvalidStrftimeChar(buf)) {
1249     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1250     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1251     "Invalid character is included in log file name.", ts.UILanguageFile);
1252     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1253     return;
1254     }
1255     // Œ»�ÝŽž��‚ðŽæ“¾
1256     time(&time_local);
1257     tm_local = localtime(&time_local);
1258     // Žž��•¶Žš—ñ‚ɕϊ·
1259     if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1260     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1261     get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1262     "The log file name is too long.", ts.UILanguageFile);
1263     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1264     return;
1265     }
1266     if (isInvalidFileNameChar(buf2)) {
1267     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1268     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1269     "Invalid character is included in log file name.", ts.UILanguageFile);
1270     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1271     return;
1272     }
1273     strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1274    
1275     // Log Default File Path (2007.5.30 maya)
1276     GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1277    
1278     /* Auto start logging (2007.5.31 maya) */
1279     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1280     ts.LogAutoStart = btn->GetCheck();
1281     }
1282    
1283    
1284    
1285     // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
1286    
1287     IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1288    
1289     CCygwinPropPageDlg::CCygwinPropPageDlg()
1290     : CPropertyPage(CCygwinPropPageDlg::IDD)
1291     {
1292     }
1293    
1294     CCygwinPropPageDlg::~CCygwinPropPageDlg()
1295     {
1296     if (DlgCygwinFont != NULL) {
1297     DeleteObject(DlgCygwinFont);
1298     }
1299     }
1300    
1301     BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1302     END_MESSAGE_MAP()
1303    
1304     // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1305    
1306     BOOL CCygwinPropPageDlg::OnInitDialog()
1307     {
1308     char *cfgfile = "cygterm.cfg"; // CygTerm configuration file
1309     char cfg[MAX_PATH];
1310     FILE *fp;
1311     char buf[256], *head, *body;
1312     char uimsg[MAX_UIMSG];
1313     CButton *btn;
1314    
1315     CPropertyPage::OnInitDialog();
1316    
1317     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1318     GetObject(font, sizeof(LOGFONT), &logfont);
1319     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1320     SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1321     SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1322     SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1323     SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1324     SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1325     SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1326     SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1327     SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1328     SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1329     SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1330     SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1331     SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1332     SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1333     SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1334     SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1335     SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1336     SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1337     SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1338     SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1339     SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1340     SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1341     }
1342     else {
1343     DlgCygwinFont = NULL;
1344     }
1345    
1346     GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1347     get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1348     SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1349    
1350     // try to read CygTerm config file
1351     memset(&settings, 0, sizeof(settings));
1352     _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
1353     _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
1354     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
1355     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
1356     _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
1357     _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
1358     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
1359     settings.login_shell = FALSE;
1360     settings.home_chdir = FALSE;
1361     settings.agent_proxy = FALSE;
1362    
1363     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1364     AppendSlash(cfg, sizeof(cfg));
1365     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1366    
1367     fp = fopen(cfg, "r");
1368     if (fp != NULL) {
1369     while (fgets(buf, sizeof(buf), fp) != NULL) {
1370     int len = strlen(buf);
1371    
1372     if (buf[len - 1] == '\n')
1373     buf[len - 1] = '\0';
1374    
1375     split_buffer(buf, '=', &head, &body);
1376     if (head == NULL || body == NULL)
1377     continue;
1378    
1379     if (_stricmp(head, "TERM") == 0) {
1380     _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1381    
1382     } else if (_stricmp(head, "TERM_TYPE") == 0) {
1383     _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1384    
1385     } else if (_stricmp(head, "PORT_START") == 0) {
1386     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1387    
1388     } else if (_stricmp(head, "PORT_RANGE") == 0) {
1389     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1390    
1391     } else if (_stricmp(head, "SHELL") == 0) {
1392     _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1393    
1394     } else if (_stricmp(head, "ENV_1") == 0) {
1395     _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1396    
1397     } else if (_stricmp(head, "ENV_2") == 0) {
1398     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1399    
1400     } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1401     if (strchr("YyTt", *body)) {
1402     settings.login_shell = TRUE;
1403     }
1404    
1405     } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1406     if (strchr("YyTt", *body)) {
1407     settings.home_chdir = TRUE;
1408     }
1409    
1410     } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1411     if (strchr("YyTt", *body)) {
1412     settings.agent_proxy = TRUE;
1413     }
1414    
1415     } else {
1416     // TODO: error check
1417    
1418     }
1419     }
1420     fclose(fp);
1421     }
1422     SetDlgItemText(IDC_TERM_EDIT, settings.term);
1423     SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1424     SetDlgItemText(IDC_PORT_START, settings.port_start);
1425     SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1426     SetDlgItemText(IDC_SHELL, settings.shell);
1427     SetDlgItemText(IDC_ENV1, settings.env1);
1428     SetDlgItemText(IDC_ENV2, settings.env2);
1429     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1430     btn->SetCheck(settings.login_shell);
1431     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1432     btn->SetCheck(settings.home_chdir);
1433     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1434     btn->SetCheck(settings.agent_proxy);
1435    
1436     // Cygwin install path
1437     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1438    
1439     // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1440     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1441    
1442     return FALSE;
1443     }
1444    
1445     BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1446     {
1447     switch (wParam) {
1448     case IDC_SELECT_FILE | (BN_CLICKED << 16):
1449     // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1450     get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1451     "Select Cygwin directory", ts.UILanguageFile);
1452     doSelectFolder(GetSafeHwnd(), ts.CygwinDirectory, sizeof(ts.CygwinDirectory),
1453     ts.UIMsg);
1454     // Cygwin install path
1455     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1456     return TRUE;
1457     }
1458    
1459     return CPropertyPage::OnCommand(wParam, lParam);
1460     }
1461    
1462     void CCygwinPropPageDlg::OnOK()
1463     {
1464     char *cfgfile = "cygterm.cfg"; // CygTerm configuration file
1465     char *tmpfile = "cygterm.tmp";
1466     char cfg[MAX_PATH];
1467     char tmp[MAX_PATH];
1468     FILE *fp;
1469     FILE *tmp_fp;
1470     char buf[256], *head, *body;
1471     char uimsg[MAX_UIMSG];
1472     CButton *btn;
1473    
1474     // writing to CygTerm config file
1475     GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1476     GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1477     GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1478     GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1479     GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1480     GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1481     GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1482     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1483     settings.login_shell = btn->GetCheck();
1484     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1485     settings.home_chdir = btn->GetCheck();
1486     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1487     settings.agent_proxy = btn->GetCheck();
1488    
1489     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1490     AppendSlash(cfg, sizeof(cfg));
1491     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1492    
1493     strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1494     AppendSlash(tmp, sizeof(tmp));
1495     strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1496    
1497     fp = fopen(cfg, "r");
1498     tmp_fp = fopen(tmp, "w");
1499     if (tmp_fp == NULL) {
1500     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1501     get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1502     "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1503     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1504     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1505     } else {
1506     if (fp != NULL) {
1507     while (fgets(buf, sizeof(buf), fp) != NULL) {
1508     int len = strlen(buf);
1509    
1510     if (buf[len - 1] == '\n')
1511     buf[len - 1] = '\0';
1512    
1513     split_buffer(buf, '=', &head, &body);
1514     if (head == NULL || body == NULL) {
1515     fprintf(tmp_fp, "%s\n", buf);
1516     }
1517     else if (_stricmp(head, "TERM") == 0) {
1518     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1519     settings.term[0] = '\0';
1520     }
1521     else if (_stricmp(head, "TERM_TYPE") == 0) {
1522     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1523     settings.term_type[0] = '\0';
1524     }
1525     else if (_stricmp(head, "PORT_START") == 0) {
1526     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1527     settings.port_start[0] = '\0';
1528     }
1529     else if (_stricmp(head, "PORT_RANGE") == 0) {
1530     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1531     settings.port_range[0] = '\0';
1532     }
1533     else if (_stricmp(head, "SHELL") == 0) {
1534     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1535     settings.shell[0] = '\0';
1536     }
1537     else if (_stricmp(head, "ENV_1") == 0) {
1538     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1539     settings.env1[0] = '\0';
1540     }
1541     else if (_stricmp(head, "ENV_2") == 0) {
1542     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1543     settings.env2[0] = '\0';
1544     }
1545     else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1546     fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1547     settings.login_shell = FALSE;
1548     }
1549     else if (_stricmp(head, "HOME_CHDIR") == 0) {
1550     fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1551     settings.home_chdir = FALSE;
1552     }
1553     else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1554     fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1555     settings.agent_proxy = FALSE;
1556     }
1557     else {
1558     fprintf(tmp_fp, "%s = %s\n", head, body);
1559     }
1560     }
1561     fclose(fp);
1562     }
1563     else {
1564     fputs("# CygTerm setting\n", tmp_fp);
1565     fputs("\n", tmp_fp);
1566     }
1567     if (settings.term[0] != '\0') {
1568     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1569     }
1570     if (settings.term_type[0] != '\0') {
1571     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1572     }
1573     if (settings.port_start[0] != '\0') {
1574     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1575     }
1576     if (settings.port_range[0] != '\0') {
1577     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1578     }
1579     if (settings.shell[0] != '\0') {
1580     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1581     }
1582     if (settings.env1[0] != '\0') {
1583     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1584     }
1585     if (settings.env2[0] != '\0') {
1586     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1587     }
1588     if (settings.login_shell) {
1589     fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1590     }
1591     if (settings.home_chdir) {
1592     fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1593     }
1594     if (settings.agent_proxy) {
1595     fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1596     }
1597     fclose(tmp_fp);
1598    
1599     if (remove(cfg) != 0 && errno != ENOENT) {
1600     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1601     get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1602     "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1603     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1604     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1605     }
1606     else if (rename(tmp, cfg) != 0) {
1607     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1608     get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1609     "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1610     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1611     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1612     }
1613     }
1614    
1615     // Cygwin install path
1616     GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1617     }
1618    
1619    
1620    
1621     // CAddSettingPropSheetDlg
1622    
1623     IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1624    
1625     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1626     :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1627     {
1628     AddPage(&m_GeneralPage);
1629 maya 3777 AddPage(&m_SequencePage);
1630     AddPage(&m_CopypastePage);
1631 maya 3227 AddPage(&m_VisualPage);
1632     AddPage(&m_LogPage);
1633     AddPage(&m_CygwinPage);
1634    
1635     m_psh.dwFlags |= PSH_NOAPPLYNOW;
1636     }
1637    
1638     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
1639     :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
1640     {
1641     AddPage(&m_GeneralPage);
1642 maya 3777 AddPage(&m_SequencePage);
1643 maya 3227 AddPage(&m_CopypastePage);
1644     AddPage(&m_VisualPage);
1645     AddPage(&m_LogPage);
1646     AddPage(&m_CygwinPage);
1647    
1648     m_psh.dwFlags |= PSH_NOAPPLYNOW;
1649     }
1650    
1651     CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1652     {
1653     }
1654    
1655    
1656     BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
1657     END_MESSAGE_MAP()
1658    
1659    
1660     // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1661    
1662     BOOL CAddSettingPropSheetDlg::OnInitDialog()
1663     {
1664     CPropertySheet::OnInitDialog();
1665    
1666     get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1667     "Tera Term: Additional settings", ts.UILanguageFile);
1668     SetWindowText(ts.UIMsg);
1669    
1670     CTabCtrl *tab = GetTabControl();
1671     TCITEM tc;
1672     tc.mask = TCIF_TEXT;
1673    
1674     get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
1675     "General", ts.UILanguageFile);
1676     tc.pszText = ts.UIMsg;
1677     tab->SetItem(0, &tc);
1678    
1679 maya 3777 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
1680     "Control Sequence", ts.UILanguageFile);
1681     tc.pszText = ts.UIMsg;
1682     tab->SetItem(1, &tc);
1683    
1684 maya 3227 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
1685     "Copy and Paste", ts.UILanguageFile);
1686     tc.pszText = ts.UIMsg;
1687 maya 3777 tab->SetItem(2, &tc);
1688 maya 3227
1689     get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
1690     "Visual", ts.UILanguageFile);
1691     tc.pszText = ts.UIMsg;
1692 maya 3777 tab->SetItem(3, &tc);
1693 maya 3227
1694     get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
1695     "Log", ts.UILanguageFile);
1696     tc.pszText = ts.UIMsg;
1697 maya 3777 tab->SetItem(4, &tc);
1698 maya 3227
1699     get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
1700     "Cygwin", ts.UILanguageFile);
1701     tc.pszText = ts.UIMsg;
1702 maya 3777 tab->SetItem(5, &tc);
1703 maya 3227
1704     return FALSE;
1705     }

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