FFFTPのソースコードです。
修订版 | b45196d972e21f6b5880d9c335207c2000603544 (tree) |
---|---|
时间 | 2013-08-29 05:39:34 |
作者 | s_kawamoto <s_kawamoto@user...> |
Commiter | s_kawamoto |
Add options for automatic file list refresh.
@@ -1458,6 +1458,7 @@ STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION | ||
1458 | 1458 | FONT 9, "MS Shell Dlg" |
1459 | 1459 | BEGIN |
1460 | 1460 | CONTROL "ファイルの属性を数字で表示する(&P)",DISP2_PERMIT_NUM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,196,10 |
1461 | + CONTROL "ファイル一覧を自動で更新する(&R)",DISP2_AUTO_REFRESH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,196,10 | |
1461 | 1462 | END |
1462 | 1463 | |
1463 | 1464 |
@@ -230,6 +230,7 @@ | ||
230 | 230 | #define PERM_O_EXEC 1016 |
231 | 231 | #define TOOL_EDITOR2_BR 1016 |
232 | 232 | #define CONNECT_QUICK_ANONY 1016 |
233 | +#define DISP2_AUTO_REFRESH 1016 | |
233 | 234 | #define PERM_G_EXEC 1017 |
234 | 235 | #define TOOL_EDITOR3_BR 1017 |
235 | 236 | #define CONNECT_SENDQUIT 1017 |
@@ -1493,6 +1493,8 @@ FONT 9, "MS Shell Dlg" | ||
1493 | 1493 | BEGIN |
1494 | 1494 | CONTROL "Display file &permissions in numbers",DISP2_PERMIT_NUM, |
1495 | 1495 | "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,196,10 |
1496 | + CONTROL "&Refresh the file list automatically",DISP2_AUTO_REFRESH, | |
1497 | + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,21,196,10 | |
1496 | 1498 | END |
1497 | 1499 | |
1498 | 1500 |
@@ -230,6 +230,7 @@ | ||
230 | 230 | #define PERM_O_EXEC 1016 |
231 | 231 | #define TOOL_EDITOR2_BR 1016 |
232 | 232 | #define CONNECT_QUICK_ANONY 1016 |
233 | +#define DISP2_AUTO_REFRESH 1016 | |
233 | 234 | #define PERM_G_EXEC 1017 |
234 | 235 | #define TOOL_EDITOR3_BR 1017 |
235 | 236 | #define CONNECT_SENDQUIT 1017 |
@@ -261,6 +261,8 @@ int UPnPEnabled = YES; | ||
261 | 261 | time_t LastDataConnectionTime = 0; |
262 | 262 | // 全設定暗号化対応 |
263 | 263 | int EncryptAllSettings = NO; |
264 | +// ローカル側自動更新 | |
265 | +int AutoRefreshFileList = YES; | |
264 | 266 | |
265 | 267 | |
266 | 268 |
@@ -944,19 +946,22 @@ static LRESULT CALLBACK FtpWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA | ||
944 | 946 | { |
945 | 947 | if(AskUserOpeDisabled() == NO) |
946 | 948 | { |
947 | - FILELIST* Base; | |
948 | - char Name[FMAX_PATH+1]; | |
949 | - int Pos; | |
950 | 949 | FindNextChangeNotification(ChangeNotification); |
951 | - Base = NULL; | |
952 | - MakeSelectedFileList(WIN_LOCAL, NO, NO, &Base, &CancelFlg); | |
953 | - GetHotSelected(WIN_LOCAL, Name); | |
954 | - Pos = SendMessage(GetLocalHwnd(), LVM_GETTOPINDEX, 0, 0); | |
955 | - GetLocalDirForWnd(); | |
956 | - SelectFileInList(GetLocalHwnd(), SELECT_LIST, Base); | |
957 | - SetHotSelected(WIN_LOCAL, Name); | |
958 | - SendMessage(GetLocalHwnd(), LVM_ENSUREVISIBLE, (WPARAM)(SendMessage(GetLocalHwnd(), LVM_GETITEMCOUNT, 0, 0) - 1), (LPARAM)TRUE); | |
959 | - SendMessage(GetLocalHwnd(), LVM_ENSUREVISIBLE, (WPARAM)Pos, (LPARAM)TRUE); | |
950 | + if(AutoRefreshFileList == YES) | |
951 | + { | |
952 | + FILELIST* Base; | |
953 | + char Name[FMAX_PATH+1]; | |
954 | + int Pos; | |
955 | + Base = NULL; | |
956 | + MakeSelectedFileList(WIN_LOCAL, NO, NO, &Base, &CancelFlg); | |
957 | + GetHotSelected(WIN_LOCAL, Name); | |
958 | + Pos = SendMessage(GetLocalHwnd(), LVM_GETTOPINDEX, 0, 0); | |
959 | + GetLocalDirForWnd(); | |
960 | + SelectFileInList(GetLocalHwnd(), SELECT_LIST, Base); | |
961 | + SetHotSelected(WIN_LOCAL, Name); | |
962 | + SendMessage(GetLocalHwnd(), LVM_ENSUREVISIBLE, (WPARAM)(SendMessage(GetLocalHwnd(), LVM_GETITEMCOUNT, 0, 0) - 1), (LPARAM)TRUE); | |
963 | + SendMessage(GetLocalHwnd(), LVM_ENSUREVISIBLE, (WPARAM)Pos, (LPARAM)TRUE); | |
964 | + } | |
960 | 965 | } |
961 | 966 | } |
962 | 967 | if(NoopEnable == YES && AskNoopInterval() > 0 && time(NULL) - LastDataConnectionTime >= AskNoopInterval()) |
@@ -182,6 +182,8 @@ extern int MakeAllDir; | ||
182 | 182 | extern int UPnPEnabled; |
183 | 183 | // 全設定暗号化対応 |
184 | 184 | extern int EncryptAllSettings; |
185 | +// ローカル側自動更新 | |
186 | +extern int AutoRefreshFileList; | |
185 | 187 | |
186 | 188 | |
187 | 189 | /*----- オプションのプロパティシート ------------------------------------------ |
@@ -1191,6 +1193,7 @@ static INT_PTR CALLBACK Disp1SettingProc(HWND hDlg, UINT message, WPARAM wParam, | ||
1191 | 1193 | |
1192 | 1194 | |
1193 | 1195 | // ファイルの属性を数字で表示 |
1196 | +// ローカル側自動更新 | |
1194 | 1197 | static INT_PTR CALLBACK Disp2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) |
1195 | 1198 | { |
1196 | 1199 | NMHDR *pnmhdr; |
@@ -1200,6 +1203,7 @@ static INT_PTR CALLBACK Disp2SettingProc(HWND hDlg, UINT message, WPARAM wParam, | ||
1200 | 1203 | { |
1201 | 1204 | case WM_INITDIALOG : |
1202 | 1205 | SendDlgItemMessage(hDlg, DISP2_PERMIT_NUM, BM_SETCHECK, DispPermissionsNumber, 0); |
1206 | + SendDlgItemMessage(hDlg, DISP2_AUTO_REFRESH, BM_SETCHECK, AutoRefreshFileList, 0); | |
1203 | 1207 | return(TRUE); |
1204 | 1208 | |
1205 | 1209 | case WM_NOTIFY: |
@@ -1208,6 +1212,7 @@ static INT_PTR CALLBACK Disp2SettingProc(HWND hDlg, UINT message, WPARAM wParam, | ||
1208 | 1212 | { |
1209 | 1213 | case PSN_APPLY : |
1210 | 1214 | DispPermissionsNumber = SendDlgItemMessage(hDlg, DISP2_PERMIT_NUM, BM_GETCHECK, 0, 0); |
1215 | + AutoRefreshFileList = SendDlgItemMessage(hDlg, DISP2_AUTO_REFRESH, BM_GETCHECK, 0, 0); | |
1211 | 1216 | break; |
1212 | 1217 | |
1213 | 1218 | case PSN_RESET : |
@@ -217,6 +217,8 @@ extern int LocalKanjiCode; | ||
217 | 217 | extern int UPnPEnabled; |
218 | 218 | // 全設定暗号化対応 |
219 | 219 | extern int EncryptAllSettings; |
220 | +// ローカル側自動更新 | |
221 | +extern int AutoRefreshFileList; | |
220 | 222 | |
221 | 223 | /*----- マスタパスワードの設定 ---------------------------------------------- |
222 | 224 | * |
@@ -669,6 +671,8 @@ void SaveRegistry(void) | ||
669 | 671 | WriteIntValueToReg(hKey4, "Kanji", LocalKanjiCode); |
670 | 672 | // UPnP対応 |
671 | 673 | WriteIntValueToReg(hKey4, "UPnP", UPnPEnabled); |
674 | + // ローカル側自動更新 | |
675 | + WriteIntValueToReg(hKey4, "ListRefresh", AutoRefreshFileList); | |
672 | 676 | } |
673 | 677 | CloseSubKey(hKey4); |
674 | 678 | } |
@@ -1118,6 +1122,8 @@ int LoadRegistry(void) | ||
1118 | 1122 | ReadIntValueFromReg(hKey4, "Kanji", &LocalKanjiCode); |
1119 | 1123 | // UPnP対応 |
1120 | 1124 | ReadIntValueFromReg(hKey4, "UPnP", &UPnPEnabled); |
1125 | + // ローカル側自動更新 | |
1126 | + ReadIntValueFromReg(hKey4, "ListRefresh", &AutoRefreshFileList); | |
1121 | 1127 | |
1122 | 1128 | CloseSubKey(hKey4); |
1123 | 1129 | } |