Index: src/ch/resource.h
===================================================================
diff -u -N -r1c366a50e84393bce67e50dcccc4fc5ff147db27 -r814b694086d5dc450efb6a5e5c6902145ddc07fd
--- src/ch/resource.h	(.../resource.h)	(revision 1c366a50e84393bce67e50dcccc4fc5ff147db27)
+++ src/ch/resource.h	(.../resource.h)	(revision 814b694086d5dc450efb6a5e5c6902145ddc07fd)
@@ -54,6 +54,18 @@
 #define IDD_FEEDBACK_REPLACE_DIALOG     214
 #define IDD_MSGBOX_DIALOG               215
 #define IDR_TASK_ADVANCED_MENU          216
+#define IDR_ALREADYEXISTS_MASS_REPLACE_MENU 225
+#define IDR_ALREADYEXISTS_MASS_SKIP_MENU 226
+#define IDR_ALREADYEXISTS_MASS_RENAME_MENU 228
+#define IDR_ALREADYEXISTS_MASS_RESUME_MENU 230
+#define IDD_RULE_EDIT_ALREADYEXISTS_DIALOG 231
+#define IDD_RULE_EDIT_ERROR_DIALOG      232
+#define IDD_RULE_EDIT_NOTENOUGHSPACE_DIALOG 233
+#define IDD_RULE_EDIT_ALL_DIALOG        234
+#define IDR_ERROR_MASS_SKIP_MENU        237
+#define IDR_ERROR_MASS_RETRY_MENU       238
+#define IDR_FILTER_TYPE_MENU            244
+#define IDR_TASK_MENU                   247
 #define IDC_PROGRAM_STATIC              1000
 #define IDC_ADDFILE_BUTTON              1002
 #define IDC_STATUS_LIST                 1003
@@ -72,7 +84,9 @@
 #define IDC_TASKCOUNT_PROGRESS          1010
 #define IDC_ADDDIR_BUTTON               1011
 #define IDC_CURRENTOBJECT_PROGRESS      1011
+#define IDC_FILE_ERROR_RULES_LIST       1011
 #define IDC_BUFFERSIZES_LIST            1012
+#define IDC_NOT_ENOUGH_SPACE_RULES_LIST 1012
 #define IDC_SET_BUFFERSIZE_BUTTON       1013
 #define IDC_FILTERS_CHECK               1014
 #define IDC_IGNOREFOLDERS_CHECK         1015
@@ -81,9 +95,12 @@
 #define IDC_TASK_ADVANCED_BUTTON        1017
 #define IDC_PAUSE_BUTTON                1018
 #define IDC_STANDARD_CHECK              1019
+#define IDC_DONT_CREATE_EMPTY_DIRECTORIES_CHECK 1019
 #define IDC_FORCEDIRECTORIES_CHECK      1020
+#define IDC_PAUSE_BUTTON2               1020
 #define IDC_RESUME_BUTTON               1021
 #define IDC_CANCEL_BUTTON               1022
+#define IDC_PAUSE_BUTTON3               1022
 #define IDC_ADVANCED_CHECK              1023
 #define IDC_BUFFERSIZES_BUTTON          1024
 #define IDC_ADDFILTER_BUTTON            1025
@@ -102,6 +119,7 @@
 #define IDC_TASKPROCESSED_STATIC        1033
 #define IDC_TRANSFER_STATIC             1034
 #define IDC_TASKTRANSFER_STATIC         1034
+#define IDC_CUSTOM_RULES_BUTTON         1035
 #define IDC_OVERALL_PROGRESS_STATIC     1035
 #define IDC_GLOBALPROCESSED_STATIC      1035
 #define IDC_OVERALL_TRANSFER_STATIC     1036
@@ -150,13 +168,14 @@
 #define IDC_DESTFILENAME_EDIT           1090
 #define IDC_IGNORE_BUTTON               1097
 #define IDC_RETRY_BUTTON                1100
