m_pLocalLV = NULL;
m_pRemoteLV = NULL;
m_pProgress = NULL;
+ m_pCancelingDlg = NULL;
m_hwndFTDialog = NULL;
m_hwndLocalPath = NULL;
case IDC_FTDOWNLOAD:
_this->onDownload();
return FALSE;
+ case IDC_FTCANCEL:
+ _this->onFTCancel();
+ return FALSE;
case IDM_FTCOPY:
case IDM_FTRENAME:
case IDM_FTDELETE:
if (m_pLocalLV->getSelectedItems(&fi) > 0) {
m_pFileTransfer->addTransferQueue(m_szLocalPath, m_szRemotePath, &fi, FT_ATTR_COPY_UPLOAD);
}
+ refreshBtnState();
}
void
if (m_pRemoteLV->getSelectedItems(&fi) > 0) {
m_pFileTransfer->addTransferQueue(m_szLocalPath, m_szRemotePath, &fi, FT_ATTR_COPY_DOWNLOAD);
}
+ refreshBtnState();
}
void
if (m_pLocalLV->getSelectedItems(&fi) > 0) {
m_pFileTransfer->addDeleteQueue(m_szLocalPath, &fi, FT_ATTR_DELETE_LOCAL);
}
+ refreshBtnState();
}
void
if (m_pRemoteLV->getSelectedItems(&fi) > 0) {
m_pFileTransfer->addDeleteQueue(m_szRemotePath, &fi, FT_ATTR_DELETE_REMOTE);
}
+ refreshBtnState();
}
void
FTDialog::onFTCancel()
{
- MessageBox(NULL, "onFTCancel", "FTDialog", MB_OK);
+ if (m_pCancelingDlg != NULL) return;
+
+ m_pCancelingDlg = new CancelingDlg(this);
+
+ m_pCancelingDlg->create();
+}
+
+void
+FTDialog::cancelTransfer(bool bResult)
+{
+ if (m_pCancelingDlg != NULL) {
+ delete m_pCancelingDlg;
+ m_pCancelingDlg = NULL;
+ }
+ MessageBox(NULL, "FTDialog::cancelTransfer()", "FTDialog::cancelTransfer()", MB_OK);
}
void
} else {
}
}
- m_BtnState.cancelBtn = false;
+ if (m_pFileTransfer->isTransferEnable())
+ m_BtnState.cancelBtn = true;
+ else
+ m_BtnState.cancelBtn = false;
}
void
}
}
+void
+FTDialog::processDlgMsgs()
+{
+ MSG msg;
+ while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) != 0) {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
+}
+
void
FTDialog::postCheckTransferQueueMsg()
{
{
PostMessage(m_hwndFTDialog, m_msgCheckDeleteQueue, 0, 0);
}
+
+FTDialog::CancelingDlg::CancelingDlg(FTDialog *pFTDlg)
+{
+ m_pFTDlg = pFTDlg;
+ m_hwndDlg = NULL;
+}
+
+FTDialog::CancelingDlg::~CancelingDlg()
+{
+ destroy();
+}
+
+bool
+FTDialog::CancelingDlg::create()
+{
+ if (m_hwndDlg != NULL) return false;
+
+ m_hwndDlg = CreateDialogParam(GetModuleHandle(0),
+ MAKEINTRESOURCE(IDD_FTCANCELING),
+ NULL,
+ (DLGPROC) cancelingDlgProc,
+ (LONG) this);
+
+ if (m_hwndDlg == NULL) return false;
+
+ ShowWindow(m_hwndDlg, SW_SHOW);
+ DrawIcon(GetDC(m_hwndDlg), 15, 22, LoadIcon(NULL, IDI_QUESTION));
+ UpdateWindow(m_hwndDlg);
+
+ return true;
+}
+
+bool
+FTDialog::CancelingDlg::destroy()
+{
+ if (m_hwndDlg == NULL) return true;
+
+ if (DestroyWindow(m_hwndDlg)) {
+ m_hwndDlg = NULL;
+ return true;
+ } else {
+ return false;
+ }
+}
+
+bool
+FTDialog::CancelingDlg::close(bool bResult)
+{
+ if (m_hwndDlg == NULL) return true;
+
+ destroy();
+
+ m_pFTDlg->cancelTransfer(bResult);
+
+ return false;
+}
+
+BOOL CALLBACK
+FTDialog::CancelingDlg::cancelingDlgProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
+{
+ FTDialog::CancelingDlg *_this = (FTDialog::CancelingDlg *) GetWindowLong(hwnd, GWL_USERDATA);
+ switch (uMsg)
+ {
+ case WM_INITDIALOG:
+ SetWindowLong(hwnd, GWL_USERDATA, (LONG) lParam);
+ SetForegroundWindow(hwnd);
+ return TRUE;
+
+ case WM_COMMAND:
+ switch (LOWORD(wParam))
+ {
+ case IDOK:
+ _this->close(true);
+ return TRUE;
+ case IDCANCEL:
+ _this->close(false);
+ return TRUE;
+ }
+ break;
+ case WM_CLOSE:
+ _this->close(false);
+ return TRUE;
+ }
+ return FALSE;
+}
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+// Russian resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
+#ifdef _WIN32
+LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
+#pragma code_page(1251)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_FTCANCELING DIALOG DISCARDABLE 0, 0, 193, 63
+STYLE DS_SYSMODAL | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Canceling Active File Transfer"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "Yes",IDOK,40,42,50,14
+ PUSHBUTTON "No",IDCANCEL,102,42,50,14
+ LTEXT "FileTransfer is active.\nAre you sure you want to cancel transfer?",
+ IDC_STATIC,42,14,133,19
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// DESIGNINFO
+//
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO DISCARDABLE
+BEGIN
+ IDD_FTCANCELING, DIALOG
+ BEGIN
+ LEFTMARGIN, 7
+ RIGHTMARGIN, 186
+ TOPMARGIN, 7
+ BOTTOMMARGIN, 56
+ END
+END
+#endif // APSTUDIO_INVOKED
+
+#endif // Russian resources
+/////////////////////////////////////////////////////////////////////////////
+
+
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources