Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/addsetting.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 7444 by doda, Thu Feb 28 03:00:47 2019 UTC revision 7525 by zmatsuo, Thu Mar 28 16:38:16 2019 UTC
# Line 30  Line 30 
30   * Additional settings dialog   * Additional settings dialog
31   */   */
32    
33  #include <afxwin.h>  #include <stdio.h>
34  #include <afxdlgs.h>  #include <tchar.h>
35  #include <afxcmn.h>  #include <windows.h>
36  #include <commctrl.h>  #include <commctrl.h>
37    #include <time.h>
38    #include <tchar.h>
39    
40  #include "addsetting.h"  #include "addsetting.h"
41  #include "teraterm.h"  #include "teraterm.h"
42  #include "tttypes.h"  #include "tttypes.h"
43  #include "ttwinman.h"  #include "ttwinman.h"   // for ts
44  #include "ttcommon.h"  #include "ttcommon.h"
45  #include "ttftypes.h"  #include "ttftypes.h"
46    #include "dlglib.h"
47    #include "compat_win.h"
48    
49  mouse_cursor_t MouseCursor[] = {  #undef GetDlgItemText
50    #define GetDlgItemText GetDlgItemTextA
51    #undef SetDlgItemText
52    #define SetDlgItemText SetDlgItemTextA
53    
54    const mouse_cursor_t MouseCursor[] = {
55          {"ARROW", IDC_ARROW},          {"ARROW", IDC_ARROW},
56          {"IBEAM", IDC_IBEAM},          {"IBEAM", IDC_IBEAM},
57          {"CROSS", IDC_CROSS},          {"CROSS", IDC_CROSS},
# Line 51  mouse_cursor_t MouseCursor[] = { Line 60  mouse_cursor_t MouseCursor[] = {
60  };  };
61  #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)  #define MOUSE_CURSOR_MAX (sizeof(MouseCursor)/sizeof(MouseCursor[0]) - 1)
62    
63  // 本体は vtwin.cpp  void CVisualPropPageDlg::SetupRGBbox(int index)
 extern void SetWindowStyle(TTTSet *ts);  
   
   
 static void SetupRGBbox(HWND hDlgWnd, int index)  
64  {  {
         HWND hWnd;  
65          BYTE c;          BYTE c;
         char buf[10];  
66    
         hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);  
67          c = GetRValue(ts.ANSIColor[index]);          c = GetRValue(ts.ANSIColor[index]);
68          _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);          SetDlgItemNum(IDC_COLOR_RED, c);
         SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);  
69    
         hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);  
70          c = GetGValue(ts.ANSIColor[index]);          c = GetGValue(ts.ANSIColor[index]);
71          _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);          SetDlgItemNum(IDC_COLOR_GREEN, c);
         SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);  
72    
         hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);  
73          c = GetBValue(ts.ANSIColor[index]);          c = GetBValue(ts.ANSIColor[index]);
74          _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", c);          SetDlgItemNum(IDC_COLOR_BLUE, c);
         SendMessage(hWnd, WM_SETTEXT , 0, (LPARAM)buf);  
75  }  }
76    
   
   
77  // CGeneralPropPageDlg ダイアログ  // CGeneralPropPageDlg ダイアログ
78    
79  IMPLEMENT_DYNAMIC(CGeneralPropPageDlg, CPropertyPage)  CGeneralPropPageDlg::CGeneralPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
80            : TTCPropertyPage(inst, CGeneralPropPageDlg::IDD, sheet)
 CGeneralPropPageDlg::CGeneralPropPageDlg()  
         : CPropertyPage(CGeneralPropPageDlg::IDD)  
81  {  {
82            TCHAR UIMsg[MAX_UIMSG];
83            get_lang_msgT("DLG_TABSHEET_TITLE_GENERAL", UIMsg, _countof(UIMsg),
84                         _T("General"), ts.UILanguageFile);
85            m_psp.pszTitle = _tcsdup(UIMsg);
86            m_psp.dwFlags |= PSP_USETITLE;
87  }  }
88    
89  CGeneralPropPageDlg::~CGeneralPropPageDlg()  CGeneralPropPageDlg::~CGeneralPropPageDlg()
90  {  {
91          if (DlgGeneralFont != NULL) {          free((void *)m_psp.pszTitle);
                 DeleteObject(DlgGeneralFont);  
         }  
92  }  }
93    
 BEGIN_MESSAGE_MAP(CGeneralPropPageDlg, CPropertyPage)  
 END_MESSAGE_MAP()  
   
94  // CGeneralPropPageDlg メッセージ ハンドラ  // CGeneralPropPageDlg メッセージ ハンドラ
95    
96  BOOL CGeneralPropPageDlg::OnInitDialog()  void CGeneralPropPageDlg::OnInitDialog()
97  {  {
98          char uimsg[MAX_UIMSG];          TTCPropertyPage::OnInitDialog();
         char buf[64];  
         CButton *btn;  
   
         CPropertyPage::OnInitDialog();  
99    
100          font = (HFONT)SendMessage(WM_GETFONT, 0, 0);          static const DlgTextInfo TextInfos[] = {
101          GetObject(font, sizeof(LOGFONT), &logfont);                  { IDC_CLICKABLE_URL, "DLG_TAB_GENERAL_CLICKURL" },
102          if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgGeneralFont, ts.UILanguageFile)) {                  { IDC_DISABLE_SENDBREAK, "DLG_TAB_GENERAL_DISABLESENDBREAK" },
103                  SendDlgItemMessage(IDC_CLICKABLE_URL, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_ACCEPT_BROADCAST, "DLG_TAB_GENERAL_ACCEPTBROADCAST" },
104                  SendDlgItemMessage(IDC_DISABLE_SENDBREAK, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_MOUSEWHEEL_SCROLL_LINE, "DLG_TAB_GENERAL_MOUSEWHEEL_SCROLL_LINE" },
105                  SendDlgItemMessage(IDC_ACCEPT_BROADCAST, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0)); // 337: 2007/03/20                  { IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, "DLG_TAB_GENERAL_AUTOSCROLL_ONLY_IN_BOTTOM_LINE" },
106                  SendDlgItemMessage(IDC_MOUSEWHEEL_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_CLEAR_ON_RESIZE, "DLG_TAB_GENERAL_CLEAR_ON_RESIZE" },
107                  SendDlgItemMessage(IDC_SCROLL_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_CURSOR_CHANGE_IME, "DLG_TAB_GENERAL_CURSOR_CHANGE_IME" },
108                  SendDlgItemMessage(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_LIST_HIDDEN_FONTS, "DLG_TAB_GENERAL_LIST_HIDDEN_FONTS" },
109                  SendDlgItemMessage(IDC_CLEAR_ON_RESIZE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_TITLEFMT_GROUP, "DLG_TAB_GENERAL_TITLEFMT_GROUP" },
110                  SendDlgItemMessage(IDC_CURSOR_CHANGE_IME, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_TITLEFMT_DISPHOSTNAME, "DLG_TAB_GENERAL_TITLEFMT_DISPHOSTNAME" },
111                  SendDlgItemMessage(IDC_LIST_HIDDEN_FONTS, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_TITLEFMT_DISPSESSION, "DLG_TAB_GENERAL_TITLEFMT_DISPSESSION" },
112                  SendDlgItemMessage(IDC_TITLEFMT_GROUP, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_TITLEFMT_DISPVTTEK, "DLG_TAB_GENERAL_TITLEFMT_DISPVTTEK" },
113                  SendDlgItemMessage(IDC_TITLEFMT_DISPHOSTNAME, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_TITLEFMT_SWAPHOSTTITLE, "DLG_TAB_GENERAL_TITLEFMT_SWAPHOSTTITLE" },
114                  SendDlgItemMessage(IDC_TITLEFMT_DISPSESSION, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_TITLEFMT_DISPTCPPORT, "DLG_TAB_GENERAL_TITLEFMT_DISPTCPPORT" },
115                  SendDlgItemMessage(IDC_TITLEFMT_DISPVTTEK, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));                  { IDC_TITLEFMT_DISPSERIALSPEED, "DLG_TAB_GENERAL_TITLEFMT_DISPSERIALSPEED" }
116                  SendDlgItemMessage(IDC_TITLEFMT_SWAPHOSTTITLE, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));          };
117                  SendDlgItemMessage(IDC_TITLEFMT_DISPTCPPORT, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));          SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
                 SendDlgItemMessage(IDC_TITLEFMT_DISPSERIALSPEED, WM_SETFONT, (WPARAM)DlgGeneralFont, MAKELPARAM(TRUE,0));  
         }  
         else {  
                 DlgGeneralFont = NULL;  
         }  
   
         GetDlgItemText(IDC_CLICKABLE_URL, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_CLICKURL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CLICKABLE_URL, ts.UIMsg);  
         GetDlgItemText(IDC_DISABLE_SENDBREAK, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_DISABLESENDBREAK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_DISABLE_SENDBREAK, ts.UIMsg);  
         GetDlgItemText(IDC_ACCEPT_BROADCAST, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_ACCEPTBROADCAST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_ACCEPT_BROADCAST, ts.UIMsg);  
         GetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_MOUSEWHEEL_SCROLL_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_MOUSEWHEEL_SCROLL_LINE, ts.UIMsg);  
         GetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_AUTOSCROLL_ONLY_IN_BOTTOM_LINE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, ts.UIMsg);  
         GetDlgItemText(IDC_CLEAR_ON_RESIZE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_CLEAR_ON_RESIZE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CLEAR_ON_RESIZE, ts.UIMsg);  
         GetDlgItemText(IDC_CURSOR_CHANGE_IME, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_CURSOR_CHANGE_IME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CURSOR_CHANGE_IME, ts.UIMsg);  
         GetDlgItemText(IDC_LIST_HIDDEN_FONTS, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_LIST_HIDDEN_FONTS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_LIST_HIDDEN_FONTS, ts.UIMsg);  
   
         GetDlgItemText(IDC_TITLEFMT_GROUP, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_TITLEFMT_GROUP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLEFMT_GROUP, ts.UIMsg);  
         GetDlgItemText(IDC_TITLEFMT_DISPHOSTNAME, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_TITLEFMT_DISPHOSTNAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLEFMT_DISPHOSTNAME, ts.UIMsg);  
         GetDlgItemText(IDC_TITLEFMT_DISPSESSION, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_TITLEFMT_DISPSESSION", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLEFMT_DISPSESSION, ts.UIMsg);  
         GetDlgItemText(IDC_TITLEFMT_DISPVTTEK, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_TITLEFMT_DISPVTTEK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLEFMT_DISPVTTEK, ts.UIMsg);  
         GetDlgItemText(IDC_TITLEFMT_SWAPHOSTTITLE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_TITLEFMT_SWAPHOSTTITLE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLEFMT_SWAPHOSTTITLE, ts.UIMsg);  
         GetDlgItemText(IDC_TITLEFMT_DISPTCPPORT, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_TITLEFMT_DISPTCPPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLEFMT_DISPTCPPORT, ts.UIMsg);  
         GetDlgItemText(IDC_TITLEFMT_DISPSERIALSPEED, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_GENERAL_TITLEFMT_DISPSERIALSPEED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLEFMT_DISPSERIALSPEED, ts.UIMsg);  
118    
119          // (1)DisableAcceleratorSendBreak          // (1)DisableAcceleratorSendBreak
120          btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);          SetCheck(IDC_DISABLE_SENDBREAK, ts.DisableAcceleratorSendBreak);
         btn->SetCheck(ts.DisableAcceleratorSendBreak);  
121    
122          // (2)EnableClickableUrl          // (2)EnableClickableUrl
123          btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);          SetCheck(IDC_CLICKABLE_URL, ts.EnableClickableUrl);
         btn->SetCheck(ts.EnableClickableUrl);  
124    
125          // (3)AcceptBroadcast 337: 2007/03/20          // (3)AcceptBroadcast 337: 2007/03/20
126          btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);          SetCheck(IDC_ACCEPT_BROADCAST, ts.AcceptBroadcast);
         btn->SetCheck(ts.AcceptBroadcast);  
127    
128          // (4)IDC_MOUSEWHEEL_SCROLL_LINE          // (4)IDC_MOUSEWHEEL_SCROLL_LINE
129          _snprintf_s(buf, sizeof(buf), "%d", ts.MouseWheelScrollLine);          SetDlgItemNum(IDC_SCROLL_LINE, ts.MouseWheelScrollLine);
         SetDlgItemText(IDC_SCROLL_LINE, buf);  
130    
131          // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE          // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
132          btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);          SetCheck(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE, ts.AutoScrollOnlyInBottomLine);
         btn->SetCheck(ts.AutoScrollOnlyInBottomLine);  
133    
134          // (6)IDC_CLEAR_ON_RESIZE          // (6)IDC_CLEAR_ON_RESIZE
135          btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);          SetCheck(IDC_CLEAR_ON_RESIZE, (ts.TermFlag & TF_CLEARONRESIZE) != 0);
         btn->SetCheck((ts.TermFlag & TF_CLEARONRESIZE) != 0);  
136    
137          // (7)IDC_CURSOR_CHANGE_IME          // (7)IDC_CURSOR_CHANGE_IME
138          btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);          SetCheck(IDC_CURSOR_CHANGE_IME, (ts.WindowFlag & WF_IMECURSORCHANGE) != 0);
         btn->SetCheck((ts.WindowFlag & WF_IMECURSORCHANGE) != 0);  
139    
140          // (8)IDC_LIST_HIDDEN_FONTS          // (8)IDC_LIST_HIDDEN_FONTS
141          btn = (CButton *)GetDlgItem(IDC_LIST_HIDDEN_FONTS);          SetCheck(IDC_LIST_HIDDEN_FONTS, ts.ListHiddenFonts);
         btn->SetCheck(ts.ListHiddenFonts);  
142    
143          // (9) Title Format          // (9) Title Format
144          btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPHOSTNAME);          SetCheck(IDC_TITLEFMT_DISPHOSTNAME, (ts.TitleFormat & 1) != 0);
145          btn->SetCheck((ts.TitleFormat & 1) != 0);          SetCheck(IDC_TITLEFMT_DISPSESSION, (ts.TitleFormat & (1<<1)) != 0);
146            SetCheck(IDC_TITLEFMT_DISPVTTEK, (ts.TitleFormat & (1<<2)) != 0);
147          btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPSESSION);          SetCheck(IDC_TITLEFMT_SWAPHOSTTITLE, (ts.TitleFormat & (1<<3)) != 0);
148          btn->SetCheck((ts.TitleFormat & (1<<1)) != 0);          SetCheck(IDC_TITLEFMT_DISPTCPPORT, (ts.TitleFormat & (1<<4)) != 0);
149            SetCheck(IDC_TITLEFMT_DISPSERIALSPEED, (ts.TitleFormat & (1<<5)) != 0);
         btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPVTTEK);  
         btn->SetCheck((ts.TitleFormat & (1<<2)) != 0);  
   
         btn = (CButton *)GetDlgItem(IDC_TITLEFMT_SWAPHOSTTITLE);  
         btn->SetCheck((ts.TitleFormat & (1<<3)) != 0);  
   
         btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPTCPPORT);  
         btn->SetCheck((ts.TitleFormat & (1<<4)) != 0);  
   
         btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPSERIALSPEED);  
         btn->SetCheck((ts.TitleFormat & (1<<5)) != 0);  
150    
151          // ダイアログにフォーカスを当てる (2004.12.7 yutaka)          // ダイアログにフォーカスを当てる (2004.12.7 yutaka)
152          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CLICKABLE_URL));
   
         return FALSE;  
153  }  }
154    
155  void CGeneralPropPageDlg::OnOK()  void CGeneralPropPageDlg::OnOK()
156  {  {
157          CButton *btn;          TCHAR buf[64];
         char buf[64];  
158          int val;          int val;
159    
160          // (1)          // (1)
161          btn = (CButton *)GetDlgItem(IDC_DISABLE_SENDBREAK);          ts.DisableAcceleratorSendBreak = GetCheck(IDC_DISABLE_SENDBREAK);
         ts.DisableAcceleratorSendBreak = btn->GetCheck();  
162    
163          // (2)          // (2)
164          btn = (CButton *)GetDlgItem(IDC_CLICKABLE_URL);          ts.EnableClickableUrl = GetCheck(IDC_CLICKABLE_URL);
         ts.EnableClickableUrl = btn->GetCheck();  
165    
166          // (3) 337: 2007/03/20          // (3) 337: 2007/03/20
167          btn = (CButton *)GetDlgItem(IDC_ACCEPT_BROADCAST);          ts.AcceptBroadcast = GetCheck(IDC_ACCEPT_BROADCAST);
         ts.AcceptBroadcast = btn->GetCheck();  
168    
169          // (4)IDC_MOUSEWHEEL_SCROLL_LINE          // (4)IDC_MOUSEWHEEL_SCROLL_LINE
170          GetDlgItemText(IDC_SCROLL_LINE, buf, sizeof(buf));          GetDlgItemTextT(IDC_SCROLL_LINE, buf, _countof(buf));
171          val = atoi(buf);          val = _tstoi(buf);
172          if (val > 0)          if (val > 0)
173                  ts.MouseWheelScrollLine = val;                  ts.MouseWheelScrollLine = val;
174    
175          // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE          // (5)IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE
176          btn = (CButton *)GetDlgItem(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);          ts.AutoScrollOnlyInBottomLine = GetCheck(IDC_AUTOSCROLL_ONLY_IN_BOTTOM_LINE);
         ts.AutoScrollOnlyInBottomLine = btn->GetCheck();  
177    
178          // (6)IDC_CLEAR_ON_RESIZE          // (6)IDC_CLEAR_ON_RESIZE
179          btn = (CButton *)GetDlgItem(IDC_CLEAR_ON_RESIZE);          if (((ts.TermFlag & TF_CLEARONRESIZE) != 0) != GetCheck(IDC_CLEAR_ON_RESIZE)) {
         if (((ts.TermFlag & TF_CLEARONRESIZE) != 0) != btn->GetCheck()) {  
180                  ts.TermFlag ^= TF_CLEARONRESIZE;                  ts.TermFlag ^= TF_CLEARONRESIZE;
181          }          }
182    
183          // (7)IDC_CURSOR_CHANGE_IME          // (7)IDC_CURSOR_CHANGE_IME
184          btn = (CButton *)GetDlgItem(IDC_CURSOR_CHANGE_IME);          if (((ts.WindowFlag & WF_IMECURSORCHANGE) != 0) != GetCheck(IDC_CURSOR_CHANGE_IME)) {
         if (((ts.WindowFlag & WF_IMECURSORCHANGE) != 0) != btn->GetCheck()) {  
185                  ts.WindowFlag ^= WF_IMECURSORCHANGE;                  ts.WindowFlag ^= WF_IMECURSORCHANGE;
186          }          }
187    
188          // (8)IDC_LIST_HIDDEN_FONTS          // (8)IDC_LIST_HIDDEN_FONTS
189          btn = (CButton *)GetDlgItem(IDC_LIST_HIDDEN_FONTS);          ts.ListHiddenFonts = GetCheck(IDC_LIST_HIDDEN_FONTS);
         ts.ListHiddenFonts = btn->GetCheck();  
190    
191          // (9) Title Format          // (9) Title Format
192          btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPHOSTNAME);          ts.TitleFormat = GetCheck(IDC_TITLEFMT_DISPHOSTNAME) == BST_CHECKED;
193          ts.TitleFormat = (btn->GetCheck() == BST_CHECKED);          ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPSESSION) == BST_CHECKED) << 1;
194          btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPSESSION);          ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPVTTEK) == BST_CHECKED) << 2;
195          ts.TitleFormat |= ((btn->GetCheck() == BST_CHECKED) << 1);          ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_SWAPHOSTTITLE) == BST_CHECKED) << 3;
196          btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPVTTEK);          ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPTCPPORT) == BST_CHECKED) << 4;
197          ts.TitleFormat |= ((btn->GetCheck() == BST_CHECKED) << 2);          ts.TitleFormat |= (GetCheck(IDC_TITLEFMT_DISPSERIALSPEED) == BST_CHECKED) << 5;
         btn = (CButton *)GetDlgItem(IDC_TITLEFMT_SWAPHOSTTITLE);  
         ts.TitleFormat |= ((btn->GetCheck() == BST_CHECKED) << 3);  
         btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPTCPPORT);  
         ts.TitleFormat |= ((btn->GetCheck() == BST_CHECKED) << 4);  
         btn = (CButton *)GetDlgItem(IDC_TITLEFMT_DISPSERIALSPEED);  
         ts.TitleFormat |= ((btn->GetCheck() == BST_CHECKED) << 5);  