-#define IDC_COPY_REST_BUTTON            1103
 #define IDC_SHOW_LOG_BUTTON             1120
 #define IDC_STICK_BUTTON                1122
 #define IDC_FREESPACE_STATIC            1123
 #define IDC_DISK_STATIC                 1124
 #define IDC_REQUIRED_STATIC             1127
+#define IDC_REQUIRED_SPACE_STATIC       1127
 #define IDC_AVAILABLE_STATIC            1128
+#define IDC_AVAILABLE_SPACE_STATIC      1128
 #define IDC_TEST_BUTTON                 1129
 #define IDC_SOURCEFILENAME_EDIT         1130
 #define IDC_YESALL_BUTTON               1131
@@ -254,9 +273,13 @@
 #define IDC_007_STATIC                  1225
 #define IDC_008_STATIC                  1226
 #define IDC_SUBTASKCOUNT_LABEL_STATIC   1226
+#define IDC_FEEDBACK_RULES_STATIC       1226
+#define IDC_HDR_FEEDBACK_RULES_STATIC   1226
 #define IDC_009_STATIC                  1227
 #define IDC_CURRENTOBJECT_LABEL_STATIC  1227
+#define IDC_HDR_ADVANCED_OPTIONS_STATIC 1227
 #define IDC_010_STATIC                  1228
+#define IDC_HDR_FILTERS_STATIC          1228
 #define IDC_011_STATIC                  1229
 #define IDC_TASKPROCESSED_LABEL_STATIC  1229
 #define IDC_012_STATIC                  1230
@@ -299,12 +322,22 @@
 #define IDC_029_STATIC                  1247
 #define IDC_030_STATIC                  1248
 #define IDC_BAR1_STATIC                 1249
+#define IDC_LEFT_STANDARD_OPTIONS_STATIC 1249
 #define IDC_BAR2_STATIC                 1250
+#define IDC_RIGHT_STANDARD_OPTIONS_STATIC 1250
 #define IDC_BAR3_STATIC                 1251
 #define IDC_BAR4_STATIC                 1252
 #define IDC_BAR5_STATIC                 1253
 #define IDC_HEADER_STATIC               1254
+#define IDC_BAR8_STATIC                 1254
+#define IDC_RIGHT_FEEDBACK_RULES_STATIC 1254
 #define IDC_HOSTLINK_STATIC             1255
+#define IDC_BAR7_STATIC                 1255
+#define IDC_LEFT_FEEDBACK_RULES_STATIC  1255
+#define IDC_LEFT_FILTERS_STATIC         1256
+#define IDC_LEFT_ADVANCED_OPTIONS_STATIC 1257
+#define IDC_RIGHT_ADVANCED_OPTIONS_STATIC 1258
+#define IDC_RIGHT_FILTERS_STATIC        1259
 #define IDC_PROGRAM_STATICEX            1263
 #define IDC_FULLVERSION_STATICEX        1264
 #define IDC_HOMEPAGE_STATICEX           1265
@@ -323,6 +356,7 @@
 #define IDC_OPEN_WEBPAGE_BUTTON         1283
 #define IDC_LANGUAGE_STATIC             1284
 #define IDC_REPLACE_BUTTON              1285
+#define IDC_RENAME_BUTTON               1286
 #define IDC_ALL_ITEMS_CHECK             1287
 #define IDC_SKIP_BUTTON                 1288
 #define IDC_SRC_ICON_STATIC             1291
@@ -356,14 +390,12 @@
 #define IDC_EXPORT_BUTTON               1322
 #define IDC_BUFFERCOUNT_SPIN            1324
 #define IDC_BUFFERCOUNT_EDIT            1325
-#define IDC_COMBO1                      1325
 #define IDC_UPDATECHANNEL_COMBO         1325
 #define IDC_COMBO2                      1326
 #define IDC_UPDATESFREQ_COMBO           1326
 #define IDC_MAXREADAHEAD_EDIT           1326
