Open-Source-Software-Entwicklung und Downloads

Browse Subversion Repository

Diff of /trunk/teraterm/teraterm/ftdlg.cpp

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

revision 3226 by maya, Tue Mar 24 09:37:20 2009 UTC revision 3227 by maya, Tue Mar 24 15:10:33 2009 UTC
# Line 1  Line 1 
1  /* Tera Term  /* Tera Term
2   Copyright(C) 1994-1998 T. Teranishi   Copyright(C) 1994-1998 T. Teranishi
3   All rights reserved. */   All rights reserved. */
4    
5  /* TERATERM.EXE, file transfer dialog box */  /* TERATERM.EXE, file transfer dialog box */
6  #include "stdafx.h"  #include "stdafx.h"
7  #include "teraterm.h"  #include "teraterm.h"
8  #include "tttypes.h"  #include "tttypes.h"
9  #include "ttftypes.h"  #include "ttftypes.h"
10  #include "ttlib.h"  #include "ttlib.h"
11  #include "tt_res.h"  #include "tt_res.h"
12  #include "ftdlg.h"  #include "ftdlg.h"
13    
14  #ifdef _DEBUG  #ifdef _DEBUG
15  #define new DEBUG_NEW  #define new DEBUG_NEW
16  #undef THIS_FILE  #undef THIS_FILE
17  static char THIS_FILE[] = __FILE__;  static char THIS_FILE[] = __FILE__;
18  #endif  #endif
19    
20  /////////////////////////////////////////////////////////////////////////////  /////////////////////////////////////////////////////////////////////////////
21  // CFileTransDlg dialog  // CFileTransDlg dialog
22    
23  BEGIN_MESSAGE_MAP(CFileTransDlg, CDialog)  BEGIN_MESSAGE_MAP(CFileTransDlg, CDialog)
24          //{{AFX_MSG_MAP(CFileTransDlg)          //{{AFX_MSG_MAP(CFileTransDlg)
25          //}}AFX_MSG_MAP          //}}AFX_MSG_MAP
26  END_MESSAGE_MAP()  END_MESSAGE_MAP()
27    
28  BOOL CFileTransDlg::Create(PFileVar pfv, PComVar pcv, PTTSet pts)  BOOL CFileTransDlg::Create(PFileVar pfv, PComVar pcv, PTTSet pts)
29  {  {
30    BOOL Ok;    BOOL Ok;
31    WNDCLASS wc;    WNDCLASS wc;
32    int fuLoad = LR_DEFAULTCOLOR;    int fuLoad = LR_DEFAULTCOLOR;
33    
34    fv = pfv;    fv = pfv;
35    cv = pcv;    cv = pcv;
36    cv->FilePause &= ~fv->OpId;    cv->FilePause &= ~fv->OpId;
37    ts = pts;    ts = pts;
38    LOGFONT logfont;    LOGFONT logfont;
39    HFONT font;    HFONT font;
40    
41    wc.style = CS_PARENTDC;    wc.style = CS_PARENTDC;
42    wc.lpfnWndProc = AfxWndProc;    wc.lpfnWndProc = AfxWndProc;
43    wc.cbClsExtra = 0;    wc.cbClsExtra = 0;
44    wc.cbWndExtra = DLGWINDOWEXTRA;    wc.cbWndExtra = DLGWINDOWEXTRA;
45    wc.hInstance = AfxGetInstanceHandle();    wc.hInstance = AfxGetInstanceHandle();
46    wc.hIcon = NULL;    wc.hIcon = NULL;
47    wc.hCursor = LoadCursor(NULL,IDC_ARROW);    wc.hCursor = LoadCursor(NULL,IDC_ARROW);
48    wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);    wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1);
49    wc.lpszMenuName = NULL;    wc.lpszMenuName = NULL;
50    wc.lpszClassName = "FTDlg32";    wc.lpszClassName = "FTDlg32";
51    RegisterClass(&wc);    RegisterClass(&wc);
52    
53    Pause = FALSE;    Pause = FALSE;
54    if (fv->OpId == OpLog) // parent window is desktop    if (fv->OpId == OpLog) // parent window is desktop
55      Ok = CDialog::Create(CFileTransDlg::IDD, GetDesktopWindow());      Ok = CDialog::Create(CFileTransDlg::IDD, GetDesktopWindow());
56    else // parent window is VT window    else // parent window is VT window
57      Ok = CDialog::Create(CFileTransDlg::IDD, NULL);      Ok = CDialog::Create(CFileTransDlg::IDD, NULL);
58    
59    // 呼び出し元から移動 (2009.2.7 maya)    // 呼び出し元から移動 (2009.2.7 maya)
60    if (!fv->HideDialog) {    if (!fv->HideDialog) {
61      ShowWindow(SW_SHOW);      ShowWindow(SW_SHOW);
62      if (fv->OpId == OpLog) {      if (fv->OpId == OpLog) {
63        ShowWindow(SW_MINIMIZE);        ShowWindow(SW_MINIMIZE);
64      }      }
65    }    }
66    
67    fv->HWin = GetSafeHwnd();    fv->HWin = GetSafeHwnd();
68    
69    font = (HFONT)SendMessage(WM_GETFONT, 0, 0);    font = (HFONT)SendMessage(WM_GETFONT, 0, 0);
70    GetObject(font, sizeof(LOGFONT), &logfont);    GetObject(font, sizeof(LOGFONT), &logfont);
71    if (get_lang_font("DLG_SYSTEM_FONT", fv->HWin, &logfont, &DlgFont, ts->UILanguageFile)) {    if (get_lang_font("DLG_SYSTEM_FONT", fv->HWin, &logfont, &DlgFont, ts->UILanguageFile)) {
72          SendDlgItemMessage(IDC_TRANS_FILENAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_TRANS_FILENAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
73          SendDlgItemMessage(IDC_TRANSFNAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_TRANSFNAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
74          SendDlgItemMessage(IDC_FULLPATH_LABEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_FULLPATH_LABEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
75          SendDlgItemMessage(IDC_EDIT_FULLPATH, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_EDIT_FULLPATH, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
76          SendDlgItemMessage(IDC_TRANS_TRANS, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_TRANS_TRANS, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
77          SendDlgItemMessage(IDC_TRANSBYTES, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_TRANSBYTES, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
78          SendDlgItemMessage(IDC_TRANSPAUSESTART, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_TRANSPAUSESTART, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
79          SendDlgItemMessage(IDCANCEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDCANCEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
80          SendDlgItemMessage(IDC_TRANSHELP, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));          SendDlgItemMessage(IDC_TRANSHELP, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0));
81    }    }
82    
83    return Ok;    return Ok;
84  }  }
85    
86  void CFileTransDlg::ChangeButton(BOOL PauseFlag)  void CFileTransDlg::ChangeButton(BOOL PauseFlag)
87  {  {
88    Pause = PauseFlag;    Pause = PauseFlag;
89    if (Pause)    if (Pause)
90    {    {
91      get_lang_msg("DLG_FILETRANS_START", ts->UIMsg, sizeof(ts->UIMsg), "&Start", ts->UILanguageFile);      get_lang_msg("DLG_FILETRANS_START", ts->UIMsg, sizeof(ts->UIMsg), "&Start", ts->UILanguageFile);
92      SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg);      SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg);
93      cv->FilePause |= fv->OpId;      cv->FilePause |= fv->OpId;
94    }    }
95    else {    else {
96      get_lang_msg("DLG_FILETRANS_PAUSE", ts->UIMsg, sizeof(ts->UIMsg), "Pau&se", ts->UILanguageFile);      get_lang_msg("DLG_FILETRANS_PAUSE", ts->UIMsg, sizeof(ts->UIMsg), "Pau&se", ts->UILanguageFile);
97      SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg);      SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg);
98      cv->FilePause &= ~fv->OpId;      cv->FilePause &= ~fv->OpId;
99    }    }
100  }  }
101    
102  void CFileTransDlg::RefreshNum()  void CFileTransDlg::RefreshNum()
103  {  {
104    char NumStr[24];    char NumStr[24];
105    double rate;    double rate;
106    
107    if (fv->OpId == OpSendFile && fv->FileSize > 0) {    if (fv->OpId == OpSendFile && fv->FileSize > 0) {
108      rate = 100.0 * (double)fv->ByteCount / (double)fv->FileSize;      rate = 100.0 * (double)fv->ByteCount / (double)fv->FileSize;
109      if (fv->ProgStat < (int)rate) {      if (fv->ProgStat < (int)rate) {
110        fv->ProgStat = (int)rate;        fv->ProgStat = (int)rate;
111        SendDlgItemMessage(IDC_TRANSPROGRESS, PBM_SETPOS, (WPARAM)fv->ProgStat, 0);        SendDlgItemMessage(IDC_TRANSPROGRESS, PBM_SETPOS, (WPARAM)fv->ProgStat, 0);
112      }      }
113      _snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u (%3.1f%%)",fv->ByteCount, rate);      _snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u (%3.1f%%)",fv->ByteCount, rate);
114    }    }
115    else {    else {
116      _snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u",fv->ByteCount);      _snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u",fv->ByteCount);
117    }    }
118    SetDlgItemText(IDC_TRANSBYTES, NumStr);    SetDlgItemText(IDC_TRANSBYTES, NumStr);
119  }  }
120    
121  /////////////////////////////////////////////////////////////////////////////  /////////////////////////////////////////////////////////////////////////////
122  // CFileTransDlg message handler  // CFileTransDlg message handler
123    
124  BOOL CFileTransDlg::OnInitDialog()  BOOL CFileTransDlg::OnInitDialog()
125  {  {
126    int fuLoad = LR_DEFAULTCOLOR;    int fuLoad = LR_DEFAULTCOLOR;
127    
128    SetWindowText(fv->DlgCaption);    SetWindowText(fv->DlgCaption);
129    SetDlgItemText(IDC_TRANSFNAME, &(fv->FullName[fv->DirLen]));    SetDlgItemText(IDC_TRANSFNAME, &(fv->FullName[fv->DirLen]));
130    
131    // ログファイルはフルパス表示にする(2004.8.6 yutaka)    // ログファイルはフルパス表示にする(2004.8.6 yutaka)
132    SetDlgItemText(IDC_EDIT_FULLPATH, &(fv->FullName[0]));    SetDlgItemText(IDC_EDIT_FULLPATH, &(fv->FullName[0]));
133    
134    if (is_NT4()) {    if (is_NT4()) {
135      fuLoad = LR_VGACOLOR;      fuLoad = LR_VGACOLOR;
136    }    }
137    ::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_SMALL,    ::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_SMALL,
138                  (LPARAM)LoadImage(AfxGetInstanceHandle(),                  (LPARAM)LoadImage(AfxGetInstanceHandle(),
139                                    MAKEINTRESOURCE(IDI_TTERM),                                    MAKEINTRESOURCE(IDI_TTERM),
140                                    IMAGE_ICON,16,16,fuLoad));                                    IMAGE_ICON,16,16,fuLoad));
141    ::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_BIG,    ::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_BIG,
142                  (LPARAM)LoadImage(AfxGetInstanceHandle(),                  (LPARAM)LoadImage(AfxGetInstanceHandle(),
143                                    MAKEINTRESOURCE(IDI_TTERM),                                    MAKEINTRESOURCE(IDI_TTERM),
144                                    IMAGE_ICON, 0, 0, fuLoad));                                    IMAGE_ICON, 0, 0, fuLoad));
145    
146    return 1;    return 1;
147  }  }
148    
149  void CFileTransDlg::OnCancel( )  void CFileTransDlg::OnCancel( )
150  {  {
151    ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0);    ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0);
152  }  }
153    
154  BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam)  BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam)
155  {  {
156    switch (LOWORD(wParam)) {    switch (LOWORD(wParam)) {
157      case IDCANCEL:      case IDCANCEL:
158        ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0);        ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0);
159        return TRUE;        return TRUE;
160      case IDC_TRANSPAUSESTART:      case IDC_TRANSPAUSESTART:
161        ChangeButton(! Pause);        ChangeButton(! Pause);
162        return TRUE;        return TRUE;
163      case IDC_TRANSHELP:      case IDC_TRANSHELP:
164        ::PostMessage(fv->HMainWin,WM_USER_DLGHELP2,0,0);        ::PostMessage(fv->HMainWin,WM_USER_DLGHELP2,0,0);
165        return TRUE;        return TRUE;
166      default:      default:
167        return (CDialog::OnCommand(wParam,lParam));        return (CDialog::OnCommand(wParam,lParam));
168    }    }
169  }  }
170    
171  void CFileTransDlg::PostNcDestroy()  void CFileTransDlg::PostNcDestroy()
172  {  {
173    delete this;    delete this;
174  }  }
175    
176  LRESULT CFileTransDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)  LRESULT CFileTransDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
177  {  {
178    return DefDlgProc(GetSafeHwnd(),message,wParam,lParam);    return DefDlgProc(GetSafeHwnd(),message,wParam,lParam);
179  }  }

Legend:
Removed from v.3226  
changed lines
  Added in v.3227

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