198  }  }
199    
   
   
200  // CSequencePropPageDlg ダイアログ  // CSequencePropPageDlg ダイアログ
201    
202  IMPLEMENT_DYNAMIC(CSequencePropPageDlg, CPropertyPage)  CSequencePropPageDlg::CSequencePropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
203            : TTCPropertyPage(inst, CSequencePropPageDlg::IDD, sheet)
 CSequencePropPageDlg::CSequencePropPageDlg()  
         : CPropertyPage(CSequencePropPageDlg::IDD)  
204  {  {
205            TCHAR UIMsg[MAX_UIMSG];
206            get_lang_msgT("DLG_TABSHEET_TITLE_SEQUENCE", UIMsg, _countof(UIMsg),
207                         _T("Control Sequence"), ts.UILanguageFile);
208            m_psp.pszTitle = _tcsdup(UIMsg);
209            m_psp.dwFlags |= PSP_USETITLE;
210  }  }
211    
212  CSequencePropPageDlg::~CSequencePropPageDlg()  CSequencePropPageDlg::~CSequencePropPageDlg()
213  {  {
214          if (DlgSequenceFont != NULL) {          free((void *)m_psp.pszTitle);
                 DeleteObject(DlgSequenceFont);  
         }  
215  }  }
216    
 BEGIN_MESSAGE_MAP(CSequencePropPageDlg, CPropertyPage)  
 END_MESSAGE_MAP()  
   
217  // CSequencePropPageDlg メッセージ ハンドラ  // CSequencePropPageDlg メッセージ ハンドラ
218    
219  BOOL CSequencePropPageDlg::OnInitDialog()  void CSequencePropPageDlg::OnInitDialog()
220  {  {
221          char uimsg[MAX_UIMSG];          TTCPropertyPage::OnInitDialog();
         CButton *btn, *btn2;  
         CComboBox *cmb;  
   
         CPropertyPage::OnInitDialog();  
222    
223          font = (HFONT)SendMessage(WM_GETFONT, 0, 0);          static const DlgTextInfo TextInfos[] = {
224          GetObject(font, sizeof(LOGFONT), &logfont);                  { IDC_ACCEPT_MOUSE_EVENT_TRACKING, "DLG_TAB_SEQUENCE_ACCEPT_MOUSE_EVENT_TRACKING" },
225          if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgSequenceFont, ts.UILanguageFile)) {                  { IDC_DISABLE_MOUSE_TRACKING_CTRL, "DLG_TAB_SEQUENCE_DISABLE_MOUSE_TRACKING_CTRL" },
226                  SendDlgItemMessage(IDC_ACCEPT_MOUSE_EVENT_TRACKING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));                  { IDC_ACCEPT_TITLE_CHANGING_LABEL, "DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING" },
227                  SendDlgItemMessage(IDC_DISABLE_MOUSE_TRACKING_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));  
228                  SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));                  { IDC_CURSOR_CTRL_SEQ, "DLG_TAB_SEQUENCE_CURSOR_CTRL" },
229                  SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));                  { IDC_WINDOW_CTRL, "DLG_TAB_SEQUENCE_WINDOW_CTRL" },
230                  SendDlgItemMessage(IDC_TITLE_REPORT_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));                  { IDC_WINDOW_REPORT, "DLG_TAB_SEQUENCE_WINDOW_REPORT" },
231                  SendDlgItemMessage(IDC_TITLE_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));                  { IDC_TITLE_REPORT_LABEL, "DLG_TAB_SEQUENCE_TITLE_REPORT" },
232                  SendDlgItemMessage(IDC_WINDOW_CTRL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));  
233                  SendDlgItemMessage(IDC_WINDOW_REPORT, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));                  { IDC_CLIPBOARD_ACCESS_LABEL, "DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS" },
234                  SendDlgItemMessage(IDC_CURSOR_CTRL_SEQ, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));  
235                  SendDlgItemMessage(IDC_CLIPBOARD_ACCESS_LABEL, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));                  { IDC_CLIPBOARD_NOTIFY, "DLG_TAB_SEQUENCE_CLIPBOARD_NOTIFY" },
236                  SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));          };
237                  SendDlgItemMessage(IDC_CLIPBOARD_NOTIFY, WM_SETFONT, (WPARAM)DlgSequenceFont, MAKELPARAM(TRUE,0));          SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
238          }  
239          else {          TCHAR uimsg[MAX_UIMSG];
240                  DlgSequenceFont = NULL;          get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OFF", uimsg, _countof(uimsg), _T("off"), ts.UILanguageFile);
241          }          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
242            get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OVERWRITE", uimsg, _countof(uimsg), _T("overwrite"), ts.UILanguageFile);
243          GetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, uimsg, sizeof(uimsg));          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
244          get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_MOUSE_EVENT_TRACKING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_AHEAD", uimsg, _countof(uimsg), _T("ahead"), ts.UILanguageFile);
245          SetDlgItemText(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.UIMsg);          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
246          GetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, uimsg, sizeof(uimsg));          get_lang_msgT("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_LAST", uimsg, _countof(uimsg), _T("last"), ts.UILanguageFile);
247          get_lang_msg("DLG_TAB_SEQUENCE_DISABLE_MOUSE_TRACKING_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)uimsg);
248          SetDlgItemText(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.UIMsg);  
249          GetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, uimsg, sizeof(uimsg));          get_lang_msgT("DLG_TAB_SEQUENCE_TITLE_REPORT_IGNORE", uimsg, _countof(uimsg), _T("ignore"), ts.UILanguageFile);
250          get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)uimsg);
251          SetDlgItemText(IDC_ACCEPT_TITLE_CHANGING_LABEL, ts.UIMsg);          get_lang_msgT("DLG_TAB_SEQUENCE_TITLE_REPORT_ACCEPT", uimsg, _countof(uimsg), _T("accept"), ts.UILanguageFile);
252            SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)uimsg);
253          get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);          get_lang_msgT("DLG_TAB_SEQUENCE_TITLE_REPORT_EMPTY", uimsg, _countof(uimsg), _T("empty"), ts.UILanguageFile);
254          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);          SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)uimsg);
255          get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_OVERWRITE", ts.UIMsg, sizeof(ts.UIMsg), "overwrite", ts.UILanguageFile);  
256          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);          get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_OFF", uimsg, _countof(uimsg), _T("off"), ts.UILanguageFile);
257          get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_AHEAD", ts.UIMsg, sizeof(ts.UIMsg), "ahead", ts.UILanguageFile);          SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
258          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);          get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_WRITE", uimsg, _countof(uimsg), _T("write only"), ts.UILanguageFile);
259          get_lang_msg("DLG_TAB_SEQUENCE_ACCEPT_TITLE_CHANGING_LAST", ts.UIMsg, sizeof(ts.UIMsg), "last", ts.UILanguageFile);          SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
260          SendDlgItemMessage(IDC_ACCEPT_TITLE_CHANGING, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);          get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_READ", uimsg, _countof(uimsg), _T("read only"), ts.UILanguageFile);
261            SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
262          GetDlgItemText(IDC_CURSOR_CTRL_SEQ, uimsg, sizeof(uimsg));          get_lang_msgT("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_ON", uimsg, _countof(uimsg), _T("read/write"), ts.UILanguageFile);
263          get_lang_msg("DLG_TAB_SEQUENCE_CURSOR_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)uimsg);
         SetDlgItemText(IDC_CURSOR_CTRL_SEQ, ts.UIMsg);  
         GetDlgItemText(IDC_WINDOW_CTRL, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_SEQUENCE_WINDOW_CTRL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_WINDOW_CTRL, ts.UIMsg);  
         GetDlgItemText(IDC_WINDOW_REPORT, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_SEQUENCE_WINDOW_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_WINDOW_REPORT, ts.UIMsg);  
         GetDlgItemText(IDC_TITLE_REPORT_LABEL, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TITLE_REPORT_LABEL, ts.UIMsg);  
   
         get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT_IGNORE", ts.UIMsg, sizeof(ts.UIMsg), "ignore", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT_ACCEPT", ts.UIMsg, sizeof(ts.UIMsg), "accept", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_SEQUENCE_TITLE_REPORT_EMPTY", ts.UIMsg, sizeof(ts.UIMsg), "empty", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_TITLE_REPORT, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
   
         GetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CLIPBOARD_ACCESS_LABEL, ts.UIMsg);  
   
         get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_OFF", ts.UIMsg, sizeof(ts.UIMsg), "off", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_WRITE", ts.UIMsg, sizeof(ts.UIMsg), "write only", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_READ", ts.UIMsg, sizeof(ts.UIMsg), "read only", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_ACCESS_ON", ts.UIMsg, sizeof(ts.UIMsg), "read/write", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_CLIPBOARD_ACCESS, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
   
         GetDlgItemText(IDC_CLIPBOARD_NOTIFY, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_SEQUENCE_CLIPBOARD_NOTIFY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CLIPBOARD_NOTIFY, ts.UIMsg);  
264    
265          // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING          // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
266          btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);          SetCheck(IDC_ACCEPT_MOUSE_EVENT_TRACKING, ts.MouseEventTracking);
267          btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);          EnableDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.MouseEventTracking ? TRUE : FALSE);
         btn->SetCheck(ts.MouseEventTracking);  
         if (ts.MouseEventTracking) {  
                 btn2->EnableWindow(TRUE);  
         } else {  
                 btn2->EnableWindow(FALSE);  
         }  
268    
269          // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL          // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
270          btn2->SetCheck(ts.DisableMouseTrackingByCtrl);          SetCheck(IDC_DISABLE_MOUSE_TRACKING_CTRL, ts.DisableMouseTrackingByCtrl);
271    
272          // (3)IDC_ACCEPT_TITLE_CHANGING          // (3)IDC_ACCEPT_TITLE_CHANGING
273          cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);          SetCurSel(IDC_ACCEPT_TITLE_CHANGING, ts.AcceptTitleChangeRequest);
         cmb->SetCurSel(ts.AcceptTitleChangeRequest);  
274    
275          // (4)IDC_TITLE_REPORT          // (4)IDC_TITLE_REPORT
276          cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);          SetCurSel(IDC_TITLE_REPORT,
277          switch (ts.WindowFlag & WF_TITLEREPORT) {                            (ts.WindowFlag & WF_TITLEREPORT) == IdTitleReportIgnore ? 0 :
278                  case IdTitleReportIgnore:                            (ts.WindowFlag & WF_TITLEREPORT) == IdTitleReportAccept ? 1
279                          cmb->SetCurSel(0);                            /*(ts.WindowFlag & WF_TITLEREPORT) == IdTitleReportEmptye ? */ : 2);
                         break;  
                 case IdTitleReportAccept:  
                         cmb->SetCurSel(1);  
                         break;  
                 default: // IdTitleReportEmpty  
                         cmb->SetCurSel(2);  
                         break;  
         }  
280    
281          // (5)IDC_WINDOW_CTRL          // (5)IDC_WINDOW_CTRL
282          btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);          SetCheck(IDC_WINDOW_CTRL, (ts.WindowFlag & WF_WINDOWCHANGE) != 0);
         btn->SetCheck((ts.WindowFlag & WF_WINDOWCHANGE) != 0);  
283    
284          // (6)IDC_WINDOW_REPORT          // (6)IDC_WINDOW_REPORT
285          btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);          SetCheck(IDC_WINDOW_REPORT, (ts.WindowFlag & WF_WINDOWREPORT) != 0);
         btn->SetCheck((ts.WindowFlag & WF_WINDOWREPORT) != 0);  
286    
287          // (7)IDC_CURSOR_CTRL_SEQ          // (7)IDC_CURSOR_CTRL_SEQ
288          btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);          SetCheck(IDC_CURSOR_CTRL_SEQ, (ts.WindowFlag & WF_CURSORCHANGE) != 0);
         btn->SetCheck((ts.WindowFlag & WF_CURSORCHANGE) != 0);  
289    
290          // (8)IDC_CLIPBOARD_ACCESS          // (8)IDC_CLIPBOARD_ACCESS
291          cmb = (CComboBox *)GetDlgItem(IDC_CLIPBOARD_ACCESS);          SetCurSel(IDC_CLIPBOARD_ACCESS,
292          switch (ts.CtrlFlag & CSF_CBRW) {                            (ts.CtrlFlag & CSF_CBRW) == CSF_CBRW ? 3 :
293                  case CSF_CBRW:                            (ts.CtrlFlag & CSF_CBRW) == CSF_CBREAD ? 2 :
294                          cmb->SetCurSel(3);                            (ts.CtrlFlag & CSF_CBRW) == CSF_CBWRITE ? 1 :
295                          break;                            0);   // off
                 case CSF_CBREAD:  
                         cmb->SetCurSel(2);  
                         break;  
                 case CSF_CBWRITE:  
                         cmb->SetCurSel(1);  
                         break;  
                 default: // off  
                         cmb->SetCurSel(0);  
                         break;  
         }  
296    
297          // (9)IDC_CLIPBOARD_NOTIFY          // (9)IDC_CLIPBOARD_NOTIFY
298          btn = (CButton *)GetDlgItem(IDC_CLIPBOARD_NOTIFY);          SetCheck(IDC_CLIPBOARD_NOTIFY, ts.NotifyClipboardAccess);
299          btn->SetCheck(ts.NotifyClipboardAccess);          EnableDlgItem(IDC_CLIPBOARD_NOTIFY, HasBalloonTipSupport() ? TRUE : FALSE);
         if (HasBalloonTipSupport()) {  
                 btn->EnableWindow(TRUE);  
         }  
         else {  
                 btn->EnableWindow(FALSE);  
         }  
300    
301          // ダイアログにフォーカスを当てる (2004.12.7 yutaka)          // ダイアログにフォーカスを当てる (2004.12.7 yutaka)
302          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ACCEPT_MOUSE_EVENT_TRACKING));          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ACCEPT_MOUSE_EVENT_TRACKING));
   
         return FALSE;  
