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

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