CONTROL "\83~\83\89\81[\83\8a\83\93\83O\83A\83b\83v\83\8d\81[\83h\82Å\83t\83@\83C\83\8b\8dí\8f\9c\91O\82É\8am\94F(&U)",MIRROR_UPDEL_NOTIFY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,111,174,10\r
CONTROL "\83~\83\89\81[\83\8a\83\93\83O\83_\83E\83\93\83\8d\81[\83h\82Å\83t\83@\83C\83\8b\8dí\8f\9c\91O\82É\8am\94F(&D)",MIRROR_DOWNDEL_NOTIFY,\r
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,125,174,10\r
+ CONTROL "\83~\83\89\81[\83\8a\83\93\83O\82Å\83t\83@\83C\83\8b\93à\97e\82ð\93]\91\97\82µ\82È\82¢(&F)",MIRROR_NO_TRANSFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,139,174,10\r
END\r
\r
somecmd_dlg DIALOG 0, 0, 187, 61\r
BEGIN\r
LTEXT "\8e\9f\82Ì\83t\83@\83C\83\8b\82ð\93]\91\97/\8dí\8f\9c\82µ\82Ü\82·\81B",-1,7,6,160,8\r
LISTBOX MIRROR_LIST,7,16,160,78,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP\r
+ CONTROL "\83t\83@\83C\83\8b\93à\97e\82ð\93]\91\97\82µ\82È\82¢(&F)",MIRROR_NO_TRANSFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,98,98,10\r
DEFPUSHBUTTON "\8eÀ\8ds",IDOK,7,153,50,14\r
PUSHBUTTON "\83L\83\83\83\93\83Z\83\8b",IDCANCEL,62,153,50,14\r
SCROLLBAR MIRROR_SIZEGRIP,164,158,10,13,SBS_BOTTOMALIGN | SBS_VERT | SBS_SIZEGRIP\r
PUSHBUTTON "\83w\83\8b\83v",9,117,153,50,14\r
- PUSHBUTTON "\91I\82ñ\82¾\8f\88\97\9d\82ð\82µ\82È\82¢",MIRROR_DEL,96,96,71,14,NOT WS_TABSTOP\r
+ PUSHBUTTON "\88ê\97\97\82©\82ç\8dí\8f\9c",MIRROR_DEL,111,96,56,14,NOT WS_TABSTOP\r
LTEXT "",MIRROR_COPYNUM,7,115,160,8\r
LTEXT "",MIRROR_MAKENUM,7,126,160,8\r
LTEXT "",MIRROR_DELNUM,7,137,160,8\r
CAPTION "\83~\83\89\81[\83\8a\83\93\83O\83_\83E\83\93\83\8d\81[\83h"\r
FONT 9, "MS Shell Dlg"\r
BEGIN\r
- LTEXT "\8e\9f\82Ì\8f\88\97\9d\82ð\8ds\82¢\82Ü\82·\81B",-1,7,6,92,8\r
+ LTEXT "\8e\9f\82Ì\83t\83@\83C\83\8b\82ð\93]\91\97/\8dí\8f\9c\82µ\82Ü\82·\81B",-1,7,6,160,8\r
LISTBOX MIRROR_LIST,7,16,160,78,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP\r
+ CONTROL "\83t\83@\83C\83\8b\93à\97e\82ð\93]\91\97\82µ\82È\82¢(&F)",MIRROR_NO_TRANSFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,98,98,10\r
DEFPUSHBUTTON "\8eÀ\8ds",IDOK,7,153,50,14\r
PUSHBUTTON "\83L\83\83\83\93\83Z\83\8b",IDCANCEL,62,153,50,14\r
SCROLLBAR MIRROR_SIZEGRIP,164,158,10,13,SBS_BOTTOMALIGN | SBS_VERT | SBS_SIZEGRIP\r
BEGIN\r
BLOCK "StringFileInfo"\r
BEGIN\r
- BLOCK "041104b0"\r
+ BLOCK "080004b0"\r
BEGIN\r
VALUE "Comments", "\82±\82ê\82Í\83t\83\8a\81[\83\\83t\83g\83E\83G\83A\82Å\82·\81B"\r
VALUE "CompanyName", "Sota, FFFTP Project"\r
END\r
BLOCK "VarFileInfo"\r
BEGIN\r
- VALUE "Translation", 0x411, 1200\r
+ VALUE "Translation", 0x800, 1200\r
END\r
END\r
\r
#define HSET_NO_WEAK 1226\r
#define HOST_SET_DEFAULT 1227\r
#define TRMODE_LISTERROR 1228\r
+#define MIRROR_NO_TRANSFER 1229\r
#define MENU_END 40001\r
#define MENU_EXIT 40001\r
#define MENU_CONNECT 40003\r
#ifndef APSTUDIO_READONLY_SYMBOLS\r
#define _APS_NEXT_RESOURCE_VALUE 199\r
#define _APS_NEXT_COMMAND_VALUE 40182\r
-#define _APS_NEXT_CONTROL_VALUE 1229\r
+#define _APS_NEXT_CONTROL_VALUE 1230\r
#define _APS_NEXT_SYMED_VALUE 101\r
#endif\r
#endif\r
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,111,174,10\r
CONTROL "Confirm deletions during Mirror &Download",MIRROR_DOWNDEL_NOTIFY,\r
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,125,174,10\r
+ CONTROL "Do not transfer &file contents during Mirroring",MIRROR_NO_TRANSFER,\r
+ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,139,174,10\r
END\r
\r
somecmd_dlg DIALOG 0, 0, 187, 61\r
BEGIN\r
LTEXT "Copy/Delete following files",-1,7,6,160,8\r
LISTBOX MIRROR_LIST,7,16,160,78,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP\r
+ CONTROL "Do not transfer &file contents",MIRROR_NO_TRANSFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,98,98,10\r
DEFPUSHBUTTON "Start Now",IDOK,7,153,50,14\r
PUSHBUTTON "Cancel",IDCANCEL,62,153,50,14\r
SCROLLBAR MIRROR_SIZEGRIP,164,158,10,13,SBS_BOTTOMALIGN | SBS_VERT | SBS_SIZEGRIP\r
CAPTION "Mirror Download"\r
FONT 9, "MS Shell Dlg"\r
BEGIN\r
- LTEXT "Copy/Delete following files",-1,7,6,92,8\r
+ LTEXT "Copy/Delete following files",-1,7,6,160,8\r
LISTBOX MIRROR_LIST,7,16,160,78,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP\r
+ CONTROL "Do not transfer &file contents",MIRROR_NO_TRANSFER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,98,98,10\r
DEFPUSHBUTTON "Start Now",IDOK,7,153,50,14\r
PUSHBUTTON "Cancel",IDCANCEL,62,153,50,14\r
SCROLLBAR MIRROR_SIZEGRIP,164,158,10,13,SBS_BOTTOMALIGN | SBS_VERT | SBS_SIZEGRIP\r
BEGIN\r
BLOCK "StringFileInfo"\r
BEGIN\r
- BLOCK "041104b0"\r
+ BLOCK "040904b0"\r
BEGIN\r
VALUE "Comments", "This software is Free Software"\r
VALUE "CompanyName", "Sota, FFFTP Project"\r
END\r
BLOCK "VarFileInfo"\r
BEGIN\r
- VALUE "Translation", 0x411, 1200\r
+ VALUE "Translation", 0x409, 1200\r
END\r
END\r
\r
//{{NO_DEPENDENCIES}}\r
// Microsoft Visual C++ generated include file.\r
-// Used by FFFTP-eng.rc\r
+// Used by ffftp.rc\r
//\r
#define DELETE_ALL 3\r
#define DELETE_NO 4\r
#define HSET_NO_WEAK 1226\r
#define HOST_SET_DEFAULT 1227\r
#define TRMODE_LISTERROR 1228\r
+#define MIRROR_NO_TRANSFER 1229\r
#define MENU_END 40001\r
#define MENU_EXIT 40001\r
#define MENU_CONNECT 40003\r
#ifndef APSTUDIO_READONLY_SYMBOLS\r
#define _APS_NEXT_RESOURCE_VALUE 199\r
#define _APS_NEXT_COMMAND_VALUE 40182\r
-#define _APS_NEXT_CONTROL_VALUE 1229\r
+#define _APS_NEXT_CONTROL_VALUE 1230\r
#define _APS_NEXT_SYMED_VALUE 101\r
#endif\r
#endif\r
#endif\r
HWND hWndTrans; /* 転送中ダイアログのウインドウハンドル */\r
int Abort; /* 転送中止フラグ (ABORT_xxx) */\r
+ // ミラーリング設定追加\r
+ int NoTransfer;\r
// 同時接続対応\r
int ThreadCount;\r
struct transpacket *Next;\r
extern int MakeAllDir;\r
// ファイル一覧バグ修正\r
extern int AbortOnListError;\r
+// ミラーリング設定追加\r
+extern int MirrorNoTransferContents; \r
\r
/*===== ローカルなワーク =====*/\r
\r
Pkt.KanjiCodeDesired = AskLocalKanjiCode();\r
Pkt.KanaCnv = AskHostKanaCnv();\r
Pkt.Mode = EXIST_OVW;\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = MirrorNoTransferContents;\r
AddTmpTransFileList(&Pkt, &Base);\r
}\r
}\r
}\r
#endif\r
Pkt.Mode = EXIST_OVW;\r
+ // ミラーリング設定追加\r
+ Pkt.NoTransfer = MirrorNoTransferContents;\r
AddTmpTransFileList(&Pkt, &Base);\r
}\r
}\r
CountMirrorFiles(hDlg, *Base);\r
DlgSizeInit(hDlg, &DlgSize, &MirrorDlgSize);\r
EnableWindow(GetDlgItem(hDlg, MIRROR_DEL), FALSE);\r
+ // ミラーリング設定追加\r
+ SendDlgItemMessage(hDlg, MIRROR_NO_TRANSFER, BM_SETCHECK, MirrorNoTransferContents, 0);\r
return(TRUE);\r
\r
case WM_COMMAND :\r
}\r
break;\r
\r
+ // ミラーリング設定追加\r
+ case MIRROR_NO_TRANSFER :\r
+ Pos = *Base;\r
+ while(Pos != NULL)\r
+ {\r
+ if(strncmp(Pos->Cmd, "STOR", 4) == 0 || strncmp(Pos->Cmd, "RETR", 4) == 0)\r
+ Pos->NoTransfer = SendDlgItemMessage(hDlg, MIRROR_NO_TRANSFER, BM_GETCHECK, 0, 0);\r
+ Pos = Pos->Next;\r
+ }\r
+ break;\r
+\r
case IDHELP :\r
hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000012);\r
}\r
static void EraseTransFileList(void);\r
static ULONG WINAPI TransferThread(void *Dummy);\r
static int MakeNonFullPath(TRANSPACKET *Pkt, char *CurDir, char *Tmp);\r
+// ミラーリング設定追加\r
+static int SetDownloadedFileTime(TRANSPACKET *Pkt);\r
static int DownloadNonPassive(TRANSPACKET *Pkt, int *CancelCheckWork);\r
static int DownloadPassive(TRANSPACKET *Pkt, int *CancelCheckWork);\r
static int DownloadFile(TRANSPACKET *Pkt, SOCKET dSkt, int CreateMode, int *CancelCheckWork);\r
// {\r
// if(ReConnectTrnSkt() == FFFTP_SUCCESS)\r
// DoDownload(AskTrnCtrlSkt(), TransPacketBase, NO, &Canceled);\r
+ // ミラーリング設定追加\r
+ if(Pos->NoTransfer == NO)\r
+ {\r
Sts = DoDownload(TrnSkt, Pos, NO, &Canceled[Pos->ThreadCount]) / 100;\r
if(Sts != FTP_COMPLETE)\r
LastError = YES;\r
-// }\r
+ }\r
+\r
+ // ミラーリング設定追加\r
+ if((SaveTimeStamp == YES) &&\r
+ ((Pos->Time.dwLowDateTime != 0) || (Pos->Time.dwHighDateTime != 0)))\r
+ {\r
+ SetDownloadedFileTime(Pos);\r
+ }\r
}\r
}\r
// 一部TYPE、STOR(RETR)、PORT(PASV)を並列に処理できないホストがあるため\r
// {\r
// if(ReConnectTrnSkt() == FFFTP_SUCCESS)\r
// DoUpload(AskTrnCtrlSkt(), TransPacketBase);\r
+ // ミラーリング設定追加\r
+ if(Pos->NoTransfer == NO)\r
+ {\r
Sts = DoUpload(TrnSkt, Pos) / 100;\r
if(Sts != FTP_COMPLETE)\r
LastError = YES;\r
-// }\r
+ }\r
\r
// ホスト側の日時設定\r
/* ファイルのタイムスタンプを合わせる */\r
\r
\r
\r
+// ミラーリング設定追加\r
+static int SetDownloadedFileTime(TRANSPACKET *Pkt)\r
+{\r
+ int Sts;\r
+ HANDLE hFile;\r
+ Sts = FFFTP_FAIL;\r
+ if((hFile = CreateFile(Pkt->LocalFile, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL)) != INVALID_HANDLE_VALUE)\r
+ {\r
+ if(SetFileTime(hFile, &Pkt->Time, &Pkt->Time, &Pkt->Time))\r
+ Sts = FFFTP_SUCCESS;\r
+ CloseHandle(hFile);\r
+ }\r
+ return Sts;\r
+}\r
+\r
/*----- ダウンロードを行なう --------------------------------------------------\r
*\r
* Parameter\r
}\r
\r
/* ファイルのタイムスタンプを合わせる */\r
- if((SaveTimeStamp == YES) &&\r
- ((Pkt->Time.dwLowDateTime != 0) || (Pkt->Time.dwHighDateTime != 0)))\r
- {\r
- SetFileTime(iFileHandle, &Pkt->Time, &Pkt->Time, &Pkt->Time);\r
- }\r
+ // ミラーリング設定追加\r
+// if((SaveTimeStamp == YES) &&\r
+// ((Pkt->Time.dwLowDateTime != 0) || (Pkt->Time.dwHighDateTime != 0)))\r
+// {\r
+// SetFileTime(iFileHandle, &Pkt->Time, &Pkt->Time, &Pkt->Time);\r
+// }\r
\r
CloseHandle(iFileHandle);\r
\r
time_t LastAutoCheckForUpdates = 0;\r
// ファイル一覧バグ修正\r
int AbortOnListError = YES;\r
+// ミラーリング設定追加\r
+int MirrorNoTransferContents = NO; \r
\r
\r
\r
extern int AutoCheckForUptatesInterval;\r
// ファイル一覧バグ修正\r
extern int AbortOnListError;\r
+// ミラーリング設定追加\r
+extern int MirrorNoTransferContents; \r
\r
\r
/*----- オプションのプロパティシート ------------------------------------------\r
SetMultiTextToList(hDlg, MIRROR_NODEL_LIST, MirrorNoDel);\r
SendDlgItemMessage(hDlg, MIRROR_LOW, BM_SETCHECK, MirrorFnameCnv, 0);\r
SendDlgItemMessage(hDlg, MIRROR_UPDEL_NOTIFY, BM_SETCHECK, MirUpDelNotify, 0);\r
- SendDlgItemMessage(hDlg, MIRROR_DOWNDEL_NOTIFY, BM_SETCHECK, MirDownDelNotify, 0);\r
+ // ミラーリング設定追加\r
+ SendDlgItemMessage(hDlg, MIRROR_NO_TRANSFER, BM_SETCHECK, MirrorNoTransferContents, 0);\r
return(TRUE);\r
\r
case WM_NOTIFY:\r
MirrorFnameCnv = SendDlgItemMessage(hDlg, MIRROR_LOW, BM_GETCHECK, 0, 0);\r
MirUpDelNotify = SendDlgItemMessage(hDlg, MIRROR_UPDEL_NOTIFY, BM_GETCHECK, 0, 0);\r
MirDownDelNotify = SendDlgItemMessage(hDlg, MIRROR_DOWNDEL_NOTIFY, BM_GETCHECK, 0, 0);\r
+ // ミラーリング設定追加\r
+ MirrorNoTransferContents = SendDlgItemMessage(hDlg, MIRROR_NO_TRANSFER, BM_GETCHECK, 0, 0);\r
break;\r
\r
case PSN_RESET :\r
extern time_t LastAutoCheckForUpdates;\r
// ファイル一覧バグ修正\r
extern int AbortOnListError;\r
+// ミラーリング設定追加\r
+extern int MirrorNoTransferContents; \r
\r
/*----- マスタパスワードの設定 ----------------------------------------------\r
*\r
WriteBinaryToReg(hKey4, "UpdLastCheck", &LastAutoCheckForUpdates, sizeof(LastAutoCheckForUpdates));\r
// ファイル一覧バグ修正\r
WriteIntValueToReg(hKey4, "AbortListErr", AbortOnListError);\r
+ // ミラーリング設定追加\r
+ WriteIntValueToReg(hKey4, "MirNoTransfer", MirrorNoTransferContents);\r
}\r
CloseSubKey(hKey4);\r
}\r
ReadBinaryFromReg(hKey4, "UpdLastCheck", &LastAutoCheckForUpdates, sizeof(LastAutoCheckForUpdates));\r
// ファイル一覧バグ修正\r
ReadIntValueFromReg(hKey4, "AbortListErr", &AbortOnListError);\r
+ // ミラーリング設定追加\r
+ ReadIntValueFromReg(hKey4, "MirNoTransfer", &MirrorNoTransferContents);\r
\r
CloseSubKey(hKey4);\r
}\r