303  }  }
304    
305  BOOL CSequencePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)  BOOL CSequencePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
306  {  {
         CButton *btn, *btn2;  
   
307          switch (wParam) {          switch (wParam) {
308                  case IDC_ACCEPT_MOUSE_EVENT_TRACKING | (BN_CLICKED << 16):                  case IDC_ACCEPT_MOUSE_EVENT_TRACKING | (BN_CLICKED << 16):
309                          btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);                          EnableDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL,
310                          btn2 = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);                                                    GetCheck(IDC_ACCEPT_MOUSE_EVENT_TRACKING) ? TRUE : FALSE);
                         if (btn->GetCheck()) {  
                                 btn2->EnableWindow(TRUE);  
                         } else {  
                                 btn2->EnableWindow(FALSE);  
                         }  
311                          return TRUE;                          return TRUE;
312          }          }
313          return CPropertyPage::OnCommand(wParam, lParam);          return TTCPropertyPage::OnCommand(wParam, lParam);
314  }  }
315    
316  void CSequencePropPageDlg::OnOK()  void CSequencePropPageDlg::OnOK()
317  {  {
         CButton *btn;  
         CComboBox *cmb;  
         int sel;  
   
318          // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING          // (1)IDC_ACCEPT_MOUSE_EVENT_TRACKING
319          btn = (CButton *)GetDlgItem(IDC_ACCEPT_MOUSE_EVENT_TRACKING);          ts.MouseEventTracking = GetCheck(IDC_ACCEPT_MOUSE_EVENT_TRACKING);
         ts.MouseEventTracking = btn->GetCheck();  
320    
321          // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL          // (2)IDC_DISABLE_MOUSE_TRACKING_CTRL
322          btn = (CButton *)GetDlgItem(IDC_DISABLE_MOUSE_TRACKING_CTRL);          ts.DisableMouseTrackingByCtrl = GetCheck(IDC_DISABLE_MOUSE_TRACKING_CTRL);
         ts.DisableMouseTrackingByCtrl = btn->GetCheck();  
323    
324          // (3)IDC_ACCEPT_TITLE_CHANGING          // (3)IDC_ACCEPT_TITLE_CHANGING
325          cmb = (CComboBox *)GetDlgItem(IDC_ACCEPT_TITLE_CHANGING);          int sel = GetCurSel(IDC_ACCEPT_TITLE_CHANGING);
         sel = cmb->GetCurSel();  
326          if (0 <= sel && sel <= IdTitleChangeRequestMax) {          if (0 <= sel && sel <= IdTitleChangeRequestMax) {
327                  ts.AcceptTitleChangeRequest = sel;                  ts.AcceptTitleChangeRequest = sel;
328          }          }
329    
330          // (4)IDC_TITLE_REPORT          // (4)IDC_TITLE_REPORT
331          cmb = (CComboBox *)GetDlgItem(IDC_TITLE_REPORT);          switch (GetCurSel(IDC_TITLE_REPORT)) {
         switch (cmb->GetCurSel()) {  
332                  case 0:                  case 0:
333                          ts.WindowFlag &= ~WF_TITLEREPORT;                          ts.WindowFlag &= ~WF_TITLEREPORT;
334                          break;                          break;
# Line 535  void CSequencePropPageDlg::OnOK() Line 344  void CSequencePropPageDlg::OnOK()
344          }          }
345    
346          // (5)IDC_WINDOW_CTRL          // (5)IDC_WINDOW_CTRL
347          btn = (CButton *)GetDlgItem(IDC_WINDOW_CTRL);          if (((ts.WindowFlag & WF_WINDOWCHANGE) != 0) != GetCheck(IDC_WINDOW_CTRL)) {
         if (((ts.WindowFlag & WF_WINDOWCHANGE) != 0) != btn->GetCheck()) {  
348                  ts.WindowFlag ^= WF_WINDOWCHANGE;                  ts.WindowFlag ^= WF_WINDOWCHANGE;
349          }          }
350    
351          // (6)IDC_WINDOW_REPORT          // (6)IDC_WINDOW_REPORT
352          btn = (CButton *)GetDlgItem(IDC_WINDOW_REPORT);          if (((ts.WindowFlag & WF_WINDOWREPORT) != 0) != GetCheck(IDC_WINDOW_REPORT)) {
         if (((ts.WindowFlag & WF_WINDOWREPORT) != 0) != btn->GetCheck()) {  
353                  ts.WindowFlag ^= WF_WINDOWREPORT;                  ts.WindowFlag ^= WF_WINDOWREPORT;
354          }          }
355    
356          // (7)IDC_CURSOR_CTRL_SEQ          // (7)IDC_CURSOR_CTRL_SEQ
357          btn = (CButton *)GetDlgItem(IDC_CURSOR_CTRL_SEQ);          if (((ts.WindowFlag & WF_CURSORCHANGE) != 0) != GetCheck(IDC_CURSOR_CTRL_SEQ)) {
         if (((ts.WindowFlag & WF_CURSORCHANGE) != 0) != btn->GetCheck()) {  
358                  ts.WindowFlag ^= WF_CURSORCHANGE;                  ts.WindowFlag ^= WF_CURSORCHANGE;
359          }          }
360    
361          // (8)IDC_CLIPBOARD_ACCESS          // (8)IDC_CLIPBOARD_ACCESS
362          cmb = (CComboBox *)GetDlgItem(IDC_CLIPBOARD_ACCESS);          switch (GetCurSel(IDC_CLIPBOARD_ACCESS)) {
         switch (cmb->GetCurSel()) {  
363                  case 0: // off                  case 0: // off
364                          ts.CtrlFlag &= ~CSF_CBRW;                          ts.CtrlFlag &= ~CSF_CBRW;
365                          break;                          break;
# Line 574  void CSequencePropPageDlg::OnOK() Line 379  void CSequencePropPageDlg::OnOK()
379          }          }
380    
381          // (9)IDC_CLIPBOARD_ACCESS          // (9)IDC_CLIPBOARD_ACCESS
382          btn = (CButton *)GetDlgItem(IDC_CLIPBOARD_NOTIFY);          ts.NotifyClipboardAccess = GetCheck(IDC_CLIPBOARD_NOTIFY);
         ts.NotifyClipboardAccess = btn->GetCheck();  
383  }  }
384    
385    
   
386  // CCopypastePropPageDlg ダイアログ  // CCopypastePropPageDlg ダイアログ
387    
388  IMPLEMENT_DYNAMIC(CCopypastePropPageDlg, CPropertyPage)  CCopypastePropPageDlg::CCopypastePropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
389            : TTCPropertyPage(inst, CCopypastePropPageDlg::IDD, sheet)
 CCopypastePropPageDlg::CCopypastePropPageDlg()  
         : CPropertyPage(CCopypastePropPageDlg::IDD)  
390  {  {
391            TCHAR UIMsg[MAX_UIMSG];
392            get_lang_msgT("DLG_TABSHEET_TITLE_COPYPASTE", UIMsg, _countof(UIMsg),
393                                      _T("Copy and Paste"), ts.UILanguageFile);
394            m_psp.pszTitle = _tcsdup(UIMsg);
395            m_psp.dwFlags |= PSP_USETITLE;
396  }  }
397    
398  CCopypastePropPageDlg::~CCopypastePropPageDlg()  CCopypastePropPageDlg::~CCopypastePropPageDlg()
399  {  {
400          if (DlgCopypasteFont != NULL) {          free((void *)m_psp.pszTitle);
                 DeleteObject(DlgCopypasteFont);  
         }  
401  }  }
402    
 BEGIN_MESSAGE_MAP(CCopypastePropPageDlg, CPropertyPage)  
 END_MESSAGE_MAP()  
   
403  // CCopypastePropPageDlg メッセージ ハンドラ  // CCopypastePropPageDlg メッセージ ハンドラ
404    
405  BOOL CCopypastePropPageDlg::OnInitDialog()  void CCopypastePropPageDlg::OnInitDialog()
406  {  {
407          char uimsg[MAX_UIMSG];          TTCPropertyPage::OnInitDialog();
         CButton *btn, *btn2;  
         CEdit *edit;  
         char buf[64];  
   
         CPropertyPage::OnInitDialog();  
408    
409          font = (HFONT)SendMessage(WM_GETFONT, 0, 0);          static const DlgTextInfo TextInfos[] = {
410          GetObject(font, sizeof(LOGFONT), &logfont);                  { IDC_LINECOPY, "DLG_TAB_COPYPASTE_CONTINUE" },
411          if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCopypasteFont, ts.UILanguageFile)) {                  { IDC_DISABLE_PASTE_RBUTTON, "DLG_TAB_COPYPASTE_MOUSEPASTE" },
412                  SendDlgItemMessage(IDC_LINECOPY, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_CONFIRM_PASTE_RBUTTON, "DLG_TAB_COPYPASTE_CONFIRMPASTE" },
413                  SendDlgItemMessage(IDC_DISABLE_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_DISABLE_PASTE_MBUTTON, "DLG_TAB_COPYPASTE_MOUSEPASTEM" },
414                  SendDlgItemMessage(IDC_CONFIRM_PASTE_RBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_SELECT_LBUTTON, "DLG_TAB_COPYPASTE_SELECTLBUTTON" },
415                  SendDlgItemMessage(IDC_DISABLE_PASTE_MBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_TRIMNLCHAR, "DLG_TAB_COPYPASTE_TRIM_TRAILING_NL" },
416                  SendDlgItemMessage(IDC_SELECT_LBUTTON, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_NORMALIZE_LINEBREAK, "DLG_TAB_COPYPASTE_NORMALIZE_LINEBREAK" },
417                  SendDlgItemMessage(IDC_TRIMNLCHAR, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_CONFIRM_CHANGE_PASTE, "DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE" },
418                  SendDlgItemMessage(IDC_NORMALIZE_LINEBREAK, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_CONFIRM_STRING_FILE_LABEL, "DLG_TAB_COPYPASTE_STRINGFILE" },
419                  SendDlgItemMessage(IDC_CONFIRM_CHANGE_PASTE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_DELIMITER, "DLG_TAB_COPYPASTE_DELIMITER" },
420                  SendDlgItemMessage(IDC_CONFIRM_STRING_FILE_LABEL, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_PASTEDELAY_LABEL, "DLG_TAB_COPYPASTE_PASTEDELAY" },
421                  SendDlgItemMessage(IDC_CONFIRM_STRING_FILE, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));                  { IDC_PASTEDELAY_LABEL2, "DLG_TAB_COPYPASTE_PASTEDELAY2" }
422                  SendDlgItemMessage(IDC_CONFIRM_STRING_FILE_PATH, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));          };
423                  SendDlgItemMessage(IDC_DELIMITER, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));          SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
                 SendDlgItemMessage(IDC_DELIM_LIST, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_PASTEDELAY_LABEL, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_PASTEDELAY_EDIT, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_PASTEDELAY_LABEL2, WM_SETFONT, (WPARAM)DlgCopypasteFont, MAKELPARAM(TRUE,0));  
         }  
         else {  
                 DlgCopypasteFont = NULL;  
         }  
   
         GetDlgItemText(IDC_LINECOPY, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_CONTINUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_LINECOPY, ts.UIMsg);  
         GetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_DISABLE_PASTE_RBUTTON, ts.UIMsg);  
         GetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_CONFIRMPASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CONFIRM_PASTE_RBUTTON, ts.UIMsg);  
         GetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_MOUSEPASTEM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_DISABLE_PASTE_MBUTTON, ts.UIMsg);  
         GetDlgItemText(IDC_SELECT_LBUTTON, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_SELECTLBUTTON", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_SELECT_LBUTTON, ts.UIMsg);  
         GetDlgItemText(IDC_TRIMNLCHAR, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_TRIM_TRAILING_NL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_TRIMNLCHAR, ts.UIMsg);  
         GetDlgItemText(IDC_NORMALIZE_LINEBREAK, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_NORMALIZE_LINEBREAK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_NORMALIZE_LINEBREAK, ts.UIMsg);  
         GetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CONFIRM_CHANGE_PASTE, ts.UIMsg);  
         GetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_STRINGFILE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CONFIRM_STRING_FILE_LABEL, ts.UIMsg);  
         GetDlgItemText(IDC_DELIMITER, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_DELIMITER", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_DELIMITER, ts.UIMsg);  
         GetDlgItemText(IDC_PASTEDELAY_LABEL, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_PASTEDELAY_LABEL, ts.UIMsg);  
         GetDlgItemText(IDC_PASTEDELAY_LABEL2, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_COPYPASTE_PASTEDELAY2", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_PASTEDELAY_LABEL2, ts.UIMsg);  
424    
425          // (1)Enable continued-line copy          // (1)Enable continued-line copy
426          btn = (CButton *)GetDlgItem(IDC_LINECOPY);          SetCheck(IDC_LINECOPY, ts.EnableContinuedLineCopy);
         btn->SetCheck(ts.EnableContinuedLineCopy);  
427    
428          // (2)DisablePasteMouseRButton          // (2)DisablePasteMouseRButton
         btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);  
         btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);  
429          if (ts.PasteFlag & CPF_DISABLE_RBUTTON) {          if (ts.PasteFlag & CPF_DISABLE_RBUTTON) {
430                  btn->SetCheck(BST_CHECKED);                  SetCheck(IDC_DISABLE_PASTE_RBUTTON, BST_CHECKED);
431                  btn2->EnableWindow(FALSE);                  EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON, FALSE);
432          } else {          } else {
433                  btn->SetCheck(BST_UNCHECKED);                  SetCheck(IDC_DISABLE_PASTE_RBUTTON, BST_UNCHECKED);
434                  btn2->EnableWindow(TRUE);                  EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON, TRUE);
435          }          }
436    
437          // (3)ConfirmPasteMouseRButton          // (3)ConfirmPasteMouseRButton
438          btn2->SetCheck((ts.PasteFlag & CPF_CONFIRM_RBUTTON)?BST_CHECKED:BST_UNCHECKED);          SetCheck(IDC_CONFIRM_PASTE_RBUTTON, (ts.PasteFlag & CPF_CONFIRM_RBUTTON)?BST_CHECKED:BST_UNCHECKED);
439    
440          // (4)DisablePasteMouseMButton          // (4)DisablePasteMouseMButton
441          btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);          SetCheck(IDC_DISABLE_PASTE_MBUTTON, (ts.PasteFlag & CPF_DISABLE_MBUTTON)?BST_CHECKED:BST_UNCHECKED);
         btn->SetCheck((ts.PasteFlag & CPF_DISABLE_MBUTTON)?BST_CHECKED:BST_UNCHECKED);  
442    
443          // (5)SelectOnlyByLButton          // (5)SelectOnlyByLButton
444          btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);          SetCheck(IDC_SELECT_LBUTTON, ts.SelectOnlyByLButton);
         btn->SetCheck(ts.SelectOnlyByLButton);  
445    
446          // (6)TrimTrailingNLonPaste          // (6)TrimTrailingNLonPaste
447          btn = (CButton *)GetDlgItem(IDC_TRIMNLCHAR);          SetCheck(IDC_TRIMNLCHAR, (ts.PasteFlag & CPF_TRIM_TRAILING_NL)?BST_CHECKED:BST_UNCHECKED);
         btn->SetCheck((ts.PasteFlag & CPF_TRIM_TRAILING_NL)?BST_CHECKED:BST_UNCHECKED);  
448    
449          // (7)NormalizeLineBreak          // (7)NormalizeLineBreak
450          btn = (CButton *)GetDlgItem(IDC_NORMALIZE_LINEBREAK);          SetCheck(IDC_NORMALIZE_LINEBREAK, (ts.PasteFlag & CPF_NORMALIZE_LINEBREAK)?BST_CHECKED:BST_UNCHECKED);
         btn->SetCheck((ts.PasteFlag & CPF_NORMALIZE_LINEBREAK)?BST_CHECKED:BST_UNCHECKED);  
451    
452          // (8)ConfirmChangePaste          // (8)ConfirmChangePaste
453          btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);          SetCheck(IDC_CONFIRM_CHANGE_PASTE, (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE)?BST_CHECKED:BST_UNCHECKED);
         btn->SetCheck((ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE)?BST_CHECKED:BST_UNCHECKED);  
454    
455          // ファイルパス          // ファイルパス
456          SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);          SetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
         edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);  
         btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);  
457          if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) {          if (ts.PasteFlag & CPF_CONFIRM_CHANGEPASTE) {
458                  edit->EnableWindow(TRUE);                  EnableDlgItem(IDC_CONFIRM_STRING_FILE, TRUE);
459                  btn->EnableWindow(TRUE);                  EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, TRUE);
460          } else {          } else {
461                  edit->EnableWindow(FALSE);                  EnableDlgItem(IDC_CONFIRM_STRING_FILE, FALSE);
462                  btn->EnableWindow(FALSE);                  EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, FALSE);
463          }          }
464    
465          // (9)delimiter characters          // (9)delimiter characters
466          SetDlgItemText(IDC_DELIM_LIST, ts.DelimList);          SetDlgItemTextA(IDC_DELIM_LIST, ts.DelimList);
467    
468          // (10)PasteDelayPerLine          // (10)PasteDelayPerLine
469            char buf[64];
470          _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);          _snprintf_s(buf, sizeof(buf), "%d", ts.PasteDelayPerLine);
471          SetDlgItemText(IDC_PASTEDELAY_EDIT, buf);          SetDlgItemNum(IDC_PASTEDELAY_EDIT, ts.PasteDelayPerLine);
472    
473          // ダイアログにフォーカスを当てる          // ダイアログにフォーカスを当てる
474          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_LINECOPY));
   
         return FALSE;  