-#define IDC_LIST1                       1327
-#define IDC_MAXCONCURRENTREADS_EDIT            1327
-#define IDC_MAXCONCURRENTWRITES_EDIT           1328
+#define IDC_MAXCONCURRENTREADS_EDIT     1327
+#define IDC_MAXCONCURRENTWRITES_EDIT    1328
 #define IDC_RICHEDIT21                  1329
 #define IDC_CHANGELOG_RICHEDIT          1329
 #define IDC_MAINUPDATEINFO_CUSTOM       1330
@@ -373,14 +405,84 @@
 #define IDC_UPDATECHANNEL_STATIC        1334
 #define IDC_SRC_FILENAME_EDIT           1340
 #define IDC_DST_FILENAME_EDIT           1341
+#define IDC_OPERATION_EDIT              1341
 #define IDC_SRC_FILESIZE_EDIT           1342
+#define IDC_SYSTEM_ERROR_EDIT           1342
 #define IDC_MODIFIEDDATE_EDIT           1343
 #define IDC_SRC_MODIFIEDDATE_EDIT       1343
+#define IDC_SECOND_FILENAME_EDIT        1343
 #define IDC_DST_FILESIZE_EDIT           1344
 #define IDC_DST_MODIFIEDDATE_EDIT       1345
 #define IDC_SRC_PATH_EDIT               1346
 #define IDC_SRCFILE_STATIC              1347
 #define IDC_DSTFILE_STATIC              1348
+#define IDC_NAME_STATIC                 1378
+#define IDC_SRC_NAME_STATIC             1378
+#define IDC_SRC_LOCATION_STATIC         1379
+#define IDC_SRC_SIZE_STATIC             1380
+#define IDC_SYSTEM_ERROR_STATIC         1380
+#define IDC_SRC_TIME_STATIC             1381
+#define IDC_DST_NAME_STATIC             1382
+#define IDC_DST_LOCATION_STATIC         1383
+#define IDC_DST_SIZE_STATIC             1384
+#define IDC_DST_TIME_STATIC             1385
+#define IDC_DST_RENAME_EDIT             1387
+#define IDC_FILTER_BY_SYSTEMERROR_EDIT  1387
+#define IDC_DST_RENAME_STATIC           1388
+#define IDC_ALREADY_EXISTS_CHANGE_BUTTON 1388
+#define IDC_ALREADY_EXISTS_REMOVE_BUTTON 1389
+#define IDC_FILE_ALREADY_EXISTS_STATIC  1390
+#define IDC_FILE_ERROR_RULES_STATIC     1391
+#define IDC_NOT_ENOUGH_SPACE_STATIC     1392
+#define IDC_FILE_ALREADY_EXISTS_RULES_LIST 1393
+#define IDC_ALREADY_EXISTS_ADD_BUTTON   1394
+#define IDC_FILE_ERROR_CHANGE_BUTTON    1395
+#define IDC_FILE_ERROR_REMOVE_BUTTON    1396
+#define IDC_FILE_ERROR_ADD_BUTTON       1397
+#define IDC_NOT_ENOUGH_SPACE_CHANGE_BUTTON 1398
+#define IDC_NOT_ENOUGH_SPACE_REMOVE_BUTTON 1399
+#define IDC_NOT_ENOUGH_SPACE_ADD_BUTTON 1400
+#define IDC_BOTTOM_BAR_STATIC           1401
+#define IDC_INCLUDE_MASK_CHECK          1402
+#define IDC_ALREADY_EXISTS_UP_BUTTON    1402
+#define IDC_INCLUDE_MASK_COMBO          1403
+#define IDC_ALREADY_EXISTS_DOWN_BUTTON  1403
+#define IDC_EXCLUDE_MASK_CHECK          1404
+#define IDC_FILE_ERROR_UP_BUTTON        1404
+#define IDC_EXCLUDE_MASK_COMBO          1405
+#define IDC_FILE_ERROR_DOWN_BUTTON      1405
+#define IDC_FILTER_BY_SIZE_CHECK        1406
+#define IDC_NOT_ENOUGH_SPACE_UP_BUTTON  1406
+#define IDC_FILTER_BY_SIZE_COMBO        1407
+#define IDC_FILE_ERROR_DOWN_BUTTON2     1407
+#define IDC_NOT_ENOUGH_SPACE_DOWN_BUTTON 1407
+#define IDC_FILTER_BY_DATE_CHECK        1408
+#define IDC_FILTER_BY_DATE_COMBO        1409
+#define IDC_RESPONSE_STATIC             1410
+#define IDC_RESPONSE_COMBO              1411
+#define IDC_FILTER_BY_OPERATION_CHECK   1412
+#define IDC_FILTER_BY_OPERATION_COMBO   1413
+#define IDC_FILTER_BY_SYSTEMERROR_CHECK 1414
+#define IDC_SOURCE_SIZE_STATIC          1415
+#define IDC_DESTINATION_SIZE_STATIC     1416
+#define IDC_SOURCE_DATE_STATIC          1417
+#define IDC_DST_DATE_STATIC             1418
+#define IDC_ERROR_DETAILS_STATIC        1423
+#define IDC_FILENAME_EDIT               1425
+#define IDC_LOCATION_STATIC             1426
+#define IDC_NAMES_STATIC2               1426
+#define IDC_REQUIRED_SPACE_HDR_STATIC   1427
+#define IDC_AVAILABLE_SPACE_HDR_STATIC  1428
+#define IDC_DETAILS_STATIC              1429
+#define IDC_FEEDBACK_RULES_SUMMARY_EDIT 1431
+#define IDC_INCLUDE_MASK_BUTTON         1443
+#define IDC_EXCLUDE_MASK_BUTTON         1444
+#define IDC_HDR_STANDARD_OPTIONS_STATIC 1445
+#define IDC_HDR_SOURCE_FILES_STATIC     1446
+#define IDC_HDR_DESTIONATION_PATH_STATIC 1447
+#define IDC_HDR_OPERATION_TYPE_STATIC   1448
+#define IDC_HDR_PRIORITY_STATIC         1449
+#define IDC_HDR_BUFFER_SIZES_STATIC     1450
 #define IDS_APPNAME_STRING              5000
 #define IDS_PRIORITY0_STRING            5001
 #define IDS_PRIORITY1_STRING            5002
