]> granicus.if.org Git - neomutt/commitdiff
search by vfolder name in browser
authorKarel Zak <kzak@redhat.com>
Sat, 5 Oct 2013 18:34:57 +0000 (11:34 -0700)
committerRichard Russon <rich@flatcap.org>
Mon, 4 Apr 2016 15:30:07 +0000 (16:30 +0100)
Reported-by: Vladimir Marek <Vladimir.Marek@oracle.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
browser.c

index 99089eeb34773c668458e5df18dcb1e437d45df9..8a7dbad4dc1ec6955b3605fa1c1b365d17568cc3 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -603,6 +603,13 @@ static int select_file_search (MUTTMENU *menu, regex_t *re, int n)
   return (regexec (re, ((struct folder_file *) menu->data)[n].name, 0, NULL, 0));
 }
 
+#ifdef USE_NOTMUCH
+static int select_vfolder_search (MUTTMENU *menu, regex_t *re, int n)
+{
+  return (regexec (re, ((struct folder_file *) menu->data)[n].desc, 0, NULL, 0));
+}
+#endif
+
 static void folder_entry (char *s, size_t slen, MUTTMENU *menu, int num)
 {
   FOLDER folder;
@@ -797,19 +804,20 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, int *num
     goto bail;
   }
   menu = mutt_new_menu (MENU_FOLDER);
-#ifdef USE_NOTMUCH
-  if (flags & M_SEL_VFOLDER)
-    menu->make_entry = vfolder_entry;
-  else
-#endif
-    menu->make_entry = folder_entry;
-
   menu->search = select_file_search;
   menu->title = title;
   menu->data = state.entry;
   if (multiple)
     menu->tag = file_tag;
 
+#ifdef USE_NOTMUCH
+  if (flags & M_SEL_VFOLDER) {
+    menu->make_entry = vfolder_entry;
+    menu->search = select_vfolder_search;
+  } else
+#endif
+    menu->make_entry = folder_entry;
+
   menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_FOLDER,
     FolderHelp);