475  }  }
476    
477  BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)  BOOL CCopypastePropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
478  {  {
         CButton *btn, *btn2;  
         CEdit *edit;  
479          char uimsg[MAX_UIMSG];          char uimsg[MAX_UIMSG];
480    
481          switch (wParam) {          switch (wParam) {
482                  case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):                  case IDC_DISABLE_PASTE_RBUTTON | (BN_CLICKED << 16):
483                          btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);                          EnableDlgItem(IDC_CONFIRM_PASTE_RBUTTON,
484                          btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);                                                    GetCheck(IDC_DISABLE_PASTE_RBUTTON) ? FALSE : TRUE);
                         if (btn->GetCheck()) {  
                                 btn2->EnableWindow(FALSE);  
                         } else {  
                                 btn2->EnableWindow(TRUE);  
                         }  
485                          return TRUE;                          return TRUE;
486    
487                  case IDC_CONFIRM_CHANGE_PASTE | (BN_CLICKED << 16):                  case IDC_CONFIRM_CHANGE_PASTE | (BN_CLICKED << 16):
488                          btn2 = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);                          if (GetCheck(IDC_CONFIRM_CHANGE_PASTE)) {
489                          btn = (CButton *)GetDlgItem(IDC_CONFIRM_STRING_FILE_PATH);                                  EnableDlgItem(IDC_CONFIRM_STRING_FILE, TRUE);
490                          edit = (CEdit *)GetDlgItem(IDC_CONFIRM_STRING_FILE);                                  EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, TRUE);
                         if (btn2->GetCheck()) {  
                                 edit->EnableWindow(TRUE);  
                                 btn->EnableWindow(TRUE);  
491                          } else {                          } else {
492                                  edit->EnableWindow(FALSE);                                  EnableDlgItem(IDC_CONFIRM_STRING_FILE, FALSE);
493                                  btn->EnableWindow(FALSE);                                  EnableDlgItem(IDC_CONFIRM_STRING_FILE_PATH, FALSE);
494                          }                          }
495                          return TRUE;                          return TRUE;
496    
497                  case IDC_CONFIRM_STRING_FILE_PATH | (BN_CLICKED << 16):                  case IDC_CONFIRM_STRING_FILE_PATH | (BN_CLICKED << 16):
498                          {                          {
499                                  OPENFILENAME ofn;                                  OPENFILENAMEA ofn;
500    
501                                  ZeroMemory(&ofn, sizeof(ofn));                                  memset(&ofn, 0, sizeof(ofn));
502                                  ofn.lStructSize = get_OPENFILENAME_SIZE();                                  ofn.lStructSize = get_OPENFILENAME_SIZEA();
503                                  ofn.hwndOwner = GetSafeHwnd();                                  ofn.hwndOwner = GetSafeHwnd();
504                                  get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),                                  get_lang_msg("FILEDLG_SELECT_CONFIRM_STRING_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
505                                               "txt(*.txt)\\0*.txt\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);                                               "txt(*.txt)\\0*.txt\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
# Line 780  BOOL CCopypastePropPageDlg::OnCommand(WP Line 510  BOOL CCopypastePropPageDlg::OnCommand(WP
510                                               "Choose a file including strings for ConfirmChangePaste", ts.UILanguageFile);                                               "Choose a file including strings for ConfirmChangePaste", ts.UILanguageFile);
511                                  ofn.lpstrTitle = uimsg;                                  ofn.lpstrTitle = uimsg;
512                                  ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;                                  ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
513                                  if (GetOpenFileName(&ofn) != 0) {                                  if (GetOpenFileNameA(&ofn) != 0) {
514                                          SetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);                                          SetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile);
515                                  }                                  }
516                          }                          }
517                          return TRUE;                          return TRUE;
518          }          }
519    
520          return CPropertyPage::OnCommand(wParam, lParam);          return TTCPropertyPage::OnCommand(wParam, lParam);
521  }  }
522    
523  void CCopypastePropPageDlg::OnOK()  void CCopypastePropPageDlg::OnOK()
524  {  {
         CButton *btn;  
525          char buf[64];          char buf[64];
526          int val;          int val;
527    
528          // (1)          // (1)
529          btn = (CButton *)GetDlgItem(IDC_LINECOPY);          ts.EnableContinuedLineCopy = GetCheck(IDC_LINECOPY);
         ts.EnableContinuedLineCopy = btn->GetCheck();  
530    
531          // (2)          // (2)
532          btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_RBUTTON);          if (GetCheck(IDC_DISABLE_PASTE_RBUTTON)) {
         if (btn->GetCheck()) {  
533                  ts.PasteFlag |= CPF_DISABLE_RBUTTON;                  ts.PasteFlag |= CPF_DISABLE_RBUTTON;
534          }          }
535          else {          else {
# Line 810  void CCopypastePropPageDlg::OnOK() Line 537  void CCopypastePropPageDlg::OnOK()
537          }          }
538    
539          // (3)          // (3)
540          btn = (CButton *)GetDlgItem(IDC_CONFIRM_PASTE_RBUTTON);          if (GetCheck(IDC_CONFIRM_PASTE_RBUTTON)) {
         if (btn->GetCheck()) {  
541                  ts.PasteFlag |= CPF_CONFIRM_RBUTTON;                  ts.PasteFlag |= CPF_CONFIRM_RBUTTON;
542          }          }
543          else {          else {
# Line 819  void CCopypastePropPageDlg::OnOK() Line 545  void CCopypastePropPageDlg::OnOK()
545          }          }
546    
547          // (4)          // (4)
548          btn = (CButton *)GetDlgItem(IDC_DISABLE_PASTE_MBUTTON);          if (GetCheck(IDC_DISABLE_PASTE_MBUTTON)) {
         if (btn->GetCheck()) {  
549                  ts.PasteFlag |= CPF_DISABLE_MBUTTON;                  ts.PasteFlag |= CPF_DISABLE_MBUTTON;
550          }          }
551          else {          else {
# Line 828  void CCopypastePropPageDlg::OnOK() Line 553  void CCopypastePropPageDlg::OnOK()
553          }          }
554    
555          // (5)          // (5)
556          btn = (CButton *)GetDlgItem(IDC_SELECT_LBUTTON);          ts.SelectOnlyByLButton = GetCheck(IDC_SELECT_LBUTTON);
         ts.SelectOnlyByLButton = btn->GetCheck();  
557    
558          // (6)          // (6)
559          btn = (CButton *)GetDlgItem(IDC_TRIMNLCHAR);          if (GetCheck(IDC_TRIMNLCHAR)) {
         if (btn->GetCheck()) {  
560                  ts.PasteFlag |= CPF_TRIM_TRAILING_NL;                  ts.PasteFlag |= CPF_TRIM_TRAILING_NL;
561          }          }
562          else {          else {
# Line 841  void CCopypastePropPageDlg::OnOK() Line 564  void CCopypastePropPageDlg::OnOK()
564          }          }
565    
566          // (7)          // (7)
567          btn = (CButton *)GetDlgItem(IDC_NORMALIZE_LINEBREAK);          if (GetCheck(IDC_NORMALIZE_LINEBREAK)) {
         if (btn->GetCheck()) {  
568                  ts.PasteFlag |= CPF_NORMALIZE_LINEBREAK;                  ts.PasteFlag |= CPF_NORMALIZE_LINEBREAK;
569          }          }
570          else {          else {
# Line 850  void CCopypastePropPageDlg::OnOK() Line 572  void CCopypastePropPageDlg::OnOK()
572          }          }
573    
574          // (8)IDC_CONFIRM_CHANGE_PASTE          // (8)IDC_CONFIRM_CHANGE_PASTE
575          btn = (CButton *)GetDlgItem(IDC_CONFIRM_CHANGE_PASTE);          if (GetCheck(IDC_CONFIRM_CHANGE_PASTE)) {
         if (btn->GetCheck()) {  
576                  ts.PasteFlag |= CPF_CONFIRM_CHANGEPASTE;                  ts.PasteFlag |= CPF_CONFIRM_CHANGEPASTE;
577          }          }
578          else {          else {
579                  ts.PasteFlag &= ~CPF_CONFIRM_CHANGEPASTE;                  ts.PasteFlag &= ~CPF_CONFIRM_CHANGEPASTE;
580          }          }
581          GetDlgItemText(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));          GetDlgItemTextA(IDC_CONFIRM_STRING_FILE, ts.ConfirmChangePasteStringFile, sizeof(ts.ConfirmChangePasteStringFile));
582    
583          // (9)          // (9)
584          GetDlgItemText(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));          GetDlgItemTextA(IDC_DELIM_LIST, ts.DelimList, sizeof(ts.DelimList));
585    
586          // (10)          // (10)
587          GetDlgItemText(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));          GetDlgItemTextA(IDC_PASTEDELAY_EDIT, buf, sizeof(buf));
588          val = atoi(buf);          val = atoi(buf);
589          ts.PasteDelayPerLine = min(max(0, val), 5000);          ts.PasteDelayPerLine =
590                    (val < 0) ? 0 :
591                    (val > 5000) ? 5000 : val;
592  }  }
593    
594    
   
595  // CVisualPropPageDlg ダイアログ  // CVisualPropPageDlg ダイアログ
596    
597  IMPLEMENT_DYNAMIC(CVisualPropPageDlg, CPropertyPage)  CVisualPropPageDlg::CVisualPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
598            : TTCPropertyPage(inst, CVisualPropPageDlg::IDD, sheet)
 CVisualPropPageDlg::CVisualPropPageDlg()  
         : CPropertyPage(CVisualPropPageDlg::IDD)  
599  {  {
600            TCHAR UIMsg[MAX_UIMSG];
601            get_lang_msgT("DLG_TABSHEET_TITLE_VISUAL", UIMsg, _countof(UIMsg),
602                         _T("Visual"), ts.UILanguageFile);
603            m_psp.pszTitle = _tcsdup(UIMsg);
604            m_psp.dwFlags |= PSP_USETITLE;
605  }  }
606    
607  CVisualPropPageDlg::~CVisualPropPageDlg()  CVisualPropPageDlg::~CVisualPropPageDlg()
608  {  {
609          if (DlgVisualFont != NULL) {          free((void *)m_psp.pszTitle);
                 DeleteObject(DlgVisualFont);  
         }  
610  }  }
611    
 BEGIN_MESSAGE_MAP(CVisualPropPageDlg, CPropertyPage)  
 END_MESSAGE_MAP()  
   
612  // CVisualPropPageDlg メッセージ ハンドラ  // CVisualPropPageDlg メッセージ ハンドラ
613    
614  BOOL CVisualPropPageDlg::OnInitDialog()  void CVisualPropPageDlg::OnInitDialog()
615  {  {
616          char buf[MAXPATHLEN];          char buf[MAXPATHLEN];
         char uimsg[MAX_UIMSG];  
         CListBox *listbox;  
         CButton *btn;  
         CComboBox *cmb;  
         int i;  
   
         CPropertyPage::OnInitDialog();  
   
         font = (HFONT)SendMessage(WM_GETFONT, 0, 0);  
         GetObject(font, sizeof(LOGFONT), &logfont);  
         if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgVisualFont, ts.UILanguageFile)) {  
                 SendDlgItemMessage(IDC_ALPHABLEND, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));  
                 SendDlgItemMessage(IDC_ALPHA_BLEND_ACTIVE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));  
                 SendDlgItemMessage(IDC_ALPHA_BLEND_INACTIVE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));  
                 SendDlgItemMessage(IDC_ALPHA_BLEND_ACTIVE_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));  
                 SendDlgItemMessage(IDC_ALPHA_BLEND_INACTIVE_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));  
                 SendDlgItemMessage(IDC_ETERM_LOOKFEEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_MOUSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_MOUSE_CURSOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_FONT_QUALITY_LABEL, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_FONT_QUALITY, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ANSICOLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_COLOR_RED, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_COLOR_GREEN, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_COLOR_BLUE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_SAMPLE_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BOLD, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_BLINK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENABLE_ATTR_COLOR_REVERSE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENABLE_URL_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENABLE_ANSI_COLOR, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_URL_UNDERLINE, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_BGIMG_CHECK, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_BGIMG_EDIT, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_BGIMG_BUTTON, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_RESTART, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_BGIMG_BRIGHTNESS, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));  
                 SendDlgItemMessage(IDC_EDIT_BGIMG_BRIGHTNESS, WM_SETFONT, (WPARAM)DlgVisualFont, MAKELPARAM(TRUE, 0));  
         }  
         else {  
                 DlgVisualFont = NULL;  
         }  
617    
618          GetDlgItemText(IDC_ALPHABLEND, uimsg, sizeof(uimsg));          TTCPropertyPage::OnInitDialog();
619          get_lang_msg("DLG_TAB_VISUAL_ALPHA", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
620          SetDlgItemText(IDC_ALPHABLEND, ts.UIMsg);          static const DlgTextInfo TextInfos[] = {
621          GetDlgItemText(IDC_ALPHA_BLEND_ACTIVE_LABEL, uimsg, sizeof(uimsg));                  { IDC_ALPHABLEND, "DLG_TAB_VISUAL_ALPHA" },
622          get_lang_msg("DLG_TAB_VISUAL_ALPHA_ACTIVE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);                  { IDC_ALPHA_BLEND_ACTIVE_LABEL, "DLG_TAB_VISUAL_ALPHA_ACTIVE_LABEL" },
623          SetDlgItemText(IDC_ALPHA_BLEND_ACTIVE_LABEL, ts.UIMsg);                  { IDC_ALPHA_BLEND_INACTIVE_LABEL, "DLG_TAB_VISUAL_ALPHA_INACTIVE_LABEL" },
624          GetDlgItemText(IDC_ALPHA_BLEND_INACTIVE_LABEL, uimsg, sizeof(uimsg));                  { IDC_ETERM_LOOKFEEL, "DLG_TAB_VISUAL_ETERM" },
625          get_lang_msg("DLG_TAB_VISUAL_ALPHA_INACTIVE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);                  { IDC_BGIMG_CHECK, "DLG_TAB_VISUAL_BGIMG" },
626          SetDlgItemText(IDC_ALPHA_BLEND_INACTIVE_LABEL, ts.UIMsg);                  { IDC_BGIMG_BRIGHTNESS, "DLG_TAB_VISUAL_BGIMG_BRIGHTNESS" },
627          GetDlgItemText(IDC_ETERM_LOOKFEEL, uimsg, sizeof(uimsg));                  { IDC_MOUSE, "DLG_TAB_VISUAL_MOUSE" },
628          get_lang_msg("DLG_TAB_VISUAL_ETERM", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);                  { IDC_FONT_QUALITY_LABEL, "DLG_TAB_VISUAL_FONT_QUALITY" },
629          SetDlgItemText(IDC_ETERM_LOOKFEEL, ts.UIMsg);                  { IDC_ANSICOLOR, "DLG_TAB_VISUAL_ANSICOLOR" },
630          GetDlgItemText(IDC_BGIMG_CHECK, uimsg, sizeof(uimsg));                  { IDC_RED, "DLG_TAB_VISUAL_RED" },
631          get_lang_msg("DLG_TAB_VISUAL_BGIMG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);                  { IDC_GREEN, "DLG_TAB_VISUAL_GREEN" },
632          SetDlgItemText(IDC_BGIMG_CHECK, ts.UIMsg);                  { IDC_BLUE, "DLG_TAB_VISUAL_BLUE" },
633          GetDlgItemText(IDC_BGIMG_BRIGHTNESS, uimsg, sizeof(uimsg));                  { IDC_ENABLE_ATTR_COLOR_BOLD, "DLG_TAB_VISUAL_BOLD" },
634          get_lang_msg("DLG_TAB_VISUAL_BGIMG_BRIGHTNESS", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);                  { IDC_ENABLE_ATTR_COLOR_BLINK, "DLG_TAB_VISUAL_BLINK" },
635          SetDlgItemText(IDC_BGIMG_BRIGHTNESS, ts.UIMsg);                  { IDC_ENABLE_ATTR_COLOR_REVERSE, "DLG_TAB_VISUAL_REVERSE" },
636          GetDlgItemText(IDC_MOUSE, uimsg, sizeof(uimsg));                  { IDC_ENABLE_URL_COLOR, "DLG_TAB_VISUAL_URL" },
637          get_lang_msg("DLG_TAB_VISUAL_MOUSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);                  { IDC_ENABLE_ANSI_COLOR, "DLG_TAB_VISUAL_ANSI" },
638          SetDlgItemText(IDC_MOUSE, ts.UIMsg);                  { IDC_URL_UNDERLINE, "DLG_TAB_VISUAL_URLUL" },
639          GetDlgItemText(IDC_FONT_QUALITY_LABEL, uimsg, sizeof(uimsg));                  { IDC_RESTART, "DLG_TAB_VISUAL_RESTART" },
640          get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          };
641          SetDlgItemText(IDC_FONT_QUALITY_LABEL, ts.UIMsg);          SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
642          GetDlgItemText(IDC_ANSICOLOR, uimsg, sizeof(uimsg));  
643          get_lang_msg("DLG_TAB_VISUAL_ANSICOLOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          TCHAR uimsg[MAX_UIMSG];
644          SetDlgItemText(IDC_ANSICOLOR, ts.UIMsg);          get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT",
645          GetDlgItemText(IDC_RED, uimsg, sizeof(uimsg));                                    uimsg, _countof(uimsg), _T("Default"), ts.UILanguageFile);
646          get_lang_msg("DLG_TAB_VISUAL_RED", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
647          SetDlgItemText(IDC_RED, ts.UIMsg);          get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED",
648          GetDlgItemText(IDC_GREEN, uimsg, sizeof(uimsg));                                    uimsg, _countof(uimsg), _T("Non-Antialiased"), ts.UILanguageFile);
649          get_lang_msg("DLG_TAB_VISUAL_GREEN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
650          SetDlgItemText(IDC_GREEN, ts.UIMsg);          get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED",
651          GetDlgItemText(IDC_BLUE, uimsg, sizeof(uimsg));                                    uimsg, _countof(uimsg), _T("Antialiased"), ts.UILanguageFile);
652          get_lang_msg("DLG_TAB_VISUAL_BLUE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
653          SetDlgItemText(IDC_BLUE, ts.UIMsg);          get_lang_msgT("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE",
654          GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, uimsg, sizeof(uimsg));                                    uimsg, _countof(uimsg), _T("ClearType"), ts.UILanguageFile);
655          get_lang_msg("DLG_TAB_VISUAL_BOLD", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)uimsg);
         SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BOLD, ts.UIMsg);  
         GetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_VISUAL_BLINK", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_ENABLE_ATTR_COLOR_BLINK, ts.UIMsg);  
         GetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_VISUAL_REVERSE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_ENABLE_ATTR_COLOR_REVERSE, ts.UIMsg);  
         GetDlgItemText(IDC_ENABLE_URL_COLOR, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_VISUAL_URL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_ENABLE_URL_COLOR, ts.UIMsg);  
         GetDlgItemText(IDC_ENABLE_ANSI_COLOR, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_VISUAL_ANSI", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_ENABLE_ANSI_COLOR, ts.UIMsg);  
         GetDlgItemText(IDC_URL_UNDERLINE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_VISUAL_URLUL", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_URL_UNDERLINE, ts.UIMsg);  
         GetDlgItemText(IDC_RESTART, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_VISUAL_RESTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_RESTART, ts.UIMsg);  
   
         get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_DEFAULT", ts.UIMsg, sizeof(ts.UIMsg), "Default", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_NONANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Non-Antialiased", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_ANTIALIASED", ts.UIMsg, sizeof(ts.UIMsg), "Antialiased", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_TAB_VISUAL_FONT_QUALITY_CLEARTYPE", ts.UIMsg, sizeof(ts.UIMsg), "ClearType", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_FONT_QUALITY, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
656    
657          // (1)AlphaBlend          // (1)AlphaBlend
658          _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlendActive);  
659          SetDlgItemText(IDC_ALPHA_BLEND_ACTIVE, buf);          SetDlgItemNum(IDC_ALPHA_BLEND_ACTIVE, ts.AlphaBlendActive);
660          _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.AlphaBlendInactive);  
661          SetDlgItemText(IDC_ALPHA_BLEND_INACTIVE, buf);          SetDlgItemNum(IDC_ALPHA_BLEND_INACTIVE, ts.AlphaBlendInactive);
662    
663          // (2)[BG] BGEnable          // (2)[BG] BGEnable
664          btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);          SetCheck(IDC_ETERM_LOOKFEEL, ts.EtermLookfeel.BGEnable);
         btn->SetCheck(ts.EtermLookfeel.BGEnable);  
665    
666          // Eterm look-feelの背景画像指定。          // Eterm look-feelの背景画像指定。
667          SetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath);          SetDlgItemTextA(IDC_BGIMG_EDIT, ts.BGImageFilePath);
668    
669          _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.BGImgBrightness);          _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", ts.BGImgBrightness);
670          SetDlgItemText(IDC_EDIT_BGIMG_BRIGHTNESS, buf);          SetDlgItemNum(IDC_EDIT_BGIMG_BRIGHTNESS, ts.BGImgBrightness);
671    
672          if (ts.EtermLookfeel.BGEnable) {          if (ts.EtermLookfeel.BGEnable) {
673                  GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);                  EnableDlgItem(IDC_BGIMG_CHECK, TRUE);
674    
                 btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);  