@@ -403,7 +505,8 @@
 #define IDS_EQ_STRING                   5019
 #define IDS_GE_STRING                   5020
 #define IDS_GT_STRING                   5021
-#define IDS_UPDATER_NEW_VERSION_STRING  5022
+#define IDS_DT_STRING                   5022
+#define IDS_UPDATER_NEW_VERSION_STRING  5023
 #define IDS_UPDATER_EQUAL_VERSION_STRING 5024
 #define IDS_UPDATER_ERROR_STRING        5025
 #define IDS_UPDATER_WAITING_STRING      5026
@@ -429,6 +532,15 @@
 #define IDS_UPDATER_NEWVERSIONEXISTS    5048
 #define IDS_UPDATER_RELEASENOTES        5049
 #define IDS_FINALIZE_CH_ERROR           5050
+#define IDS_FEEDBACK_RESPONSE_UNKNOWN   5051
+#define IDS_FEEDBACK_RESPONSE_OVERWRITE 5052
+#define IDS_FEEDBACK_RESPONSE_RESUME    5053
+#define IDS_FEEDBACK_RESPONSE_SKIP      5054
+#define IDS_FEEDBACK_RESPONSE_CANCEL    5055
+#define IDS_FEEDBACK_RESPONSE_PAUSE     5056
+#define IDS_FEEDBACK_RESPONSE_RETRY     5057
+#define IDS_FEEDBACK_RESPONSE_IGNORE    5058
+#define IDS_FEEDBACK_RESPONSE_RENAME    5059
 #define IDS_ONECOPY_STRING              6000
 #define IDS_REGISTEROK_STRING           6001
 #define IDS_REGISTERERR_STRING          6002
