Index: src/ch/ch.rc
===================================================================
diff -u -r53e3a91f9bcb2e26f758fc92e9856a69eba71a61 -r31be0106a2d78fd0ddcb735f5351658abe56dc48
--- src/ch/ch.rc	(.../ch.rc)	(revision 53e3a91f9bcb2e26f758fc92e9856a69eba71a61)
+++ src/ch/ch.rc	(.../ch.rc)	(revision 31be0106a2d78fd0ddcb735f5351658abe56dc48)
@@ -274,25 +274,26 @@
     EDITTEXT        IDC_FEEDBACK_RULES_SUMMARY_EDIT,13,254,255,14,ES_AUTOHSCROLL | WS_DISABLED
 END
 
-IDD_FILTER_DIALOG DIALOGEX 0, 0, 291, 266
+IDD_FILTER_DIALOG DIALOGEX 0, 0, 291, 267
 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
 CAPTION "Filtering settings"
 FONT 8, "Tahoma", 0, 0, 0x1
 BEGIN
-    CONTROL         "Include mask (separate by vertical lines ie. *.jpg|*.gif)",IDC_FILTER_CHECK,
-                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,277,10
-    COMBOBOX        IDC_FILTER_COMBO,15,19,269,98,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
-    CONTROL         "Exclude mask",IDC_EXCLUDEMASK_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,277,10
-    COMBOBOX        IDC_FILTEREXCLUDE_COMBO,15,48,269,170,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "Include files matching:",IDC_FILTER_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,277,10
+    COMBOBOX        IDC_FILTER_COMBO,15,19,249,98,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "...",IDC_INCLUDE_MASK_BUTTON,"MfcButton",WS_TABSTOP,267,19,17,12
+    CONTROL         "Exclude files matching:",IDC_EXCLUDEMASK_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,35,277,10
+    COMBOBOX        IDC_FILTEREXCLUDE_COMBO,15,48,249,170,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
+    CONTROL         "...",IDC_EXCLUDE_MASK_BUTTON,"MfcButton",WS_TABSTOP,267,48,17,12
     CONTROL         "Filtering by size",IDC_SIZE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,66,277,10
     COMBOBOX        IDC_SIZETYPE1_COMBO,63,81,34,140,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     EDITTEXT        IDC_SIZE1_EDIT,100,80,77,14,ES_AUTOHSCROLL
-    CONTROL         "Spin1",IDC_SIZE1_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,80,11,14
+    CONTROL         "Spin1",IDC_SIZE1_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,80,12,14
     COMBOBOX        IDC_SIZE1MULTI_COMBO,180,81,34,135,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     CONTROL         "and",IDC_SIZE2_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,101,32,10
     COMBOBOX        IDC_SIZETYPE2_COMBO,63,99,34,137,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     EDITTEXT        IDC_SIZE2_EDIT,100,98,77,14,ES_AUTOHSCROLL
-    CONTROL         "Spin1",IDC_SIZE2_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,98,11,14
+    CONTROL         "Spin1",IDC_SIZE2_SPIN,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,166,98,12,14
     COMBOBOX        IDC_SIZE2MULTI_COMBO,180,99,34,143,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
     CONTROL         "Filtering by date",IDC_DATE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,124,277,10
     COMBOBOX        IDC_DATETYPE_COMBO,32,138,151,133,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
@@ -315,7 +316,7 @@
     CONTROL         "Directory",IDC_DIRECTORY_CHECK,"Button",BS_AUTO3STATE | NOT WS_VISIBLE | WS_DISABLED | WS_TABSTOP,191,212,93,10
     DEFPUSHBUTTON   "&OK",IDOK,179,245,50,14
     PUSHBUTTON      "&Cancel",IDCANCEL,234,245,50,14
-    CONTROL         "",IDC_001_STATIC,"Static",SS_ETCHEDHORZ,7,238,276,1
+    CONTROL         "",IDC_001_STATIC,"Static",SS_ETCHEDHORZ,7,238,275,1
 END
 
 IDD_SHORTCUTEDIT_DIALOG DIALOGEX 0, 0, 325, 206
@@ -631,7 +632,7 @@
         LEFTMARGIN, 7
         RIGHTMARGIN, 284
         TOPMARGIN, 7
-        BOTTOMMARGIN, 259
+        BOTTOMMARGIN, 260
     END
 
     IDD_SHORTCUTEDIT_DIALOG, DIALOG
@@ -951,6 +952,26 @@
     END
 END
 