675                  if (strcmp(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE) == 0) {                  if (strcmp(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE) == 0) {
676                          btn->SetCheck(BST_CHECKED);                          SetCheck(IDC_BGIMG_CHECK, BST_CHECKED);
677                          GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);                          EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
678                          GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);                          EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
679    
680                          GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);                          EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
681                          GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);                          EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
682                  } else {                  } else {
683                          btn->SetCheck(BST_UNCHECKED);                          SetCheck(IDC_BGIMG_CHECK, BST_UNCHECKED);
684                          GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);                          EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
685                          GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);                          EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
686    
687                          GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                          EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
688                          GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                          EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
689                  }                  }
690          } else {          } else {
691                  GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);                  EnableDlgItem(IDC_BGIMG_CHECK, FALSE);
692                  GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);                  EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
693                  GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);                  EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
694    
695                  GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                  EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
696                  GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                  EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
697          }          }
698    
699          // (3)Mouse cursor type          // (3)Mouse cursor type
700          cmb = (CComboBox *)GetDlgItem(IDC_MOUSE_CURSOR);          int sel = 0;
701          for (i = 0 ; MouseCursor[i].name ; i++) {          for (int i = 0 ; MouseCursor[i].name ; i++) {
702                  cmb->InsertString(i, MouseCursor[i].name);                  const char *name = MouseCursor[i].name;
703                    SendDlgItemMessageA(IDC_MOUSE_CURSOR, CB_ADDSTRING, i, (LPARAM)name);
704                    if (strcmp(name, ts.MouseCursorName) == 0) {
705                            sel = i;
706                    }
707          }          }
708          cmb->SelectString(0, ts.MouseCursorName);          SetCurSel(IDC_MOUSE_CURSOR, sel);
709    
710          // (4)Font quality          // (4)Font quality
         cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);  
711          switch (ts.FontQuality) {          switch (ts.FontQuality) {
712                  case DEFAULT_QUALITY:                  case DEFAULT_QUALITY:
713                          cmb->SetCurSel(0);                          SetCurSel(IDC_FONT_QUALITY, 0);
714                          break;                          break;
715                  case NONANTIALIASED_QUALITY:                  case NONANTIALIASED_QUALITY:
716                          cmb->SetCurSel(1);                          SetCurSel(IDC_FONT_QUALITY, 1);
717                          break;                          break;
718                  case ANTIALIASED_QUALITY:                  case ANTIALIASED_QUALITY:
719                          cmb->SetCurSel(2);                          SetCurSel(IDC_FONT_QUALITY, 2);
720                          break;                          break;
721                  default: // CLEARTYPE_QUALITY                  default: // CLEARTYPE_QUALITY
722                          cmb->SetCurSel(3);                          SetCurSel(IDC_FONT_QUALITY, 3);
723                          break;                          break;
724          }          }
725    
726          // (5)ANSI color          // (5)ANSI color
727          listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);          for (int i = 0 ; i < 16 ; i++) {
         for (i = 0 ; i < 16 ; i++) {  
728                  _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);                  _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%d", i);
729                  listbox->InsertString(i, buf);                  SendDlgItemMessageA(IDC_ANSI_COLOR, LB_INSERTSTRING, i, (LPARAM)buf);
730          }          }
731          SetupRGBbox(GetSafeHwnd(), 0);          SetupRGBbox(0);
732  #if 0          SendDlgItemMessage(IDC_ANSI_COLOR, LB_SETCURSEL, 0, 0);
733          SendMessage(WM_CTLCOLORSTATIC,          ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
                     (WPARAM)label_hdc,  
                     (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));  
 #endif  
734    
735          // (6)Bold Attr Color          // (6)Bold Attr Color
736          btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);          SetCheck(IDC_ENABLE_ATTR_COLOR_BOLD, (ts.ColorFlag&CF_BOLDCOLOR) != 0);
         btn->SetCheck((ts.ColorFlag&CF_BOLDCOLOR) != 0);  
737    
738          // (7)Blink Attr Color          // (7)Blink Attr Color
739          btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);          SetCheck(IDC_ENABLE_ATTR_COLOR_BLINK, (ts.ColorFlag&CF_BLINKCOLOR) != 0);
         btn->SetCheck((ts.ColorFlag&CF_BLINKCOLOR) != 0);  
740    
741          // (8)Reverse Attr Color          // (8)Reverse Attr Color
742          btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);          SetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE, (ts.ColorFlag&CF_REVERSECOLOR) != 0);
         btn->SetCheck((ts.ColorFlag&CF_REVERSECOLOR) != 0);  
743    
744          // (9)URL Color          // (9)URL Color
745          btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);          SetCheck(IDC_ENABLE_URL_COLOR, (ts.ColorFlag&CF_URLCOLOR) != 0);
         btn->SetCheck((ts.ColorFlag&CF_URLCOLOR) != 0);  
746    
747          // (10)Color          // (10)Color
748          btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);          SetCheck(IDC_ENABLE_ANSI_COLOR, (ts.ColorFlag&CF_ANSICOLOR) != 0);
         btn->SetCheck((ts.ColorFlag&CF_ANSICOLOR) != 0);  
749    
750          // (11)URL Underline          // (11)URL Underline
751          btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);          SetCheck(IDC_URL_UNDERLINE, (ts.FontFlag&FF_URLUNDERLINE) != 0);
         btn->SetCheck((ts.FontFlag&FF_URLUNDERLINE) != 0);  
752    
753          // ダイアログにフォーカスを当てる          // ダイアログにフォーカスを当てる
754          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_ALPHA_BLEND_ACTIVE));          ::SetFocus(GetDlgItem(IDC_ALPHA_BLEND_ACTIVE));
   
         return FALSE;  
755  }  }
756    
757  BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)  BOOL CVisualPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
758  {  {
         CListBox *listbox;  
759          int sel;          int sel;
         char buf[MAXPATHLEN];  
         CButton *btn;  
760    
761          switch (wParam) {          switch (wParam) {
762                  case IDC_ETERM_LOOKFEEL:          case IDC_ETERM_LOOKFEEL:
763                          // チェックされたら Enable/Disable をトグルする。                          // チェックされたら Enable/Disable をトグルする。
764                          btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);                          if (GetCheck(IDC_ETERM_LOOKFEEL)) {
765                          if (btn->GetCheck()) {                                  EnableDlgItem(IDC_BGIMG_CHECK, TRUE);
766                                  GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(TRUE);                                  if (GetCheck(IDC_BGIMG_CHECK)) {
767                                  btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);                                          EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
768                                  if (btn->GetCheck()) {                                          EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
                                         GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);  
                                         GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);  
769    
770                                          GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);                                          EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
771                                          GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);                                          EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
772                                  } else {                                  } else {
773                                          GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
774                                          GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
775    
776                                          GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
777                                          GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
778                                  }                                  }
779                          } else {                          } else {
780                                  GetDlgItem(IDC_BGIMG_CHECK)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_BGIMG_CHECK, FALSE);
781                                  GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
782                                  GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
783    
784                                  GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
785                                  GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
786    
787                                  // 無効化されたら、BGThemeFile を元に戻す。                                  // 無効化されたら、BGThemeFile を元に戻す。
788                                  strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));                                  strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
789                                  // 背景画像も無効化する。                                  // 背景画像も無効化する。
790                                  SetDlgItemText(IDC_BGIMG_EDIT, "");                                  SetDlgItemTextT(IDC_BGIMG_EDIT, _T(""));
791                                  SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);                                  SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
792                          }                          }
793                          return TRUE;                          return TRUE;
794    
795                  case IDC_BGIMG_CHECK:                  case IDC_BGIMG_CHECK:
796                          btn = (CButton *)GetDlgItem(IDC_BGIMG_CHECK);                          if (GetCheck(IDC_BGIMG_CHECK)) {
797                          if (btn->GetCheck()) {                                  EnableDlgItem(IDC_BGIMG_EDIT, TRUE);
798                                  GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(TRUE);                                  EnableDlgItem(IDC_BGIMG_BUTTON, TRUE);
                                 GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(TRUE);  
799    
800                                  GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);                                  EnableDlgItem(IDC_BGIMG_BRIGHTNESS, TRUE);
801                                  GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(TRUE);                                  EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, TRUE);
802    
803                                  strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));                                  strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE, sizeof(ts.EtermLookfeel.BGThemeFile));
804                          } else {                          } else {
805                                  GetDlgItem(IDC_BGIMG_EDIT)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_BGIMG_EDIT, FALSE);
806                                  GetDlgItem(IDC_BGIMG_BUTTON)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_BGIMG_BUTTON, FALSE);
807    
808                                  GetDlgItem(IDC_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_BGIMG_BRIGHTNESS, FALSE);
809                                  GetDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS)->EnableWindow(FALSE);                                  EnableDlgItem(IDC_EDIT_BGIMG_BRIGHTNESS, FALSE);
810    
811                                  // 無効化されたら、BGThemeFile を元に戻す。                                  // 無効化されたら、BGThemeFile を元に戻す。
812                                  strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));                                  strncpy_s(ts.EtermLookfeel.BGThemeFile, BG_THEME_IMAGEFILE_DEFAULT, sizeof(ts.EtermLookfeel.BGThemeFile));
813                                  // 背景画像も無効化する。                                  // 背景画像も無効化する。
814                                  SetDlgItemText(IDC_BGIMG_EDIT, "");                                  SetDlgItemTextT(IDC_BGIMG_EDIT, _T(""));
815                                  SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);                                  SetDlgItemInt(IDC_EDIT_BGIMG_BRIGHTNESS, BG_THEME_IMAGE_BRIGHTNESS_DEFAULT);
816                          }                          }
817                          return TRUE;                          return TRUE;
# Line 1191  BOOL CVisualPropPageDlg::OnCommand(WPARA Line 819  BOOL CVisualPropPageDlg::OnCommand(WPARA
819                  case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):                  case IDC_BGIMG_BUTTON | (BN_CLICKED << 16):
820                          // 背景画像をダイアログで指定する。                          // 背景画像をダイアログで指定する。
821                          {                          {
822                                  CString         filter("Image Files(*.jpg;*.jpeg;*.bmp)|*.jpg;*.jpeg;*.bmp|All Files(*.*)|*.*||");                                  OPENFILENAMEA ofn;
823                                  CFileDialog     selDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);                                  char szFile[MAX_PATH];
824                                  if (selDlg.DoModal() == IDOK) {  
825                                          // 背景画像指定が意図的に行われたら、BGThemeFile を固定化する。                                  memset(&ofn, 0, sizeof(ofn));
826                                          SetDlgItemText(IDC_BGIMG_EDIT, selDlg.GetPathName());                                  memset(szFile, 0, sizeof(szFile));
827                                    ofn.lStructSize = get_OPENFILENAME_SIZEA();
828                                    ofn.hwndOwner = m_pSheet->m_hWnd;
829                                    ofn.lpstrFilter = "Image Files(*.jpg;*.jpeg;*.bmp)\0*.jpg;*.jpeg;*.bmp\0All Files(*.*)\0*.*\0";
830                                    ofn.lpstrFile = szFile;
831                                    ofn.nMaxFile = _countof(szFile);
832                                    ofn.lpstrTitle = "select image file";
833                                    ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
834                                    if (GetOpenFileNameA(&ofn) != 0) {
835                                            SetDlgItemTextA(IDC_BGIMG_EDIT, szFile);
836                                  }                                  }
837                          }                          }
838                          return TRUE;                          return TRUE;
839    
840                  case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):                  case IDC_ANSI_COLOR | (LBN_SELCHANGE << 16):
841                          listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);                          sel = SendDlgItemMessage(IDC_ANSI_COLOR, LB_GETCURSEL, 0, 0);
                         sel = listbox->GetCurSel();  
842                          if (sel != -1) {                          if (sel != -1) {
843                                  SetupRGBbox(GetSafeHwnd(), sel);                                  SetupRGBbox(sel);
844  #if 0                                  ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
                                 SendMessage(WM_CTLCOLORSTATIC,  
                                             (WPARAM)label_hdc,  
                                             (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));  
 #endif  
845                          }                          }
846                          return TRUE;                          return TRUE;
847    
# Line 1218  BOOL CVisualPropPageDlg::OnCommand(WPARA Line 850  BOOL CVisualPropPageDlg::OnCommand(WPARA
850                  case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):                  case IDC_COLOR_BLUE | (EN_KILLFOCUS << 16):
851                          {                          {
852                                  BYTE r, g, b;                                  BYTE r, g, b;
853                                    char buf[8];
854    
855                                  listbox = (CListBox *)GetDlgItem(IDC_ANSI_COLOR);                                  sel = GetCurSel(IDC_ANSI_COLOR);
                                 sel = listbox->GetCurSel();  
856                                  if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {                                  if (sel < 0 && sel > sizeof(ts.ANSIColor)-1) {
857                                          return TRUE;                                          return TRUE;
858                                  }                                  }
859    
860                                  GetDlgItemText(IDC_COLOR_RED, buf, sizeof(buf));                                  GetDlgItemTextA(IDC_COLOR_RED, buf, sizeof(buf));
861                                  r = atoi(buf);                                  r = atoi(buf);
862    
863                                  GetDlgItemText(IDC_COLOR_GREEN, buf, sizeof(buf));                                  GetDlgItemTextA(IDC_COLOR_GREEN, buf, sizeof(buf));
864                                  g = atoi(buf);                                  g = atoi(buf);
865    
866                                  GetDlgItemText(IDC_COLOR_BLUE, buf, sizeof(buf));                                  GetDlgItemTextA(IDC_COLOR_BLUE, buf, sizeof(buf));
867                                  b = atoi(buf);                                  b = atoi(buf);
868    
869                                  ts.ANSIColor[sel] = RGB(r, g, b);                                  ts.ANSIColor[sel] = RGB(r, g, b);
870    
871                                  // 255を超えたRGB値は補正されるので、それをEditに表示する (2007.2.18 maya)                                  // 255を超えたRGB値は補正されるので、それをEditに表示する (2007.2.18 maya)
872                                  SetupRGBbox(GetSafeHwnd(), sel);                                  SetupRGBbox(sel);
873  #if 0  
874                                  SendMessage(WM_CTLCOLORSTATIC,                                  ::InvalidateRect(GetDlgItem(IDC_SAMPLE_COLOR), NULL, TRUE);
                                             (WPARAM)label_hdc,  
                                             (LPARAM)GetDlgItem(IDC_SAMPLE_COLOR));  
 #endif  
875                          }                          }
876    
877                          return TRUE;                          return TRUE;
878  #if 0          }
                 case WM_CTLCOLORSTATIC:  
                         {  
                                 HDC hDC = (HDC)wp;  
                                 HWND hWnd = (HWND)lp;  
   
                                 //if (label_hdc == NULL) {  
                                         hDC = GetWindowDC(GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR));  
                                 //      label_hdc = hDC;  
                                 //}  
879    
880                                  if ( hWnd == GetDlgItem(hDlgWnd, IDC_SAMPLE_COLOR) ) {          return TTCPropertyPage::OnCommand(wParam, lParam);
881                                          BYTE r, g, b;  }
882    
883                                          hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_RED);  HBRUSH CVisualPropPageDlg::OnCtlColor(HDC hDC, HWND hWnd)
884                                          SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);  {
885                                          r = atoi(buf);          if ( hWnd == GetDlgItem(IDC_SAMPLE_COLOR) ) {
886                    BYTE r, g, b;
887                    char buf[8];
888    
889                                          hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_GREEN);                  GetDlgItemTextA(IDC_COLOR_RED, buf, sizeof(buf));
890                                          SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);                  r = atoi(buf);
                                         g = atoi(buf);  
891    
892                                          hWnd = GetDlgItem(hDlgWnd, IDC_COLOR_BLUE);                  GetDlgItemTextA(IDC_COLOR_GREEN, buf, sizeof(buf));
893                                          SendMessage(hWnd, WM_GETTEXT , sizeof(buf), (LPARAM)buf);                  g = atoi(buf);
                                         b = atoi(buf);  
894    
895                                          OutputDebugPrintf("%06x\n", RGB(r, g, b));                  GetDlgItemTextA(IDC_COLOR_BLUE, buf, sizeof(buf));
896                    b = atoi(buf);
897    
898                                          SetBkMode(hDC, TRANSPARENT);                  SetBkMode(hDC, TRANSPARENT);
899                                          SetTextColor(hDC, RGB(r, g, b) );                  SetTextColor(hDC, RGB(r, g, b) );
                                         ReleaseDC(hDlgWnd, hDC);  
900    
901                                          return (BOOL)(HBRUSH)GetStockObject(NULL_BRUSH);                  return (HBRUSH)GetStockObject(NULL_BRUSH);
                                 }  
                                 return FALSE;  
                         }  
                         break ;  
 #endif  
902          }          }
903            return TTCPropertyPage::OnCtlColor(hDC, hWnd);
         return CPropertyPage::OnCommand(wParam, lParam);  