@@ -544,8 +656,8 @@
 #define IDS_CFGLOGLEVEL_SUBTASK_FASTMOVE 8115
 #define IDS_CFGLOGLEVEL_SUBTASK_DELETE  8116
 #define IDS_CFGLOGLEVEL_FILESYSTEM      8117
-#define IDS_BUFFER_MAX_READAHEAD         8118
-#define IDS_BUFFER_MAX_CONCURRENT_READS  8119
+#define IDS_BUFFER_MAX_READAHEAD        8118
+#define IDS_BUFFER_MAX_CONCURRENT_READS 8119
 #define IDS_BUFFER_MAX_CONCURRENT_WRITES 8120
 #define IDS_MENUCOPY_STRING             9000
 #define IDS_MENUMOVE_STRING             9001
@@ -602,16 +714,10 @@
 #define IDS_BDDIR_STRING                13034
 #define IDS_BDTREE_STRING               13035
 #define IDS_BDNDSCONTAINER_STRING       13036
-#define IDS_INFO_PATH_STRING            13037
-#define IDS_INFO_SIZE_STRING            13038
-#define IDS_INFO_MODIFIED_STRING        13039
-#define IDS_INFO_REASON_STRING          13040
-#define IDS_INFO_FILE_STRING            13041
 #define IDS_TITLECOPY_STRING            13500
 #define IDS_TITLEMOVE_STRING            13501
 #define IDS_TITLEUNKNOWNOPERATION_STRING 13502
 #define IDS_MAINBROWSETEXT_STRING       13503
-#define IDS_INFO_TWO_FILE_STRING        13504
 #define IDS_OK_STRING                   13505
 #define IDS_CANCEL_STRING               13506
 #define IDS_YES_STRING                  13507
@@ -646,7 +752,23 @@
 #define IDS_IMPORTERROR_STRING          15024
 #define IDS_ERROR_INITIALIZING_COMMON_CONTROLS 15025
 #define IDS_ERROR_INITIALIZING_RICH_EDIT_CONTROL 15026
-#define IDS_NERPATH_STRING              16500
+#define IDS_HDRRESULT_STRING            15027
+#define IDS_SOURCE_FILE_STRING          15028
+#define IDS_DESTINATION_FILE_STRING     15029
+#define IDS_HDROPERATION_STRING         15030
+#define IDS_HDRSYSTEMERROR_STRING       15031
+#define IDS_OPERATION_DELETEERROR       15032
+#define IDS_OPERATION_SEEKERROR         15033
+#define IDS_OPERATION_RESIZEERROR       15034
+#define IDS_OPERATION_READERROR         15035
+#define IDS_OPERATION_WRITEERROR        15036
+#define IDS_OPERATION_FINALIZEERROR     15037
+#define IDS_OPERATION_FASTMOVEERROR     15038
+#define IDS_OPERATION_CREATEERROR       15039
+#define IDS_OPERATION_CHECKFORFREESPACE 15040
+#define IDS_OPERATION_RETRIEVEFILEINFO  15041
+#define IDS_RULES_EMPTY_STRING          15042
+#define IDS_RULES_NON_EMPTY_STRING      15043
 #define IDS_DATECREATED_STRING          18000
 #define IDS_DATELASTWRITE_STRING        18001
 #define IDS_DATEACCESSED_STRING         18002
@@ -700,8 +822,9 @@
 #define IDS_EMPTYSUBTASKNAME_STRING     21554
 #define IDS_STATUS_LOADERROR_STRING     21555
 #define IDS_EXPORTING_TASK_FAILED       21556
-#define IDS_BUTTON_TRUNCATE_STRING      21557
 #define IDS_LOGFILEEMPTY_STRING         21558
+#define IDS_INVALID_FILTER_STRING       21559
+#define IDS_STATUS_EXCLUDE_EMPTY_DIRECTORIES_STRING 21560
 #define ID_POPUP_SHOW_STATUS            32773
 #define ID_POPUP_TIME_CRITICAL          32774
 #define ID_POPUP_HIGHEST                32775