+IDR_FILTER_TYPE_MENU MENU
+BEGIN
+    POPUP "_FILTER_POPUP_"
+    BEGIN
+        MENUITEM "file:\twildcard match against filename", ID_POPUP_FILTER_FILE_WILDCARD
+        MENUITEM "file:*.jpg\tmatches all jpg files", ID_POPUP_FILTER_FILE_WILDCARD_EXAMPLE
+        MENUITEM SEPARATOR
+        MENUITEM "path:\twildcard match against full path", ID_POPUP_FILTER_PATH_WILDCARD
+        MENUITEM "path:D:\\images\\*\tmatches all files in D:\\images folder", ID_POPUP_FILTER_PATH_WILDCARD_EXAMPLE
+        MENUITEM SEPARATOR
+        MENUITEM "rfile:\tECMAScript regex match against filename", ID_POPUP_FILTER_FILE_REGEX
+        MENUITEM "rfile:[a-z][0-9]+\\.jpg\tmatches jpg files starting with letter and ending with digits", ID_POPUP_FILTER_FILE_REGEX_EXAMPLE
+        MENUITEM SEPARATOR
+        MENUITEM "rpath:\tECMAScript regex match against full path", ID_POPUP_FILTER_PATH_REGEX
+        MENUITEM "rpath:.*\\\\[0-9]+\\\\[^\\\\]+\tmatches all files in directories with all-digit name", ID_POPUP_FILTER_PATH_REGEX_EXAMPLE
+        MENUITEM SEPARATOR
+        MENUITEM ";\tfilter separator",         ID_POPUP_FILTER_SEPARATOR_CHAR
+    END
+END
+
 IDR_TASK_ADVANCED_MENU MENU
 BEGIN
     POPUP "_POPUP_"
@@ -1431,7 +1452,56 @@
     0
 END
 
+IDD_FILTER_DIALOG DLGINIT
+BEGIN
+    IDC_INCLUDE_MASK_BUTTON, 0x37c, 369, 0
+0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x535f, 0x7974, 0x656c, 0x343e, 
+0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x7453, 0x6c79, 0x3e65, 
+0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x415f, 0x7475, 0x736f, 0x7a69, 
+0x3e65, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x7542, 0x7474, 0x6e6f, 
+0x415f, 0x7475, 0x736f, 0x7a69, 0x3e65, 0x4d3c, 0x4346, 0x7542, 0x7474, 
+0x6e6f, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x4d2f, 0x4346, 0x7542, 
+0x7474, 0x6e6f, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x464d, 0x4243, 
+0x7475, 0x6f74, 0x5f6e, 0x7546, 0x6c6c, 0x6554, 0x7478, 0x6f54, 0x6c6f, 
+0x543e, 0x5552, 0x3c45, 0x4d2f, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x465f, 
+0x6c75, 0x546c, 0x7865, 0x5474, 0x6f6f, 0x3e6c, 0x4d3c, 0x4346, 0x7542, 
+0x7474, 0x6e6f, 0x435f, 0x7275, 0x6f73, 0x5472, 0x7079, 0x3e65, 0x3131, 
+0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x7543, 0x7372, 0x726f, 
+0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 
+0x6761, 0x5465, 0x7079, 0x3e65, 0x3c38, 0x4d2f, 0x4346, 0x7542, 0x7474, 
+0x6e6f, 0x495f, 0x616d, 0x6567, 0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 
+0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4f65, 0x546e, 0x706f, 0x463e, 
+0x4c41, 0x4553, 0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 
+0x6761, 0x4f65, 0x546e, 0x706f, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 
+0x5f6e, 0x6d49, 0x6761, 0x4f65, 0x526e, 0x6769, 0x7468, 0x463e, 0x4c41, 
+0x4553, 0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 
+0x4f65, 0x526e, 0x6769, 0x7468, "\076" 
+    IDC_EXCLUDE_MASK_BUTTON, 0x37c, 369, 0
+0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x535f, 0x7974, 0x656c, 0x343e, 
+0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x7453, 0x6c79, 0x3e65, 
+0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x415f, 0x7475, 0x736f, 0x7a69, 
+0x3e65, 0x4146, 0x534c, 0x3c45, 0x4d2f, 0x4346, 0x7542, 0x7474, 0x6e6f, 
+0x415f, 0x7475, 0x736f, 0x7a69, 0x3e65, 0x4d3c, 0x4346, 0x7542, 0x7474, 
+0x6e6f, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x4d2f, 0x4346, 0x7542, 
+0x7474, 0x6e6f, 0x545f, 0x6f6f, 0x746c, 0x7069, 0x3c3e, 0x464d, 0x4243, 
+0x7475, 0x6f74, 0x5f6e, 0x7546, 0x6c6c, 0x6554, 0x7478, 0x6f54, 0x6c6f, 
+0x543e, 0x5552, 0x3c45, 0x4d2f, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x465f, 
+0x6c75, 0x546c, 0x7865, 0x5474, 0x6f6f, 0x3e6c, 0x4d3c, 0x4346, 0x7542, 
+0x7474, 0x6e6f, 0x435f, 0x7275, 0x6f73, 0x5472, 0x7079, 0x3e65, 0x3131, 
+0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x7543, 0x7372, 0x726f, 
+0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 
+0x6761, 0x5465, 0x7079, 0x3e65, 0x3c38, 0x4d2f, 0x4346, 0x7542, 0x7474, 
+0x6e6f, 0x495f, 0x616d, 0x6567, 0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 
+0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4f65, 0x546e, 0x706f, 0x463e, 
+0x4c41, 0x4553, 0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 
+0x6761, 0x4f65, 0x546e, 0x706f, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 
+0x5f6e, 0x6d49, 0x6761, 0x4f65, 0x526e, 0x6769, 0x7468, 0x463e, 0x4c41, 
+0x4553, 0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 
+0x4f65, 0x526e, 0x6769, 0x7468, "\076" 
+    0
+END
 
+
 /////////////////////////////////////////////////////////////////////////////
 //
 // String Table