904  }  }
905    
906  void CVisualPropPageDlg::OnOK()  void CVisualPropPageDlg::OnOK()
907  {  {
         CButton *btn;  
         CComboBox *cmb;  
908          int sel;          int sel;
909          char buf[MAXPATHLEN];          char buf[MAXPATHLEN];
910          COLORREF TmpColor;          COLORREF TmpColor;
911          int flag_changed = 0;          int flag_changed = 0;
912    
913          // (1)          // (1)
914          GetDlgItemText(IDC_ALPHA_BLEND_ACTIVE, buf, sizeof(buf));          GetDlgItemTextA(IDC_ALPHA_BLEND_ACTIVE, buf, sizeof(buf));
915          if (isdigit(buf[0])) {          if (isdigit(buf[0])) {
916                  int i = atoi(buf);                  int i = atoi(buf);
917                  ts.AlphaBlendActive =                  ts.AlphaBlendActive =
918                          (i < 0) ? 0 :                          (i < 0) ? 0 :
919                          (i > 255) ? 255 : i;                          (i > 255) ? 255 : i;
920          }          }
921          GetDlgItemText(IDC_ALPHA_BLEND_INACTIVE, buf, sizeof(buf));          GetDlgItemTextA(IDC_ALPHA_BLEND_INACTIVE, buf, sizeof(buf));
922          if (isdigit(buf[0])) {          if (isdigit(buf[0])) {
923                  int i = atoi(buf);                  int i = atoi(buf);
924                  ts.AlphaBlendInactive =                  ts.AlphaBlendInactive =
925                          (i < 0) ? 0 :                          (i < 0) ? 0 :
926                          (i > 255) ? 255 : i;                          (i > 255) ? 255 : i;
927          }          }
# Line 1317  void CVisualPropPageDlg::OnOK() Line 929  void CVisualPropPageDlg::OnOK()
929          // (2)          // (2)
930          // グローバル変数 BGEnable を直接書き換えると、プログラムが落ちることが          // グローバル変数 BGEnable を直接書き換えると、プログラムが落ちることが
931          // あるのでコピーを修正するのみとする。(2005.4.24 yutaka)          // あるのでコピーを修正するのみとする。(2005.4.24 yutaka)
932          btn = (CButton *)GetDlgItem(IDC_ETERM_LOOKFEEL);          if (ts.EtermLookfeel.BGEnable != GetCheck(IDC_ETERM_LOOKFEEL)) {
         if (ts.EtermLookfeel.BGEnable != btn->GetCheck()) {  
933                  flag_changed = 1;                  flag_changed = 1;
934                  ts.EtermLookfeel.BGEnable = btn->GetCheck();                  ts.EtermLookfeel.BGEnable = GetCheck(IDC_ETERM_LOOKFEEL);
935          }          }
   
936          if (ts.EtermLookfeel.BGEnable) {          if (ts.EtermLookfeel.BGEnable) {
937                  GetDlgItemText(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));                  GetDlgItemTextA(IDC_BGIMG_EDIT, ts.BGImageFilePath, sizeof(ts.BGImageFilePath));
938          } else {          } else {
939                  strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);                  strncpy_s(ts.BGImageFilePath, sizeof(ts.BGImageFilePath), "%SystemRoot%\\Web\\Wallpaper\\*.bmp", _TRUNCATE);
940          }          }
941    
942          GetDlgItemText(IDC_EDIT_BGIMG_BRIGHTNESS, buf, sizeof(buf));          GetDlgItemTextA(IDC_EDIT_BGIMG_BRIGHTNESS, buf, sizeof(buf));
943          if (isdigit(buf[0])) {          if (isdigit(buf[0])) {
944                  ts.BGImgBrightness = atoi(buf);                  int i = atoi(buf);
945                  ts.BGImgBrightness = max(0, ts.BGImgBrightness);                  ts.BGImgBrightness =
946                  ts.BGImgBrightness = min(255, ts.BGImgBrightness);                          (i < 0) ? 0 :
947                            (i > 255) ? 255 : i;
948          }          }
949    
950          // (3)          // (3)
951          cmb = (CComboBox *)GetDlgItem(IDC_MOUSE_CURSOR);          sel = GetCurSel(IDC_MOUSE_CURSOR);
         sel = cmb->GetCurSel();  
952          if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {          if (sel >= 0 && sel < MOUSE_CURSOR_MAX) {
953                  strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);                  strncpy_s(ts.MouseCursorName, sizeof(ts.MouseCursorName), MouseCursor[sel].name, _TRUNCATE);
954          }          }
955    
956          // (4)Font quality          // (4)Font quality
957          cmb = (CComboBox *)GetDlgItem(IDC_FONT_QUALITY);          switch (GetCurSel(IDC_FONT_QUALITY)) {
         switch (cmb->GetCurSel()) {  
958                  case 0:                  case 0:
959                          ts.FontQuality = DEFAULT_QUALITY;                          ts.FontQuality = DEFAULT_QUALITY;
960                          break;                          break;
# Line 1363  void CVisualPropPageDlg::OnOK() Line 972  void CVisualPropPageDlg::OnOK()
972          }          }
973    
974          // (6) Attr Bold Color          // (6) Attr Bold Color
975          btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BOLD);          if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_BOLD)) {
         if (((ts.ColorFlag & CF_BOLDCOLOR) != 0) != btn->GetCheck()) {  
976                  ts.ColorFlag ^= CF_BOLDCOLOR;                  ts.ColorFlag ^= CF_BOLDCOLOR;
977          }          }
978    
979          // (7) Attr Blink Color          // (7) Attr Blink Color
980          btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_BLINK);          if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_BLINK)) {
         if (((ts.ColorFlag & CF_BLINKCOLOR) != 0) != btn->GetCheck()) {  
981                  ts.ColorFlag ^= CF_BLINKCOLOR;                  ts.ColorFlag ^= CF_BLINKCOLOR;
982          }          }
983    
984          // (8) Attr Reverse Color          // (8) Attr Reverse Color
         btn = (CButton *)GetDlgItem(IDC_ENABLE_ATTR_COLOR_REVERSE);  
985          if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoモード(DECSCNM)時は処理を変える          if (ts.ColorFlag & CF_REVERSEVIDEO) { // Reverse Videoモード(DECSCNM)時は処理を変える
986                  if (ts.ColorFlag & CF_REVERSECOLOR) {                  if (ts.ColorFlag & CF_REVERSECOLOR) {
987                          if (!btn->GetCheck()) {                          if (!GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
988                                  TmpColor = ts.VTColor[0];                                  TmpColor = ts.VTColor[0];
989                                  ts.VTColor[0] = ts.VTReverseColor[1];                                  ts.VTColor[0] = ts.VTReverseColor[1];
990                                  ts.VTReverseColor[1] = ts.VTColor[1];                                  ts.VTReverseColor[1] = ts.VTColor[1];
# Line 1387  void CVisualPropPageDlg::OnOK() Line 993  void CVisualPropPageDlg::OnOK()
993                                  ts.ColorFlag ^= CF_REVERSECOLOR;                                  ts.ColorFlag ^= CF_REVERSECOLOR;
994                          }                          }
995                  }                  }
996                  else if (btn->GetCheck()) {                  else if (GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
997                          TmpColor = ts.VTColor[0];                          TmpColor = ts.VTColor[0];
998                          ts.VTColor[0] = ts.VTReverseColor[0];                          ts.VTColor[0] = ts.VTReverseColor[0];
999                          ts.VTReverseColor[0] = ts.VTColor[1];                          ts.VTReverseColor[0] = ts.VTColor[1];
# Line 1396  void CVisualPropPageDlg::OnOK() Line 1002  void CVisualPropPageDlg::OnOK()
1002                          ts.ColorFlag ^= CF_REVERSECOLOR;                          ts.ColorFlag ^= CF_REVERSECOLOR;
1003                  }                  }
1004          }          }
1005          else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != btn->GetCheck()) {          else if (((ts.ColorFlag & CF_REVERSECOLOR) != 0) != GetCheck(IDC_ENABLE_ATTR_COLOR_REVERSE)) {
1006                  ts.ColorFlag ^= CF_REVERSECOLOR;                  ts.ColorFlag ^= CF_REVERSECOLOR;
1007          }          }
1008    
1009          // (9) URL Color          // (9) URL Color
1010          btn = (CButton *)GetDlgItem(IDC_ENABLE_URL_COLOR);          if (((ts.ColorFlag & CF_URLCOLOR) != 0) != GetCheck(IDC_ENABLE_URL_COLOR)) {
         if (((ts.ColorFlag & CF_URLCOLOR) != 0) != btn->GetCheck()) {  
1011                  ts.ColorFlag ^= CF_URLCOLOR;                  ts.ColorFlag ^= CF_URLCOLOR;
1012          }          }
1013    
1014          // (10) Color          // (10) Color
1015          btn = (CButton *)GetDlgItem(IDC_ENABLE_ANSI_COLOR);          if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != GetCheck(IDC_ENABLE_ANSI_COLOR)) {
         if (((ts.ColorFlag & CF_ANSICOLOR) != 0) != btn->GetCheck()) {  
1016                  ts.ColorFlag ^= CF_ANSICOLOR;                  ts.ColorFlag ^= CF_ANSICOLOR;
1017          }          }
1018    
1019          // (11) URL Underline          // (11) URL Underline
1020          btn = (CButton *)GetDlgItem(IDC_URL_UNDERLINE);          if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != GetCheck(IDC_URL_UNDERLINE)) {
         if (((ts.FontFlag & FF_URLUNDERLINE) != 0) != btn->GetCheck()) {  
1021                  ts.FontFlag ^= FF_URLUNDERLINE;                  ts.FontFlag ^= FF_URLUNDERLINE;
1022          }          }
1023    
# Line 1428  void CVisualPropPageDlg::OnOK() Line 1031  void CVisualPropPageDlg::OnOK()
1031    
1032  // CLogPropPageDlg ダイアログ  // CLogPropPageDlg ダイアログ
1033    
1034  IMPLEMENT_DYNAMIC(CLogPropPageDlg, CPropertyPage)  CLogPropPageDlg::CLogPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
1035            : TTCPropertyPage(inst, CLogPropPageDlg::IDD, sheet)
 CLogPropPageDlg::CLogPropPageDlg()  
         : CPropertyPage(CLogPropPageDlg::IDD)  
1036  {  {
1037            TCHAR UIMsg[MAX_UIMSG];
1038            get_lang_msgT("DLG_TABSHEET_TITLE_Log", UIMsg, _countof(UIMsg),
1039                         _T("Log"), ts.UILanguageFile);
1040            m_psp.pszTitle = _tcsdup(UIMsg);
1041            m_psp.dwFlags |= PSP_USETITLE;
1042  }  }
1043    
1044  CLogPropPageDlg::~CLogPropPageDlg()  CLogPropPageDlg::~CLogPropPageDlg()
1045  {  {
1046          if (DlgLogFont != NULL) {          free((void *)m_psp.pszTitle);
                 DeleteObject(DlgLogFont);  
         }  
1047  }  }
1048    
 BEGIN_MESSAGE_MAP(CLogPropPageDlg, CPropertyPage)  
 END_MESSAGE_MAP()  
   
1049  // CLogPropPageDlg メッセージ ハンドラ  // CLogPropPageDlg メッセージ ハンドラ
1050    
1051  #define LOG_ROTATE_SIZETYPE_NUM 3  #define LOG_ROTATE_SIZETYPE_NUM 3
1052  static char *LogRotateSizeType[] = {  static const char *LogRotateSizeType[] = {
1053          "Byte", "KB", "MB"          "Byte", "KB", "MB"
1054  };  };
1055    
1056  static char *GetLogRotateSizeType(int val)  static const char *GetLogRotateSizeType(int val)
1057  {  {
1058          if (val >= LOG_ROTATE_SIZETYPE_NUM)          if (val >= LOG_ROTATE_SIZETYPE_NUM)
1059                  val = 0;                  val = 0;
# Line 1461  static char *GetLogRotateSizeType(int va Line 1061  static char *GetLogRotateSizeType(int va
1061          return LogRotateSizeType[val];          return LogRotateSizeType[val];
1062  }  }
1063    
1064  BOOL CLogPropPageDlg::OnInitDialog()  void CLogPropPageDlg::OnInitDialog()
1065  {  {
1066          char uimsg[MAX_UIMSG];          TTCPropertyPage::OnInitDialog();
         CButton *btn;  
         CComboBox *combo;  
         int i, TmpLogRotateSize;  
   
         CPropertyPage::OnInitDialog();  
   
         font = (HFONT)SendMessage(WM_GETFONT, 0, 0);  
         GetObject(font, sizeof(LOGFONT), &logfont);  
         if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgLogFont, ts.UILanguageFile)) {  
                 SendDlgItemMessage(IDC_VIEWLOG_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_VIEWLOG_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_VIEWLOG_PATH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_DEFAULTNAME_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_DEFAULTNAME_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_DEFAULTPATH_LABEL, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_DEFAULTPATH_EDITOR, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_DEFAULTPATH_PUSH, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_AUTOSTART, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
1067    
1068            static const DlgTextInfo TextInfos[] = {
1069                    { IDC_VIEWLOG_LABEL, "DLG_TAB_LOG_EDITOR" },
1070                    { IDC_DEFAULTNAME_LABEL, "DLG_TAB_LOG_FILENAME" },
1071                    { IDC_DEFAULTPATH_LABEL, "DLG_TAB_LOG_FILEPATH" },
1072                    { IDC_AUTOSTART, "DLG_TAB_LOG_AUTOSTART" },
1073                  // Log rotate                  // Log rotate
1074                  SendDlgItemMessage(IDC_LOG_ROTATE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_LOG_ROTATE, "DLG_TAB_LOG_ROTATE" },
1075                  SendDlgItemMessage(IDC_ROTATE_SIZE_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_ROTATE_SIZE_TEXT, "DLG_TAB_LOG_ROTATE_SIZE_TEXT" },
1076                  SendDlgItemMessage(IDC_ROTATE_SIZE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_ROTATE_STEP_TEXT, "DLG_TAB_LOG_ROTATESTEP" },
                 SendDlgItemMessage(IDC_ROTATE_SIZE_TYPE, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ROTATE_STEP_TEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ROTATE_STEP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));  
   
1077                  // Log options                  // Log options
1078                  SendDlgItemMessage(IDC_LOG_OPTION_GROUP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  // FIXME: メッセージカタログは既存のログオプションのものを流用したが、アクセラレータキーが重複するかもしれない。
1079                  SendDlgItemMessage(IDC_OPT_BINARY, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_LOG_OPTION_GROUP, "DLG_FOPT" },
1080                  SendDlgItemMessage(IDC_OPT_APPEND, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_OPT_BINARY, "DLG_FOPT_BINARY" },
1081                  SendDlgItemMessage(IDC_OPT_PLAINTEXT, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_OPT_APPEND, "DLG_FOPT_APPEND" },
1082                  SendDlgItemMessage(IDC_OPT_TIMESTAMP, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_OPT_PLAINTEXT, "DLG_FOPT_PLAIN" },
1083                  SendDlgItemMessage(IDC_OPT_HIDEDLG, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_OPT_HIDEDLG, "DLG_FOPT_HIDEDIALOG" },
1084                  SendDlgItemMessage(IDC_OPT_INCBUF, WM_SETFONT, (WPARAM)DlgLogFont, MAKELPARAM(TRUE,0));                  { IDC_OPT_INCBUF, "DLG_FOPT_ALLBUFFINFIRST" },
1085          }                  { IDC_OPT_TIMESTAMP, "DLG_FOPT_TIMESTAMP" },
1086          else {          };
1087                  DlgLogFont = NULL;          SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
1088          }  
1089            TCHAR UIMsg[MAX_UIMSG];
1090          GetDlgItemText(IDC_VIEWLOG_LABEL, uimsg, sizeof(uimsg));          get_lang_msgT("DLG_FOPT_TIMESTAMP_LOCAL", UIMsg, _countof(UIMsg), _T("Local Time"), ts.UILanguageFile);
1091          get_lang_msg("DLG_TAB_LOG_EDITOR", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1092          SetDlgItemText(IDC_VIEWLOG_LABEL, ts.UIMsg);          get_lang_msgT("DLG_FOPT_TIMESTAMP_UTC", UIMsg, _countof(UIMsg), _T("UTC"), ts.UILanguageFile);
1093          GetDlgItemText(IDC_DEFAULTNAME_LABEL, uimsg, sizeof(uimsg));          SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1094          get_lang_msg("DLG_TAB_LOG_FILENAME", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          get_lang_msgT("DLG_FOPT_TIMESTAMP_ELAPSED_LOGGING", UIMsg, _countof(UIMsg), _T("Elapsed Time (Logging)"), ts.UILanguageFile);
1095          SetDlgItemText(IDC_DEFAULTNAME_LABEL, ts.UIMsg);          SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
1096          GetDlgItemText(IDC_DEFAULTPATH_LABEL, uimsg, sizeof(uimsg));          get_lang_msgT("DLG_FOPT_TIMESTAMP_ELAPSED_CONNECTION", UIMsg, _countof(UIMsg), _T("Elapsed Time (Connection)"), ts.UILanguageFile);
1097          get_lang_msg("DLG_TAB_LOG_FILEPATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);          SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)UIMsg);
         SetDlgItemText(IDC_DEFAULTPATH_LABEL, ts.UIMsg);  
         GetDlgItemText(IDC_AUTOSTART, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_LOG_AUTOSTART", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_AUTOSTART, ts.UIMsg);  
         // Log rotate  
         GetDlgItemText(IDC_LOG_ROTATE, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_LOG_ROTATE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_LOG_ROTATE, ts.UIMsg);  
         GetDlgItemText(IDC_ROTATE_SIZE_TEXT, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_LOG_ROTATE_SIZE_TEXT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_ROTATE_SIZE_TEXT, ts.UIMsg);  
         GetDlgItemText(IDC_ROTATE_STEP_TEXT, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_LOG_ROTATESTEP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_ROTATE_STEP_TEXT, ts.UIMsg);  
         // Log options  
         // FIXME: メッセージカタログは既存のログオプションのものを流用したが、アクセラレータキーが重複するかもしれない。  
         GetDlgItemText(IDC_LOG_OPTION_GROUP, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_FOPT", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_LOG_OPTION_GROUP, ts.UIMsg);  
         GetDlgItemText(IDC_OPT_BINARY, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_FOPT_BINARY", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_OPT_BINARY, ts.UIMsg);  
         GetDlgItemText(IDC_OPT_APPEND, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_FOPT_APPEND", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_OPT_APPEND, ts.UIMsg);  
         GetDlgItemText(IDC_OPT_PLAINTEXT, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_FOPT_PLAIN", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_OPT_PLAINTEXT, ts.UIMsg);  
         GetDlgItemText(IDC_OPT_HIDEDLG, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_FOPT_HIDEDIALOG", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_OPT_HIDEDLG, ts.UIMsg);  
         GetDlgItemText(IDC_OPT_INCBUF, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_FOPT_ALLBUFFINFIRST", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_OPT_INCBUF, ts.UIMsg);  
         GetDlgItemText(IDC_OPT_TIMESTAMP, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_FOPT_TIMESTAMP", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_OPT_TIMESTAMP, ts.UIMsg);  
   
         get_lang_msg("DLG_FOPT_TIMESTAMP_LOCAL", ts.UIMsg, sizeof(ts.UIMsg), "Local Time", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_FOPT_TIMESTAMP_UTC", ts.UIMsg, sizeof(ts.UIMsg), "UTC", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_FOPT_TIMESTAMP_ELAPSED_LOGGING", ts.UIMsg, sizeof(ts.UIMsg), "Elapsed Time (Logging)", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
         get_lang_msg("DLG_FOPT_TIMESTAMP_ELAPSED_CONNECTION", ts.UIMsg, sizeof(ts.UIMsg), "Elapsed Time (Connection)", ts.UILanguageFile);  
         SendDlgItemMessage(IDC_OPT_TIMESTAMP_TYPE, CB_ADDSTRING, 0, (LPARAM)ts.UIMsg);  
1098    
1099    
1100          // Viewlog Editor path (2005.1.29 yutaka)          // Viewlog Editor path (2005.1.29 yutaka)
1101          SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);          SetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1102    
1103          // Log Default File Name (2006.8.28 maya)          // Log Default File Name (2006.8.28 maya)
1104          SetDlgItemText(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);          SetDlgItemTextA(IDC_DEFAULTNAME_EDITOR, ts.LogDefaultName);
1105    
1106          // Log Default File Path (2007.5.30 maya)          // Log Default File Path (2007.5.30 maya)
1107          SetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);          SetDlgItemTextA(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath);
1108    
1109          /* Auto start logging (2007.5.31 maya) */          /* Auto start logging (2007.5.31 maya) */
1110          btn = (CButton *)GetDlgItem(IDC_AUTOSTART);          SetCheck(IDC_AUTOSTART, ts.LogAutoStart);
         btn->SetCheck(ts.LogAutoStart);  
1111    
1112          // Log rotate          // Log rotate
1113          btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);          SetCheck(IDC_LOG_ROTATE, ts.LogRotate != ROTATE_NONE);
         btn->SetCheck(ts.LogRotate != ROTATE_NONE);  
1114    
1115          combo = (CComboBox *)GetDlgItem(IDC_ROTATE_SIZE_TYPE);          for (int i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1116          for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {                  SendDlgItemMessageA(IDC_ROTATE_SIZE_TYPE, CB_ADDSTRING, 0, (LPARAM)LogRotateSizeType[i]);
                 combo->AddString(LogRotateSizeType[i]);  
1117          }          }
1118            int TmpLogRotateSize = ts.LogRotateSize;
1119          TmpLogRotateSize = ts.LogRotateSize;          for (int i = 0 ; i < ts.LogRotateSizeType ; i++)
         for (i = 0 ; i < ts.LogRotateSizeType ; i++)  
1120                  TmpLogRotateSize /= 1024;                  TmpLogRotateSize /= 1024;
1121          SetDlgItemInt(IDC_ROTATE_SIZE, TmpLogRotateSize, FALSE);          SetDlgItemInt(IDC_ROTATE_SIZE, TmpLogRotateSize, FALSE);
1122          combo->SelectString(-1, GetLogRotateSizeType(ts.LogRotateSizeType));          SendDlgItemMessageA(IDC_ROTATE_SIZE_TYPE, CB_SELECTSTRING, -1, (LPARAM)GetLogRotateSizeType(ts.LogRotateSizeType));
1123          SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);          SetDlgItemInt(IDC_ROTATE_STEP, ts.LogRotateStep, FALSE);
1124          if (ts.LogRotate == ROTATE_NONE) {          if (ts.LogRotate == ROTATE_NONE) {
1125                  GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);                  EnableDlgItem(IDC_ROTATE_SIZE_TEXT, FALSE);
1126                  GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);                  EnableDlgItem(IDC_ROTATE_SIZE, FALSE);
1127                  GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);                  EnableDlgItem(IDC_ROTATE_SIZE_TYPE, FALSE);
1128                  GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);                  EnableDlgItem(IDC_ROTATE_STEP_TEXT, FALSE);
1129                  GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);                  EnableDlgItem(IDC_ROTATE_STEP, FALSE);
1130          } else {          } else {
1131                  GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);                  EnableDlgItem(IDC_ROTATE_SIZE_TEXT, TRUE);
1132                  GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);                  EnableDlgItem(IDC_ROTATE_SIZE, TRUE);
1133                  GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);                  EnableDlgItem(IDC_ROTATE_SIZE_TYPE, TRUE);
1134                  GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);                  EnableDlgItem(IDC_ROTATE_STEP_TEXT, TRUE);
1135                  GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);                  EnableDlgItem(IDC_ROTATE_STEP, TRUE);
1136          }          }
1137    
1138          // Log options          // Log options
1139          btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);          SetCheck(IDC_OPT_BINARY, ts.LogBinary != 0);
         btn->SetCheck(ts.LogBinary != 0);  