@@ -722,15 +845,51 @@
 #define ID_POPUP_CHECKFORUPDATES        32816
 #define ID_POPUP_TOOLS                  32817
 #define ID_POPUP_RESET_APPLY_TO_ALL     32818
+#define ID_FEEDBACK_REPLACE_ALLEXISTINGFILES 32819
+#define ID_FEEDBACK_REPLACE_FILESWITHDIFFERENTDATESORSIZES 32820
+#define ID_FEEDBACK_REPLACE_OLDERFILESWITHNEWERVERSIONS 32821
+#define ID_FEEDBACK_REPLACE_NEWERFILESWITHOLDERVERSIONS 32822
+#define ID_FEEDBACK_SKIP_ALLEXISTINGDESTINATIONFILES 32823
+#define ID_FEEDBACK_SKIP_ALLFILESWITHSAMEDATESANDSIZES 32824
+#define ID_FEEDBACK_SKIP_FILESTHATAREOLDERTHANDESTINATION 32825
+#define ID_FEEDBACK_SKIP_FILESTHATARENEWERTHANDESTINATION 32826
+#define ID_FEEDBACK_RENAME_WHENDESTIONATIONFILEEXISTS 32827
+#define ID_FEEDBACK_RENAME_WHENDATEORSIZEDIFFERS 32828
+#define ID_FEEDBACK_RENAME_WHENDATEANDSZEARESAME 32829
+#define ID_FEEDBACK_RENAME_WHENNEWERTHANDESTINATION 32830
+#define ID_FEEDBACK_RENAME_WHENOLDERTHANDESTINATION 32831
+#define ID_FEEDBACK_RESUME_WHENFILEBIGGERTHANDESTINATION 32832
+#define ID_FEEDBACK_RETRY_WHEN_SAME_ERROR 32833
+#define ID_FEEDBACK_SKIP_WHEN_SAME_ERROR 32834
+#define ID_POPUP_FILTER_FILE_WILDCARD   32835
+#define ID_POPUP_FILTER_PATH_WILDCARD   32836
+#define ID_POPUP_FILTER_FILE_REGEX      32837
+#define ID_POPUP_FILTER_PATH_REGEX      32838
+#define ID_POPUP_FILTER_FILE_WILDCARD_EXAMPLE 32844
+#define ID_POPUP_FILTER_PATH_WILDCARD_EXAMPLE 32845
+#define ID_POPUP_FILTER_FILE_REGEX_EXAMPLE 32846
+#define ID_POPUP_FILTER_PATH_REGEX_EXAMPLE 32847
+#define ID_POPUP_FILTER_SEPARATOR_CHAR  32848
+#define ID_TASK_MENU_PAUSE              32856
+#define ID_TASK_MENU_RESUME             32857
+#define ID_TASK_MENU_RESTART            32858
+#define ID_TASK_MENU_CANCEL             32859
+#define ID_TASK_MENU_REMOVE             32860
+#define ID_TASK_MENU_RESET_FEEDBACK     32861
+#define ID_TASK_MENU_RESUME_ALL         32867
+#define ID_TASK_MENU_PAUSE_ALL          32868
+#define ID_TASK_MENU_RESTART_ALL        32869
+#define ID_TASK_MENU_CANCEL_ALL         32870
+#define ID_TASK_MENU_REMOVE_INACTIVE    32871
 
 // Next default values for new objects
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_3D_CONTROLS                     1
-#define _APS_NEXT_RESOURCE_VALUE        221
-#define _APS_NEXT_COMMAND_VALUE         32819
-#define _APS_NEXT_CONTROL_VALUE         1348
+#define _APS_NEXT_RESOURCE_VALUE        248
+#define _APS_NEXT_COMMAND_VALUE         32872
+#define _APS_NEXT_CONTROL_VALUE         1451
 #define _APS_NEXT_SYMED_VALUE           101
 #endif
 #endif