static DWORD MainThreadId;\r
// ポータブル版判定\r
static char PortableFilePath[FMAX_PATH+1];\r
-int PortableVersion;\r
+static int PortableVersion;\r
+// ローカル側自動更新\r
+HANDLE ChangeNotification = INVALID_HANDLE_VALUE;\r
\r
\r
/*===== グローバルなワーク =====*/\r
LoadOpenSSL();\r
#endif\r
\r
- // SFTP対応\r
- LoadPuTTY();\r
-\r
Ret = FALSE;\r
hWndFtp = NULL;\r
hInstFtp = hInstance;\r
#ifdef USE_OPENSSL\r
FreeOpenSSL();\r
#endif\r
- // SFTP対応\r
- FreePuTTY();\r
OleUninitialize();\r
return(Ret);\r
}\r
\r
switch (message)\r
{\r
+ // ローカル側自動更新\r
+ case WM_CREATE :\r
+ SetTimer(hWnd, 1, 1000, NULL);\r
+ break;\r
+\r
+ // ローカル側自動更新\r
// 自動切断対策\r
case WM_TIMER :\r
- if(wParam == 1)\r
+ switch(wParam)\r
+ {\r
+ case 1:\r
+ if(WaitForSingleObject(ChangeNotification, 0) == WAIT_OBJECT_0)\r
+ {\r
+ if(AskUserOpeDisabled() == NO)\r
+ {\r
+ FILELIST* Base;\r
+ FindNextChangeNotification(ChangeNotification);\r
+ Base = NULL;\r
+ MakeSelectedFileList(WIN_LOCAL, NO, NO, &Base, &CancelFlg);\r
+ GetLocalDirForWnd();\r
+ SelectFileInList(GetLocalHwnd(), SELECT_LIST, Base);\r
+ }\r
+ }\r
+ break;\r
+ case 2:\r
NoopProc();\r
+ break;\r
+ }\r
break;\r
\r
case WM_COMMAND :\r
{\r
case MENU_CONNECT :\r
// 自動切断対策\r
- KillTimer(hWnd, 1);\r
+ KillTimer(hWnd, 2);\r
ConnectProc(DLG_TYPE_CON, -1);\r
// 自動切断対策\r
if(AskNoopInterval() > 0)\r
- SetTimer(hWnd, 1, AskNoopInterval() * 1000, NULL);\r
+ SetTimer(hWnd, 2, AskNoopInterval() * 1000, NULL);\r
break;\r
\r
case MENU_CONNECT_NUM :\r
// 自動切断対策\r
- KillTimer(hWnd, 1);\r
+ KillTimer(hWnd, 2);\r
ConnectProc(DLG_TYPE_CON, (int)lParam);\r
// 自動切断対策\r
if(AskNoopInterval() > 0)\r
- SetTimer(hWnd, 1, AskNoopInterval() * 1000, NULL);\r
+ SetTimer(hWnd, 2, AskNoopInterval() * 1000, NULL);\r
if(AskConnecting() == YES)\r
{\r
if(HIWORD(wParam) & OPT_MIRROR)\r
\r
case MENU_SET_CONNECT :\r
// 自動切断対策\r
- KillTimer(hWnd, 1);\r
+ KillTimer(hWnd, 2);\r
ConnectProc(DLG_TYPE_SET, -1);\r
// 自動切断対策\r
if(AskNoopInterval() > 0)\r
- SetTimer(hWnd, 1, AskNoopInterval() * 1000, NULL);\r
+ SetTimer(hWnd, 2, AskNoopInterval() * 1000, NULL);\r
break;\r
\r
case MENU_QUICK :\r
// 自動切断対策\r
- KillTimer(hWnd, 1);\r
+ KillTimer(hWnd, 2);\r
QuickConnectProc();\r
// 自動切断対策\r
if(AskNoopInterval() > 0)\r
- SetTimer(hWnd, 1, AskNoopInterval() * 1000, NULL);\r
+ SetTimer(hWnd, 2, AskNoopInterval() * 1000, NULL);\r
break;\r
\r
case MENU_DISCONNECT :\r
case MENU_HIST_19 :\r
case MENU_HIST_20 :\r
// 自動切断対策\r
- KillTimer(hWnd, 1);\r
+ KillTimer(hWnd, 2);\r
HistoryConnectProc(LOWORD(wParam));\r
// 自動切断対策\r
if(AskNoopInterval() > 0)\r
- SetTimer(hWnd, 1, AskNoopInterval() * 1000, NULL);\r
+ SetTimer(hWnd, 2, AskNoopInterval() * 1000, NULL);\r
break;\r
\r
case MENU_UPDIR :\r
break;\r
\r
case REFRESH_LOCAL :\r
+ // デッドロック対策\r
+ if(AskUserOpeDisabled() == YES)\r
+ break;\r
GetLocalDirForWnd();\r
break;\r
\r
break;\r
\r
case MENU_SELECT_ALL :\r
- SelectFileInList(hWndCurFocus, SELECT_ALL);\r
+ // ローカル側自動更新\r
+// SelectFileInList(hWndCurFocus, SELECT_ALL);\r
+ SelectFileInList(hWndCurFocus, SELECT_ALL, NULL);\r
break;\r
\r
case MENU_SELECT :\r
- SelectFileInList(hWndCurFocus, SELECT_REGEXP);\r
+ // ローカル側自動更新\r
+// SelectFileInList(hWndCurFocus, SELECT_REGEXP);\r
+ SelectFileInList(hWndCurFocus, SELECT_REGEXP, NULL);\r
break;\r
\r
case MENU_FIND :\r
break;\r
\r
case WM_DESTROY :\r
+ // ローカル側自動更新\r
+ KillTimer(hWnd, 1);\r
+ if(ChangeNotification != INVALID_HANDLE_VALUE)\r
+ FindCloseChangeNotification(ChangeNotification);\r
// WSACleanup();\r
// DestroyWindow(hWndFtp);\r
PostQuitMessage(0);\r