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 5762 - (hide annotations) (download) (as text)
Wed Jan 14 22:32:31 2015 UTC (9 years, 2 months ago) by maya
File MIME type: text/x-c++src
File size: 76556 byte(s)
ログローテートのサイズ設定がダイアログに正しく表示されない問題を修正
  http://sourceforge.jp/projects/ttssh2/forums/5840/36372/75242/
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    
1422     switch (wParam) {
1423     case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1424     {
1425     OPENFILENAME ofn;
1426    
1427     ZeroMemory(&ofn, sizeof(ofn));
1428     ofn.lStructSize = get_OPENFILENAME_SIZE();
1429     ofn.hwndOwner = GetSafeHwnd();
1430     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1431     "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
1432     ofn.lpstrFilter = ts.UIMsg;
1433     ofn.lpstrFile = ts.ViewlogEditor;
1434     ofn.nMaxFile = sizeof(ts.ViewlogEditor);
1435     get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_TITLE", uimsg, sizeof(uimsg),
1436     "Choose a executing file with launching logging file", ts.UILanguageFile);
1437     ofn.lpstrTitle = uimsg;
1438     ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1439     if (GetOpenFileName(&ofn) != 0) {
1440     SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1441     }
1442     }
1443     return TRUE;
1444    
1445     case IDC_DEFAULTPATH_PUSH | (BN_CLICKED << 16):
1446     // ƒ�ƒOƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1447     get_lang_msg("FILEDLG_SELECT_LOGDIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1448     "Select log folder", ts.UILanguageFile);
1449     doSelectFolder(GetSafeHwnd(), ts.LogDefaultPath, sizeof(ts.LogDefaultPath),
1450     ts.UIMsg);
1451     SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1452    
1453     return TRUE;
1454 yutakapon 5171
1455     case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1456     {
1457     CButton *btn;
1458     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1459     if (btn->GetCheck()) {
1460     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);
1461     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);
1462     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);
1463     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);
1464     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);
1465     } else {
1466     GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);
1467     GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);
1468     GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);
1469     GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);
1470     GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);
1471     }
1472    
1473     }
1474     return TRUE;
1475 yutakapon 5613
1476     case IDC_OPT_BINARY | (BN_CLICKED << 16):
1477     {
1478     CButton *btn;
1479     // ƒoƒCƒiƒŠƒIƒvƒVƒ‡ƒ“‚ª—LŒø‚Ì�ê�‡�AFixLogOption() ‚Å–³Œø‰»‚µ‚Ä‚¢‚é
1480     // ƒIƒvƒVƒ‡ƒ“‚ð�A‚±‚±‚Å‚à–³Œø‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢�B
1481     btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);
1482     if (btn->GetCheck()) {
1483     ts.LogBinary = 1;
1484    
1485     ts.LogTypePlainText = 0;
1486     ts.LogTimestamp = 0;
1487     GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);
1488     GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);
1489     } else {
1490     ts.LogBinary = 0;
1491    
1492     GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);
1493     GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);
1494     }
1495     }
1496     return TRUE;
1497    
1498     case IDC_OPT_APPEND | (BN_CLICKED << 16):
1499     {
1500     CButton *btn;
1501     btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);
1502     if (btn->GetCheck()) {
1503     ts.Append = 1;
1504     } else {
1505     ts.Append = 0;
1506     }
1507     }
1508     return TRUE;
1509    
1510     case IDC_OPT_PLAINTEXT | (BN_CLICKED << 16):
1511     {
1512     CButton *btn;
1513     btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);
1514     if (btn->GetCheck()) {
1515     ts.LogTypePlainText = 1;
1516     } else {
1517     ts.LogTypePlainText = 0;
1518     }
1519     }
1520     return TRUE;
1521    
1522     case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1523     {
1524     CButton *btn;
1525     btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);
1526     if (btn->GetCheck()) {
1527     ts.LogTimestamp = 1;
1528     } else {
1529     ts.LogTimestamp = 0;
1530     }
1531     }
1532     return TRUE;
1533    
1534     case IDC_OPT_HIDEDLG | (BN_CLICKED << 16):
1535     {
1536     CButton *btn;
1537     btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);
1538     if (btn->GetCheck()) {
1539     ts.LogHideDialog = 1;
1540     } else {
1541     ts.LogHideDialog = 0;
1542     }
1543     }
1544     return TRUE;
1545    
1546     case IDC_OPT_INCBUF | (BN_CLICKED << 16):
1547     {
1548     CButton *btn;
1549     btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);
1550     if (btn->GetCheck()) {
1551     ts.LogAllBuffIncludedInFirst = 1;
1552     } else {
1553     ts.LogAllBuffIncludedInFirst = 0;
1554     }
1555     }
1556     return TRUE;
1557 maya 3227 }
1558    
1559     return CPropertyPage::OnCommand(wParam, lParam);
1560     }
1561    
1562     void CLogPropPageDlg::OnOK()
1563     {
1564     char buf[80], buf2[80];
1565     time_t time_local;
1566     struct tm *tm_local;
1567     char uimsg[MAX_UIMSG];
1568     CButton *btn;
1569 yutakapon 5171 CString str;
1570     int i;
1571 maya 3227
1572     // Viewlog Editor path (2005.1.29 yutaka)
1573     GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));
1574    
1575     // Log Default File Name (2006.8.28 maya)
1576     GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1577     if (isInvalidStrftimeChar(buf)) {
1578     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1579     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1580     "Invalid character is included in log file name.", ts.UILanguageFile);
1581     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1582     return;
1583     }
1584     // Œ»�ÝŽž��‚ðŽæ“¾
1585     time(&time_local);
1586     tm_local = localtime(&time_local);
1587     // Žž��•¶Žš—ñ‚ɕϊ·
1588     if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1589     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1590     get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1591     "The log file name is too long.", ts.UILanguageFile);
1592     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1593     return;
1594     }
1595     if (isInvalidFileNameChar(buf2)) {
1596     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1597     get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1598     "Invalid character is included in log file name.", ts.UILanguageFile);
1599     MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);
1600     return;
1601     }
1602     strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1603    
1604     // Log Default File Path (2007.5.30 maya)
1605     GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));
1606    
1607     /* Auto start logging (2007.5.31 maya) */
1608     btn = (CButton *)GetDlgItem(IDC_AUTOSTART);
1609     ts.LogAutoStart = btn->GetCheck();
1610 yutakapon 5171
1611     /* Log Rotate */
1612     btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);
1613     if (btn->GetCheck()) { /* on */
1614     ts.LogRotate = ROTATE_SIZE;
1615    
1616     ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);
1617     for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1618     if (strcmp(str, LogRotateSizeType[i]) == 0)
1619     break;
1620     }
1621     if (i >= LOG_ROTATE_SIZETYPE_NUM)
1622     i = 0;
1623     ts.LogRotateSizeType = i;
1624    
1625     ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1626     for (i = 0 ; i < ts.LogRotateSizeType ; i++)
1627     ts.LogRotateSize *= 1024;
1628    
1629     ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
1630    
1631     } else { /* off */
1632     ts.LogRotate = ROTATE_NONE;
1633     /* Žc‚è‚̃�ƒ“ƒo�[‚͈Ó�}“I‚É�Ý’è‚ðŽc‚·�B*/
1634     }
1635    
1636 maya 3227 }
1637    
1638    
1639    
1640     // CCygwinPropPageDlg ƒ_ƒCƒAƒ�ƒO
1641    
1642     IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)
1643    
1644     CCygwinPropPageDlg::CCygwinPropPageDlg()
1645     : CPropertyPage(CCygwinPropPageDlg::IDD)
1646     {
1647     }
1648    
1649     CCygwinPropPageDlg::~CCygwinPropPageDlg()
1650     {
1651     if (DlgCygwinFont != NULL) {
1652     DeleteObject(DlgCygwinFont);
1653     }
1654     }
1655    
1656     BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)
1657     END_MESSAGE_MAP()
1658    
1659     // CCygwinPropPageDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
1660 yutakapon 4918 #define CYGTERM_FILE "cygterm.cfg" // CygTerm configuration file
1661 maya 3227
1662     BOOL CCygwinPropPageDlg::OnInitDialog()
1663     {
1664 yutakapon 4918 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1665 maya 3227 char cfg[MAX_PATH];
1666     FILE *fp;
1667     char buf[256], *head, *body;
1668     char uimsg[MAX_UIMSG];
1669     CButton *btn;
1670    
1671     CPropertyPage::OnInitDialog();
1672    
1673     font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
1674     GetObject(font, sizeof(LOGFONT), &logfont);
1675     if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {
1676     SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1677     SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1678     SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1679     SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1680     SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1681     SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1682     SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1683     SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1684     SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1685     SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1686     SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1687     SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1688     SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1689     SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1690     SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1691     SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1692     SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1693     SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1694     SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1695     SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1696     SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));
1697     }
1698     else {
1699     DlgCygwinFont = NULL;
1700     }
1701    
1702     GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));
1703     get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);
1704     SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);
1705    
1706     // try to read CygTerm config file
1707     memset(&settings, 0, sizeof(settings));
1708     _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "ttermpro.exe %%s %%d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh");
1709     _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "vt100");
1710     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "20000");
1711     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "40");
1712     _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "auto");
1713     _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "MAKE_MODE=unix");
1714     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "");
1715     settings.login_shell = FALSE;
1716     settings.home_chdir = FALSE;
1717     settings.agent_proxy = FALSE;
1718    
1719     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1720     AppendSlash(cfg, sizeof(cfg));
1721     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1722    
1723     fp = fopen(cfg, "r");
1724     if (fp != NULL) {
1725     while (fgets(buf, sizeof(buf), fp) != NULL) {
1726     int len = strlen(buf);
1727    
1728     if (buf[len - 1] == '\n')
1729     buf[len - 1] = '\0';
1730    
1731     split_buffer(buf, '=', &head, &body);
1732     if (head == NULL || body == NULL)
1733     continue;
1734    
1735     if (_stricmp(head, "TERM") == 0) {
1736     _snprintf_s(settings.term, sizeof(settings.term), _TRUNCATE, "%s", body);
1737    
1738     } else if (_stricmp(head, "TERM_TYPE") == 0) {
1739     _snprintf_s(settings.term_type, sizeof(settings.term_type), _TRUNCATE, "%s", body);
1740    
1741     } else if (_stricmp(head, "PORT_START") == 0) {
1742     _snprintf_s(settings.port_start, sizeof(settings.port_start), _TRUNCATE, "%s", body);
1743    
1744     } else if (_stricmp(head, "PORT_RANGE") == 0) {
1745     _snprintf_s(settings.port_range, sizeof(settings.port_range), _TRUNCATE, "%s", body);
1746    
1747     } else if (_stricmp(head, "SHELL") == 0) {
1748     _snprintf_s(settings.shell, sizeof(settings.shell), _TRUNCATE, "%s", body);
1749    
1750     } else if (_stricmp(head, "ENV_1") == 0) {
1751     _snprintf_s(settings.env1, sizeof(settings.env1), _TRUNCATE, "%s", body);
1752    
1753     } else if (_stricmp(head, "ENV_2") == 0) {
1754     _snprintf_s(settings.env2, sizeof(settings.env2), _TRUNCATE, "%s", body);
1755    
1756     } else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1757     if (strchr("YyTt", *body)) {
1758     settings.login_shell = TRUE;
1759     }
1760    
1761     } else if (_stricmp(head, "HOME_CHDIR") == 0) {
1762     if (strchr("YyTt", *body)) {
1763     settings.home_chdir = TRUE;
1764     }
1765    
1766     } else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1767     if (strchr("YyTt", *body)) {
1768     settings.agent_proxy = TRUE;
1769     }
1770    
1771     } else {
1772     // TODO: error check
1773    
1774     }
1775     }
1776     fclose(fp);
1777     }
1778     SetDlgItemText(IDC_TERM_EDIT, settings.term);
1779     SetDlgItemText(IDC_TERM_TYPE, settings.term_type);
1780     SetDlgItemText(IDC_PORT_START, settings.port_start);
1781     SetDlgItemText(IDC_PORT_RANGE, settings.port_range);
1782     SetDlgItemText(IDC_SHELL, settings.shell);
1783     SetDlgItemText(IDC_ENV1, settings.env1);
1784     SetDlgItemText(IDC_ENV2, settings.env2);
1785     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1786     btn->SetCheck(settings.login_shell);
1787     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1788     btn->SetCheck(settings.home_chdir);
1789     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1790     btn->SetCheck(settings.agent_proxy);
1791    
1792     // Cygwin install path
1793     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1794    
1795     // ƒ_ƒCƒAƒ�ƒO‚ɃtƒH�[ƒJƒX‚ð“–‚Ä‚é
1796     ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
1797    
1798     return FALSE;
1799     }
1800    
1801     BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1802     {
1803     switch (wParam) {
1804     case IDC_SELECT_FILE | (BN_CLICKED << 16):
1805     // Cygwin install ƒfƒBƒŒƒNƒgƒŠ‚Ì‘I‘ðƒ_ƒCƒAƒ�ƒO
1806     get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1807     "Select Cygwin directory", ts.UILanguageFile);
1808     doSelectFolder(GetSafeHwnd(), ts.CygwinDirectory, sizeof(ts.CygwinDirectory),
1809     ts.UIMsg);
1810     // Cygwin install path
1811     SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1812     return TRUE;
1813     }
1814    
1815     return CPropertyPage::OnCommand(wParam, lParam);
1816     }
1817    
1818     void CCygwinPropPageDlg::OnOK()
1819     {
1820 yutakapon 4918 char *cfgfile = CYGTERM_FILE; // CygTerm configuration file
1821 maya 3227 char *tmpfile = "cygterm.tmp";
1822     char cfg[MAX_PATH];
1823     char tmp[MAX_PATH];
1824     FILE *fp;
1825     FILE *tmp_fp;
1826     char buf[256], *head, *body;
1827     char uimsg[MAX_UIMSG];
1828     CButton *btn;
1829    
1830     // writing to CygTerm config file
1831     GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1832     GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1833     GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1834     GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1835     GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));
1836     GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));
1837     GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));
1838     btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);
1839     settings.login_shell = btn->GetCheck();
1840     btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);
1841     settings.home_chdir = btn->GetCheck();
1842     btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);
1843     settings.agent_proxy = btn->GetCheck();
1844    
1845     strncpy_s(cfg, sizeof(cfg), ts.HomeDir, _TRUNCATE);
1846     AppendSlash(cfg, sizeof(cfg));
1847     strncat_s(cfg, sizeof(cfg), cfgfile, _TRUNCATE);
1848    
1849     strncpy_s(tmp, sizeof(tmp), ts.HomeDir, _TRUNCATE);
1850     AppendSlash(tmp, sizeof(tmp));
1851     strncat_s(tmp, sizeof(tmp), tmpfile, _TRUNCATE);
1852    
1853     fp = fopen(cfg, "r");
1854     tmp_fp = fopen(tmp, "w");
1855     if (tmp_fp == NULL) {
1856     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1857     get_lang_msg("MSG_CYGTERM_CONF_WRITEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1858     "Can't write CygTerm configuration file (%d).", ts.UILanguageFile);
1859     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1860     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1861     } else {
1862     if (fp != NULL) {
1863     while (fgets(buf, sizeof(buf), fp) != NULL) {
1864     int len = strlen(buf);
1865    
1866     if (buf[len - 1] == '\n')
1867     buf[len - 1] = '\0';
1868    
1869     split_buffer(buf, '=', &head, &body);
1870     if (head == NULL || body == NULL) {
1871     fprintf(tmp_fp, "%s\n", buf);
1872     }
1873     else if (_stricmp(head, "TERM") == 0) {
1874     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1875     settings.term[0] = '\0';
1876     }
1877     else if (_stricmp(head, "TERM_TYPE") == 0) {
1878     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1879     settings.term_type[0] = '\0';
1880     }
1881     else if (_stricmp(head, "PORT_START") == 0) {
1882     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1883     settings.port_start[0] = '\0';
1884     }
1885     else if (_stricmp(head, "PORT_RANGE") == 0) {
1886     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1887     settings.port_range[0] = '\0';
1888     }
1889     else if (_stricmp(head, "SHELL") == 0) {
1890     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1891     settings.shell[0] = '\0';
1892     }
1893     else if (_stricmp(head, "ENV_1") == 0) {
1894     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1895     settings.env1[0] = '\0';
1896     }
1897     else if (_stricmp(head, "ENV_2") == 0) {
1898     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1899     settings.env2[0] = '\0';
1900     }
1901     else if (_stricmp(head, "LOGIN_SHELL") == 0) {
1902     fprintf(tmp_fp, "LOGIN_SHELL = %s\n", (settings.login_shell == TRUE) ? "yes" : "no");
1903     settings.login_shell = FALSE;
1904     }
1905     else if (_stricmp(head, "HOME_CHDIR") == 0) {
1906     fprintf(tmp_fp, "HOME_CHDIR = %s\n", (settings.home_chdir == TRUE) ? "yes" : "no");
1907     settings.home_chdir = FALSE;
1908     }
1909     else if (_stricmp(head, "SSH_AGENT_PROXY") == 0) {
1910     fprintf(tmp_fp, "SSH_AGENT_PROXY = %s\n", (settings.agent_proxy == TRUE) ? "yes" : "no");
1911     settings.agent_proxy = FALSE;
1912     }
1913     else {
1914     fprintf(tmp_fp, "%s = %s\n", head, body);
1915     }
1916     }
1917     fclose(fp);
1918     }
1919     else {
1920     fputs("# CygTerm setting\n", tmp_fp);
1921     fputs("\n", tmp_fp);
1922     }
1923     if (settings.term[0] != '\0') {
1924     fprintf(tmp_fp, "TERM = %s\n", settings.term);
1925     }
1926     if (settings.term_type[0] != '\0') {
1927     fprintf(tmp_fp, "TERM_TYPE = %s\n", settings.term_type);
1928     }
1929     if (settings.port_start[0] != '\0') {
1930     fprintf(tmp_fp, "PORT_START = %s\n", settings.port_start);
1931     }
1932     if (settings.port_range[0] != '\0') {
1933     fprintf(tmp_fp, "PORT_RANGE = %s\n", settings.port_range);
1934     }
1935     if (settings.shell[0] != '\0') {
1936     fprintf(tmp_fp, "SHELL = %s\n", settings.shell);
1937     }
1938     if (settings.env1[0] != '\0') {
1939     fprintf(tmp_fp, "ENV_1 = %s\n", settings.env1);
1940     }
1941     if (settings.env2[0] != '\0') {
1942     fprintf(tmp_fp, "ENV_2 = %s\n", settings.env2);
1943     }
1944     if (settings.login_shell) {
1945     fprintf(tmp_fp, "LOGIN_SHELL = yes\n");
1946     }
1947     if (settings.home_chdir) {
1948     fprintf(tmp_fp, "HOME_CHDIR = yes\n");
1949     }
1950     if (settings.agent_proxy) {
1951     fprintf(tmp_fp, "SSH_AGENT_PROXY = yes\n");
1952     }
1953     fclose(tmp_fp);
1954    
1955     if (remove(cfg) != 0 && errno != ENOENT) {
1956     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1957     get_lang_msg("MSG_CYGTERM_CONF_REMOVEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1958     "Can't remove old CygTerm configuration file (%d).", ts.UILanguageFile);
1959     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1960     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1961     }
1962     else if (rename(tmp, cfg) != 0) {
1963     get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);
1964     get_lang_msg("MSG_CYGTERM_CONF_RENAMEFILE_ERROR", ts.UIMsg, sizeof(ts.UIMsg),
1965     "Can't rename CygTerm configuration file (%d).", ts.UILanguageFile);
1966     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, GetLastError());
1967     MessageBox(buf, uimsg, MB_ICONEXCLAMATION);
1968 yutakapon 4918 } else {
1969     // cygterm.cfg ƒtƒ@ƒCƒ‹‚ւ̕ۑ¶‚ª�¬Œ÷‚µ‚½‚ç�Aƒ�ƒbƒZ�[ƒWƒ_ƒCƒAƒ�ƒO‚ð•\ަ‚·‚é�B
1970     // ‰ü‚ß‚Ä�ASave setup‚ðŽÀ�s‚·‚é•K—v‚͂Ȃ¢‚±‚Æ‚ð’�ˆÓŠ«‹N‚·‚é�B
1971     // (2012.5.1 yutaka)
1972 maya 5129 get_lang_msg("MSG_TT_NOTICE", uimsg, sizeof(uimsg), "MSG_TT_NOTICE", ts.UILanguageFile);
1973     get_lang_msg("MSG_CYGTERM_CONF_SAVED_NOTICE", ts.UIMsg, sizeof(ts.UIMsg),
1974     "%s has been saved. Do not do save setup.", ts.UILanguageFile);
1975     _snprintf_s(buf, sizeof(buf), _TRUNCATE, ts.UIMsg, CYGTERM_FILE);
1976     MessageBox(buf, uimsg, MB_OK | MB_ICONINFORMATION);
1977 maya 3227 }
1978     }
1979    
1980     // Cygwin install path
1981     GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1982     }
1983    
1984    
1985    
1986     // CAddSettingPropSheetDlg
1987    
1988     IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)
1989    
1990     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
1991     :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
1992     {
1993     AddPage(&m_GeneralPage);
1994 maya 3777 AddPage(&m_SequencePage);
1995     AddPage(&m_CopypastePage);
1996 maya 3227 AddPage(&m_VisualPage);
1997     AddPage(&m_LogPage);
1998     AddPage(&m_CygwinPage);
1999    
2000     m_psh.dwFlags |= PSH_NOAPPLYNOW;
2001     }
2002    
2003     CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
2004     :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
2005     {
2006     AddPage(&m_GeneralPage);
2007 maya 3777 AddPage(&m_SequencePage);
2008 maya 3227 AddPage(&m_CopypastePage);
2009     AddPage(&m_VisualPage);
2010     AddPage(&m_LogPage);
2011     AddPage(&m_CygwinPage);
2012    
2013     m_psh.dwFlags |= PSH_NOAPPLYNOW;
2014     }
2015    
2016     CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
2017     {
2018     }
2019    
2020    
2021     BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)
2022     END_MESSAGE_MAP()
2023    
2024    
2025     // CAddSettingPropSheetDlg ƒ�ƒbƒZ�[ƒW ƒnƒ“ƒhƒ‰
2026    
2027     BOOL CAddSettingPropSheetDlg::OnInitDialog()
2028     {
2029     CPropertySheet::OnInitDialog();
2030    
2031     get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
2032     "Tera Term: Additional settings", ts.UILanguageFile);
2033     SetWindowText(ts.UIMsg);
2034    
2035     CTabCtrl *tab = GetTabControl();
2036     TCITEM tc;
2037     tc.mask = TCIF_TEXT;
2038    
2039     get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),
2040     "General", ts.UILanguageFile);
2041     tc.pszText = ts.UIMsg;
2042     tab->SetItem(0, &tc);
2043    
2044 maya 3777 get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),
2045     "Control Sequence", ts.UILanguageFile);
2046     tc.pszText = ts.UIMsg;
2047     tab->SetItem(1, &tc);
2048    
2049 maya 3227 get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),
2050     "Copy and Paste", ts.UILanguageFile);
2051     tc.pszText = ts.UIMsg;
2052 maya 3777 tab->SetItem(2, &tc);
2053 maya 3227
2054     get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),
2055     "Visual", ts.UILanguageFile);
2056     tc.pszText = ts.UIMsg;
2057 maya 3777 tab->SetItem(3, &tc);
2058 maya 3227
2059     get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),
2060     "Log", ts.UILanguageFile);
2061     tc.pszText = ts.UIMsg;
2062 maya 3777 tab->SetItem(4, &tc);
2063 maya 3227
2064     get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),
2065     "Cygwin", ts.UILanguageFile);
2066     tc.pszText = ts.UIMsg;
2067 maya 3777 tab->SetItem(5, &tc);
2068 maya 3227
2069     return FALSE;
2070     }

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