1140          if (ts.LogBinary) {          if (ts.LogBinary) {
1141                  GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);                  EnableDlgItem(IDC_OPT_PLAINTEXT, FALSE);
1142                  GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);                  EnableDlgItem(IDC_OPT_TIMESTAMP, FALSE);
1143          } else {          } else {
1144                  GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);                  EnableDlgItem(IDC_OPT_PLAINTEXT, TRUE);
1145                  GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);                  EnableDlgItem(IDC_OPT_TIMESTAMP, TRUE);
1146          }          }
1147          btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);          SetCheck(IDC_OPT_APPEND, ts.Append != 0);
1148          btn->SetCheck(ts.Append != 0);          SetCheck(IDC_OPT_PLAINTEXT, ts.LogTypePlainText != 0);
1149          btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);          SetCheck(IDC_OPT_HIDEDLG, ts.LogHideDialog != 0);
1150          btn->SetCheck(ts.LogTypePlainText != 0);          SetCheck(IDC_OPT_INCBUF, ts.LogAllBuffIncludedInFirst != 0);
1151          btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);          SetCheck(IDC_OPT_TIMESTAMP, ts.LogTimestamp != 0);
         btn->SetCheck(ts.LogHideDialog != 0);  
         btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);  
         btn->SetCheck(ts.LogAllBuffIncludedInFirst != 0);  
         btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);  
         btn->SetCheck(ts.LogTimestamp != 0);  
1152    
1153          combo = (CComboBox *)GetDlgItem(IDC_OPT_TIMESTAMP_TYPE);          SetCurSel(IDC_OPT_TIMESTAMP_TYPE, ts.LogTimestampType);
         combo->SetCurSel(ts.LogTimestampType);  
1154          if (ts.LogBinary || !ts.LogTimestamp) {          if (ts.LogBinary || !ts.LogTimestamp) {
1155                  GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);                  EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1156          }          }
1157          else {          else {
1158                  GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);                  EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
1159          }          }
1160  /*  /*
1161          switch (ts.LogTimestampType) {          switch (ts.LogTimestampType) {
# Line 1650  BOOL CLogPropPageDlg::OnInitDialog() Line 1176  BOOL CLogPropPageDlg::OnInitDialog()
1176    
1177          // ダイアログにフォーカスを当てる          // ダイアログにフォーカスを当てる
1178          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_VIEWLOG_EDITOR));
   
         return FALSE;  
1179  }  }
1180    
1181  BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)  BOOL CLogPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
1182  {  {
1183          char uimsg[MAX_UIMSG];          char uimsg[MAX_UIMSG];
1184          char buf[MAX_PATH], buf2[MAX_PATH];          char buf[MAX_PATH];
1185            char buf2[MAX_PATH];
1186    
1187          switch (wParam) {          switch (wParam) {
1188                  case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):                  case IDC_VIEWLOG_PATH | (BN_CLICKED << 16):
1189                          {                          {
1190                                  OPENFILENAME ofn;                                  OPENFILENAMEA ofn;
1191    
1192                                  ZeroMemory(&ofn, sizeof(ofn));                                  ZeroMemory(&ofn, sizeof(ofn));
1193                                  ofn.lStructSize = get_OPENFILENAME_SIZE();                                  ofn.lStructSize = get_OPENFILENAME_SIZEA();
1194                                  ofn.hwndOwner = GetSafeHwnd();                                  ofn.hwndOwner = GetSafeHwnd();
1195                                  get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),                                  get_lang_msg("FILEDLG_SELECT_LOGVIEW_APP_FILTER", ts.UIMsg, sizeof(ts.UIMsg),
1196                                               "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);                                               "exe(*.exe)\\0*.exe\\0all(*.*)\\0*.*\\0\\0", ts.UILanguageFile);
# Line 1676  BOOL CLogPropPageDlg::OnCommand(WPARAM w Line 1201  BOOL CLogPropPageDlg::OnCommand(WPARAM w
1201                                               "Choose a executing file with launching logging file", ts.UILanguageFile);                                               "Choose a executing file with launching logging file", ts.UILanguageFile);
1202                                  ofn.lpstrTitle = uimsg;                                  ofn.lpstrTitle = uimsg;
1203                                  ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;                                  ofn.Flags = OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_FORCESHOWHIDDEN | OFN_HIDEREADONLY;
1204                                  if (GetOpenFileName(&ofn) != 0) {                                  if (GetOpenFileNameA(&ofn) != 0) {
1205                                          SetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);                                          SetDlgItemTextA(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor);
1206                                  }                                  }
1207                          }                          }
1208                          return TRUE;                          return TRUE;
# Line 1695  BOOL CLogPropPageDlg::OnCommand(WPARAM w Line 1220  BOOL CLogPropPageDlg::OnCommand(WPARAM w
1220    
1221                  case IDC_LOG_ROTATE | (BN_CLICKED << 16):                  case IDC_LOG_ROTATE | (BN_CLICKED << 16):
1222                          {                          {
1223                                  CButton *btn;                                  if (GetCheck(IDC_LOG_ROTATE)) {
1224                                  btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);                                          EnableDlgItem(IDC_ROTATE_SIZE_TEXT, TRUE);
1225                                  if (btn->GetCheck()) {                                          EnableDlgItem(IDC_ROTATE_SIZE, TRUE);
1226                                          GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(TRUE);                                          EnableDlgItem(IDC_ROTATE_SIZE_TYPE, TRUE);
1227                                          GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(TRUE);                                          EnableDlgItem(IDC_ROTATE_STEP_TEXT, TRUE);
1228                                          GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(TRUE);                                          EnableDlgItem(IDC_ROTATE_STEP, TRUE);
                                         GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(TRUE);  
                                         GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(TRUE);  
1229                                  } else {                                  } else {
1230                                          GetDlgItem(IDC_ROTATE_SIZE_TEXT)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_ROTATE_SIZE_TEXT, FALSE);
1231                                          GetDlgItem(IDC_ROTATE_SIZE)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_ROTATE_SIZE, FALSE);
1232                                          GetDlgItem(IDC_ROTATE_SIZE_TYPE)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_ROTATE_SIZE_TYPE, FALSE);
1233                                          GetDlgItem(IDC_ROTATE_STEP_TEXT)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_ROTATE_STEP_TEXT, FALSE);
1234                                          GetDlgItem(IDC_ROTATE_STEP)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_ROTATE_STEP, FALSE);
1235                                  }                                  }
1236    
1237                          }                          }
# Line 1716  BOOL CLogPropPageDlg::OnCommand(WPARAM w Line 1239  BOOL CLogPropPageDlg::OnCommand(WPARAM w
1239    
1240                  case IDC_OPT_BINARY | (BN_CLICKED << 16):                  case IDC_OPT_BINARY | (BN_CLICKED << 16):
1241                          {                          {
1242                                  CButton *btn;                                  if (GetCheck(IDC_OPT_BINARY)) {
1243                                  btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);                                          EnableDlgItem(IDC_OPT_PLAINTEXT, FALSE);
1244                                  if (btn->GetCheck()) {                                          EnableDlgItem(IDC_OPT_TIMESTAMP, FALSE);
1245                                          GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
                                         GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(FALSE);  
                                         GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);  
1246                                  } else {                                  } else {
1247                                          GetDlgItem(IDC_OPT_PLAINTEXT)->EnableWindow(TRUE);                                          EnableDlgItem(IDC_OPT_PLAINTEXT, TRUE);
1248                                          GetDlgItem(IDC_OPT_TIMESTAMP)->EnableWindow(TRUE);                                          EnableDlgItem(IDC_OPT_TIMESTAMP, TRUE);
1249    
1250                                          btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);                                          if (GetCheck(IDC_OPT_TIMESTAMP)) {
1251                                          if (btn->GetCheck()) {                                                  EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
                                                 GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);  
1252                                          }                                          }
1253                                  }                                  }
1254                          }                          }
# Line 1736  BOOL CLogPropPageDlg::OnCommand(WPARAM w Line 1256  BOOL CLogPropPageDlg::OnCommand(WPARAM w
1256    
1257                  case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):                  case IDC_OPT_TIMESTAMP | (BN_CLICKED << 16):
1258                          {                          {
1259                                  CButton *btn;                                  if (GetCheck(IDC_OPT_TIMESTAMP)) {
1260                                  btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);                                          EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, TRUE);
                                 if (btn->GetCheck()) {  
                                         GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(TRUE);  
1261                                  } else {                                  } else {
1262                                          GetDlgItem(IDC_OPT_TIMESTAMP_TYPE)->EnableWindow(FALSE);                                          EnableDlgItem(IDC_OPT_TIMESTAMP_TYPE, FALSE);
1263                                  }                                  }
1264                          }                          }
1265                          return TRUE;                          return TRUE;
1266          }          }
1267    
1268          return CPropertyPage::OnCommand(wParam, lParam);          return TTCPropertyPage::OnCommand(wParam, lParam);
1269  }  }
1270    
1271  void CLogPropPageDlg::OnOK()  void CLogPropPageDlg::OnOK()
# Line 1755  void CLogPropPageDlg::OnOK() Line 1273  void CLogPropPageDlg::OnOK()
1273          char buf[80], buf2[80];          char buf[80], buf2[80];
1274          time_t time_local;          time_t time_local;
1275          struct tm *tm_local;          struct tm *tm_local;
1276          char uimsg[MAX_UIMSG];          TCHAR uimsg[MAX_UIMSG];
1277          CButton *btn;          TCHAR uimsg2[MAX_UIMSG];
         CString str;  
         CComboBox *cmb;  
         int i;  
1278    
1279          // Viewlog Editor path (2005.1.29 yutaka)          // Viewlog Editor path (2005.1.29 yutaka)
1280          GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, sizeof(ts.ViewlogEditor));          GetDlgItemText(IDC_VIEWLOG_EDITOR, ts.ViewlogEditor, _countof(ts.ViewlogEditor));
1281    
1282          // Log Default File Name (2006.8.28 maya)          // Log Default File Name (2006.8.28 maya)
1283          GetDlgItemText(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));          GetDlgItemTextA(IDC_DEFAULTNAME_EDITOR, buf, sizeof(buf));
1284          if (isInvalidStrftimeChar(buf)) {          if (isInvalidStrftimeChar(buf)) {
1285                  get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);                  get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1286                  get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),                  get_lang_msgT("MSG_LOGFILE_INVALID_CHAR_ERROR", uimsg2, _countof(uimsg2),
1287                               "Invalid character is included in log file name.", ts.UILanguageFile);                                _T("Invalid character is included in log file name."), ts.UILanguageFile);
1288                  MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);                  MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1289                  return;                  return;
1290          }          }
1291    
1292          // 現在時刻を取得          // 現在時刻を取得
1293          time(&time_local);          time(&time_local);
1294          tm_local = localtime(&time_local);          tm_local = localtime(&time_local);
1295          // 時刻文字列に変換          // 時刻文字列に変換
1296          if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {          if (strlen(buf) != 0 && strftime(buf2, sizeof(buf2), buf, tm_local) == 0) {
1297                  get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);                  get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1298                  get_lang_msg("MSG_LOGFILE_TOOLONG_ERROR", ts.UIMsg, sizeof(ts.UIMsg),                  get_lang_msgT("MSG_LOGFILE_TOOLONG_ERROR", uimsg2, _countof(uimsg2),
1299                               "The log file name is too long.", ts.UILanguageFile);                                            _T("The log file name is too long."), ts.UILanguageFile);
1300                  MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);                  MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1301                  return;                  return;
1302          }          }
1303          if (isInvalidFileNameChar(buf2)) {          if (isInvalidFileNameChar(buf2)) {
1304                  get_lang_msg("MSG_ERROR", uimsg, sizeof(uimsg), "ERROR", ts.UILanguageFile);                  get_lang_msgT("MSG_ERROR", uimsg, _countof(uimsg), _T("ERROR"), ts.UILanguageFile);
1305                  get_lang_msg("MSG_LOGFILE_INVALID_CHAR_ERROR", ts.UIMsg, sizeof(ts.UIMsg),                  get_lang_msgT("MSG_LOGFILE_INVALID_CHAR_ERROR", uimsg2, _countof(uimsg2),
1306                               "Invalid character is included in log file name.", ts.UILanguageFile);                                            _T("Invalid character is included in log file name."), ts.UILanguageFile);
1307                  MessageBox(ts.UIMsg, uimsg, MB_ICONEXCLAMATION);                  MessageBox(uimsg2, uimsg, MB_ICONEXCLAMATION);
1308                  return;                  return;
1309          }          }
1310          strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);          strncpy_s(ts.LogDefaultName, sizeof(ts.LogDefaultName), buf, _TRUNCATE);
1311    
1312          // Log Default File Path (2007.5.30 maya)          // Log Default File Path (2007.5.30 maya)
1313          GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, sizeof(ts.LogDefaultPath));          GetDlgItemText(IDC_DEFAULTPATH_EDITOR, ts.LogDefaultPath, _countof(ts.LogDefaultPath));
1314    
1315          /* Auto start logging (2007.5.31 maya) */          /* Auto start logging (2007.5.31 maya) */
1316          btn = (CButton *)GetDlgItem(IDC_AUTOSTART);          ts.LogAutoStart = GetCheck(IDC_AUTOSTART);
         ts.LogAutoStart = btn->GetCheck();  
