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

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