1317    
1318          /* Log Rotate */          /* Log Rotate */
1319          btn = (CButton *)GetDlgItem(IDC_LOG_ROTATE);          if (GetCheck(IDC_LOG_ROTATE)) {  /* on */
         if (btn->GetCheck()) {  /* on */  
1320                  ts.LogRotate = ROTATE_SIZE;                  ts.LogRotate = ROTATE_SIZE;
1321                    GetDlgItemText(IDC_ROTATE_SIZE_TYPE, buf, _countof(buf));
1322                  ((CComboBox*)GetDlgItem(IDC_ROTATE_SIZE_TYPE))->GetWindowText(str);                  ts.LogRotateSizeType = 0;
1323                  for (i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {                  for (int i = 0 ; i < LOG_ROTATE_SIZETYPE_NUM ; i++) {
1324                          if (strcmp(str, LogRotateSizeType[i]) == 0)                          if (strcmp(buf, LogRotateSizeType[i]) == 0) {
1325                                    ts.LogRotateSizeType = i;
1326                                  break;                                  break;
1327                            }
1328                  }                  }
                 if (i >= LOG_ROTATE_SIZETYPE_NUM)  
                         i = 0;  
                 ts.LogRotateSizeType = i;  
   
1329                  ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);                  ts.LogRotateSize = GetDlgItemInt(IDC_ROTATE_SIZE);
1330                  for (i = 0 ; i < ts.LogRotateSizeType ; i++)                  for (int i = 0 ; i < ts.LogRotateSizeType ; i++)
1331                          ts.LogRotateSize *= 1024;                          ts.LogRotateSize *= 1024;
1332    
1333                  ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);                  ts.LogRotateStep = GetDlgItemInt(IDC_ROTATE_STEP);
# Line 1826  void CLogPropPageDlg::OnOK() Line 1338  void CLogPropPageDlg::OnOK()
1338          }          }
1339    
1340          // Log Options          // Log Options
1341          btn = (CButton *)GetDlgItem(IDC_OPT_BINARY);          if (GetCheck(IDC_OPT_BINARY)) {
         if (btn->GetCheck()) {  
1342                  ts.LogBinary = 1;                  ts.LogBinary = 1;
1343          }          }
1344          else {          else {
1345                  ts.LogBinary = 0;                  ts.LogBinary = 0;
1346          }          }
1347    
1348          btn = (CButton *)GetDlgItem(IDC_OPT_APPEND);          if (GetCheck(IDC_OPT_APPEND)) {
         if (btn->GetCheck()) {  
1349                  ts.Append = 1;                  ts.Append = 1;
1350          }          }
1351          else {          else {
1352                  ts.Append = 0;                  ts.Append = 0;
1353          }          }
1354    
1355          btn = (CButton *)GetDlgItem(IDC_OPT_PLAINTEXT);          if (GetCheck(IDC_OPT_PLAINTEXT)) {
         if (btn->GetCheck()) {  
1356                  ts.LogTypePlainText = 1;                  ts.LogTypePlainText = 1;
1357          }          }
1358          else {          else {
1359                  ts.LogTypePlainText = 0;                  ts.LogTypePlainText = 0;
1360          }          }
1361    
1362          btn = (CButton *)GetDlgItem(IDC_OPT_HIDEDLG);          if (GetCheck(IDC_OPT_HIDEDLG)) {
         if (btn->GetCheck()) {  
1363                  ts.LogHideDialog = 1;                  ts.LogHideDialog = 1;
1364          }          }
1365          else {          else {
1366                  ts.LogHideDialog = 0;                  ts.LogHideDialog = 0;
1367          }          }
1368    
1369          btn = (CButton *)GetDlgItem(IDC_OPT_INCBUF);          if (GetCheck(IDC_OPT_INCBUF)) {
         if (btn->GetCheck()) {  
1370                  ts.LogAllBuffIncludedInFirst = 1;                  ts.LogAllBuffIncludedInFirst = 1;
1371          }          }
1372          else {          else {
1373                  ts.LogAllBuffIncludedInFirst = 0;                  ts.LogAllBuffIncludedInFirst = 0;
1374          }          }
1375    
1376          btn = (CButton *)GetDlgItem(IDC_OPT_TIMESTAMP);          if (GetCheck(IDC_OPT_TIMESTAMP)) {
         if (btn->GetCheck()) {  
1377                  ts.LogTimestamp = 1;                  ts.LogTimestamp = 1;
1378          }          }
1379          else {          else {
1380                  ts.LogTimestamp = 0;                  ts.LogTimestamp = 0;
1381          }          }
1382    
1383          cmb = (CComboBox *)GetDlgItem(IDC_OPT_TIMESTAMP_TYPE);          ts.LogTimestampType = GetCurSel(IDC_OPT_TIMESTAMP_TYPE);
         ts.LogTimestampType = cmb->GetCurSel();  
1384  }  }
1385    
1386    /////////////////////////////
1387    
1388  // CCygwinPropPageDlg ダイアログ  // CCygwinPropPageDlg ダイアログ
1389    
1390  IMPLEMENT_DYNAMIC(CCygwinPropPageDlg, CPropertyPage)  CCygwinPropPageDlg::CCygwinPropPageDlg(HINSTANCE inst, TTCPropertySheet *sheet)
1391            : TTCPropertyPage(inst, CCygwinPropPageDlg::IDD, sheet)
 CCygwinPropPageDlg::CCygwinPropPageDlg()  
         : CPropertyPage(CCygwinPropPageDlg::IDD)  
1392  {  {
1393            TCHAR UIMsg[MAX_UIMSG];
1394            get_lang_msgT("DLG_TABSHEET_TITLE_CYGWIN", UIMsg, _countof(UIMsg),
1395                         _T("Cygwin"), ts.UILanguageFile);
1396            m_psp.pszTitle = _tcsdup(UIMsg);
1397            m_psp.dwFlags |= PSP_USETITLE;
1398  }  }
1399    
1400  CCygwinPropPageDlg::~CCygwinPropPageDlg()  CCygwinPropPageDlg::~CCygwinPropPageDlg()
1401  {  {
1402          if (DlgCygwinFont != NULL) {          free((void *)m_psp.pszTitle);
                 DeleteObject(DlgCygwinFont);  
         }  
1403  }  }
1404    
 BEGIN_MESSAGE_MAP(CCygwinPropPageDlg, CPropertyPage)  
 END_MESSAGE_MAP()  
   
1405  // CCygwinPropPageDlg メッセージ ハンドラ  // CCygwinPropPageDlg メッセージ ハンドラ
1406    
1407  BOOL CCygwinPropPageDlg::OnInitDialog()  void CCygwinPropPageDlg::OnInitDialog()
1408  {  {
1409          char uimsg[MAX_UIMSG];          TTCPropertyPage::OnInitDialog();
         CButton *btn;  
1410    
1411          CPropertyPage::OnInitDialog();          static const DlgTextInfo TextInfos[] = {
1412                    { IDC_CYGWIN_PATH_LABEL, "DLG_TAB_CYGWIN_PATH" }
1413          font = (HFONT)SendMessage(WM_GETFONT, 0, 0);          };
1414          GetObject(font, sizeof(LOGFONT), &logfont);          SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts.UILanguageFile);
         if (get_lang_font("DLG_TAHOMA_FONT", GetSafeHwnd(), &logfont, &DlgCygwinFont, ts.UILanguageFile)) {  
                 SendDlgItemMessage(IDC_CYGWIN_PATH_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_CYGWIN_PATH, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_SELECT_FILE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_CYGWIN, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_TERM_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_TERM_EDIT, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_TERMTYPE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_TERM_TYPE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_PORTSTART_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_PORT_START, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_PORTRANGE_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_PORT_RANGE, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_SHELL_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENV1_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENV1, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENV2_LABEL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_ENV2, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_LOGIN_SHELL, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_HOME_CHDIR, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
                 SendDlgItemMessage(IDC_AGENT_PROXY, WM_SETFONT, (WPARAM)DlgCygwinFont, MAKELPARAM(TRUE,0));  
         }  
         else {  
                 DlgCygwinFont = NULL;  
         }  
   
         GetDlgItemText(IDC_CYGWIN_PATH_LABEL, uimsg, sizeof(uimsg));  
         get_lang_msg("DLG_TAB_CYGWIN_PATH", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile);  
         SetDlgItemText(IDC_CYGWIN_PATH_LABEL, ts.UIMsg);  
1415    
1416          memcpy(&settings, &ts.CygtermSettings, sizeof(cygterm_t));          memcpy(&settings, &ts.CygtermSettings, sizeof(cygterm_t));
1417    
1418          SetDlgItemText(IDC_TERM_EDIT, settings.term);          SetDlgItemTextA(IDC_TERM_EDIT, settings.term);
1419          SetDlgItemText(IDC_TERM_TYPE, settings.term_type);          SetDlgItemTextA(IDC_TERM_TYPE, settings.term_type);
1420          SetDlgItemText(IDC_PORT_START, settings.port_start);          SetDlgItemTextA(IDC_PORT_START, settings.port_start);
1421          SetDlgItemText(IDC_PORT_RANGE, settings.port_range);          SetDlgItemTextA(IDC_PORT_RANGE, settings.port_range);
1422          SetDlgItemText(IDC_SHELL, settings.shell);          SetDlgItemTextA(IDC_SHELL, settings.shell);
1423          SetDlgItemText(IDC_ENV1, settings.env1);          SetDlgItemTextA(IDC_ENV1, settings.env1);
1424          SetDlgItemText(IDC_ENV2, settings.env2);          SetDlgItemTextA(IDC_ENV2, settings.env2);
1425          btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);  
1426          btn->SetCheck(settings.login_shell);          SetCheck(IDC_LOGIN_SHELL, settings.login_shell);
1427          btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);          SetCheck(IDC_HOME_CHDIR, settings.home_chdir);
1428          btn->SetCheck(settings.home_chdir);          SetCheck(IDC_AGENT_PROXY, settings.agent_proxy);
         btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);  
         btn->SetCheck(settings.agent_proxy);  
1429    
1430          // Cygwin install path          // Cygwin install path
1431          SetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory);          SetDlgItemTextA(IDC_CYGWIN_PATH, ts.CygwinDirectory);
1432    
1433          // ダイアログにフォーカスを当てる          // ダイアログにフォーカスを当てる
1434          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));          ::SetFocus(::GetDlgItem(GetSafeHwnd(), IDC_CYGWIN_PATH));
   
         return FALSE;  
1435  }  }
1436    
1437  BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)  BOOL CCygwinPropPageDlg::OnCommand(WPARAM wParam, LPARAM lParam)
# Line 1974  BOOL CCygwinPropPageDlg::OnCommand(WPARA Line 1443  BOOL CCygwinPropPageDlg::OnCommand(WPARA
1443                          // Cygwin install ディレクトリの選択ダイアログ                          // Cygwin install ディレクトリの選択ダイアログ
1444                          get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),                          get_lang_msg("DIRDLG_CYGTERM_DIR_TITLE", ts.UIMsg, sizeof(ts.UIMsg),
1445                                       "Select Cygwin directory", ts.UILanguageFile);                                       "Select Cygwin directory", ts.UILanguageFile);
1446                          GetDlgItemText(IDC_CYGWIN_PATH, buf, sizeof(buf));                          GetDlgItemTextA(IDC_CYGWIN_PATH, buf, sizeof(buf));
1447                          if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {                          if (doSelectFolder(GetSafeHwnd(), buf2, sizeof(buf2), buf, ts.UIMsg)) {
1448                                  SetDlgItemText(IDC_CYGWIN_PATH, buf2);                                  SetDlgItemTextA(IDC_CYGWIN_PATH, buf2);
1449                          }                          }
1450                          return TRUE;                          return TRUE;
1451          }          }
1452    
1453          return CPropertyPage::OnCommand(wParam, lParam);          return TTCPropertyPage::OnCommand(wParam, lParam);
1454  }  }
1455    
1456  void CCygwinPropPageDlg::OnOK()  void CCygwinPropPageDlg::OnOK()
1457  {  {
         CButton *btn;  
   
1458          // writing to CygTerm config file          // writing to CygTerm config file
1459          GetDlgItemText(IDC_TERM_EDIT, settings.term, sizeof(settings.term));          GetDlgItemTextA(IDC_TERM_EDIT, settings.term, sizeof(settings.term));
1460          GetDlgItemText(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));          GetDlgItemTextA(IDC_TERM_TYPE, settings.term_type, sizeof(settings.term_type));
1461          GetDlgItemText(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));          GetDlgItemTextA(IDC_PORT_START, settings.port_start, sizeof(settings.port_start));
1462          GetDlgItemText(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));          GetDlgItemTextA(IDC_PORT_RANGE, settings.port_range, sizeof(settings.port_range));
1463          GetDlgItemText(IDC_SHELL, settings.shell, sizeof(settings.shell));          GetDlgItemTextA(IDC_SHELL, settings.shell, sizeof(settings.shell));
1464          GetDlgItemText(IDC_ENV1, settings.env1, sizeof(settings.env1));          GetDlgItemTextA(IDC_ENV1, settings.env1, sizeof(settings.env1));
1465          GetDlgItemText(IDC_ENV2, settings.env2, sizeof(settings.env2));          GetDlgItemTextA(IDC_ENV2, settings.env2, sizeof(settings.env2));
1466          btn = (CButton *)GetDlgItem(IDC_LOGIN_SHELL);  
1467          settings.login_shell = btn->GetCheck();          settings.login_shell = GetCheck(IDC_LOGIN_SHELL);
1468          btn = (CButton *)GetDlgItem(IDC_HOME_CHDIR);          settings.home_chdir = GetCheck(IDC_HOME_CHDIR);
1469          settings.home_chdir = btn->GetCheck();          settings.agent_proxy = GetCheck(IDC_AGENT_PROXY);
         btn = (CButton *)GetDlgItem(IDC_AGENT_PROXY);  
         settings.agent_proxy = btn->GetCheck();  
1470    
1471          memcpy(&ts.CygtermSettings, &settings, sizeof(cygterm_t));          memcpy(&ts.CygtermSettings, &settings, sizeof(cygterm_t));
1472    
# Line 2009  void CCygwinPropPageDlg::OnOK() Line 1474  void CCygwinPropPageDlg::OnOK()
1474          ts.CygtermSettings.update_flag = TRUE;          ts.CygtermSettings.update_flag = TRUE;
1475    
1476          // Cygwin install path          // Cygwin install path
1477          GetDlgItemText(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));          GetDlgItemTextA(IDC_CYGWIN_PATH, ts.CygwinDirectory, sizeof(ts.CygwinDirectory));
1478  }  }
1479    
   
   
1480  // CAddSettingPropSheetDlg  // CAddSettingPropSheetDlg
1481    CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(
1482  IMPLEMENT_DYNAMIC(CAddSettingPropSheetDlg, CPropertySheet)          HINSTANCE hInstance, LPCTSTR pszCaption, HWND hParentWnd) :
1483            TTCPropertySheet(hInstance, pszCaption, hParentWnd)
1484  CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)  {
1485          :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)          m_GeneralPage = new CGeneralPropPageDlg(hInstance, this);
1486  {          m_SequencePage = new CSequencePropPageDlg(hInstance, this);
1487          AddPage(&m_GeneralPage);          m_CopypastePage = new CCopypastePropPageDlg(hInstance, this);
1488          AddPage(&m_SequencePage);          m_VisualPage = new CVisualPropPageDlg(hInstance, this);
1489          AddPage(&m_CopypastePage);          m_LogPage = new CLogPropPageDlg(hInstance, this);
1490          AddPage(&m_VisualPage);          m_CygwinPage = new CCygwinPropPageDlg(hInstance, this);
1491          AddPage(&m_LogPage);                  
1492          AddPage(&m_CygwinPage);          hPsp[0] = CreatePropertySheetPage(&m_GeneralPage->m_psp);
1493            hPsp[1] = CreatePropertySheetPage(&m_SequencePage->m_psp);
1494          m_psh.dwFlags |= PSH_NOAPPLYNOW;          hPsp[2] = CreatePropertySheetPage(&m_CopypastePage->m_psp);
1495  }          hPsp[3] = CreatePropertySheetPage(&m_VisualPage->m_psp);
1496            hPsp[4] = CreatePropertySheetPage(&m_LogPage->m_psp);
1497  CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)          hPsp[5] = CreatePropertySheetPage(&m_CygwinPage->m_psp);
1498          :CPropertySheet(pszCaption, pParentWnd, iSelectPage)          m_psh.nPages = 6;
1499  {          m_psh.phpage = hPsp;
1500          AddPage(&m_GeneralPage);  
1501          AddPage(&m_SequencePage);          TCHAR UIMsg[MAX_UIMSG];
1502          AddPage(&m_CopypastePage);          get_lang_msgT("DLG_TABSHEET_TITLE", UIMsg, _countof(UIMsg),
1503          AddPage(&m_VisualPage);                                   pszCaption, ts.UILanguageFile);
1504          AddPage(&m_LogPage);          m_psh.pszCaption = _tcsdup(UIMsg);
         AddPage(&m_CygwinPage);  
   
         m_psh.dwFlags |= PSH_NOAPPLYNOW;  
1505  }  }
1506    
1507  CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()  CAddSettingPropSheetDlg::~CAddSettingPropSheetDlg()
1508  {  {
1509            free((void*)m_psh.pszCaption);
1510            delete m_GeneralPage;
1511            delete m_SequencePage;
1512            delete m_CopypastePage;
1513            delete m_VisualPage;
1514            delete m_LogPage;
1515            delete m_CygwinPage;
1516  }  }
1517    
   
 BEGIN_MESSAGE_MAP(CAddSettingPropSheetDlg, CPropertySheet)  
 END_MESSAGE_MAP()  
   
   
 // CAddSettingPropSheetDlg メッセージ ハンドラ  
   
 BOOL CAddSettingPropSheetDlg::OnInitDialog()  
 {  
         CPropertySheet::OnInitDialog();  
   
         get_lang_msg("DLG_TABSHEET_TITLE", ts.UIMsg, sizeof(ts.UIMsg),  
                      "Tera Term: Additional settings", ts.UILanguageFile);  
         SetWindowText(ts.UIMsg);  
   
         CTabCtrl *tab = GetTabControl();  
         TCITEM tc;  
         tc.mask = TCIF_TEXT;  
   
         get_lang_msg("DLG_TABSHEET_TITLE_GENERAL", ts.UIMsg, sizeof(ts.UIMsg),  
                      "General", ts.UILanguageFile);  
         tc.pszText = ts.UIMsg;  
         tab->SetItem(0, &tc);  
   
         get_lang_msg("DLG_TABSHEET_TITLE_SEQUENCE", ts.UIMsg, sizeof(ts.UIMsg),  
                      "Control Sequence", ts.UILanguageFile);  
         tc.pszText = ts.UIMsg;  
         tab->SetItem(1, &tc);  
   
         get_lang_msg("DLG_TABSHEET_TITLE_COPYPASTE", ts.UIMsg, sizeof(ts.UIMsg),  
                      "Copy and Paste", ts.UILanguageFile);  
         tc.pszText = ts.UIMsg;  
         tab->SetItem(2, &tc);  
   
         get_lang_msg("DLG_TABSHEET_TITLE_VISUAL", ts.UIMsg, sizeof(ts.UIMsg),  
                      "Visual", ts.UILanguageFile);  
         tc.pszText = ts.UIMsg;  
         tab->SetItem(3, &tc);  
   
         get_lang_msg("DLG_TABSHEET_TITLE_Log", ts.UIMsg, sizeof(ts.UIMsg),  
                      "Log", ts.UILanguageFile);  
         tc.pszText = ts.UIMsg;  
         tab->SetItem(4, &tc);  
   
         get_lang_msg("DLG_TABSHEET_TITLE_CYGWIN", ts.UIMsg, sizeof(ts.UIMsg),  
                      "Cygwin", ts.UILanguageFile);  
         tc.pszText = ts.UIMsg;  
         tab->SetItem(5, &tc);  
   
         return FALSE;  
 }  

Legend:
Removed from v.7444  
changed lines
  Added in v.7525

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