gboolean running;
gboolean has_focus;
gboolean in_typing;
- guint press_timeout_id;
+ gint press_timeout_id;
GList *normal_search_strings;
GList *extended_search_strings;
gboolean quicksearch_run_on_folder(QuickSearch* quicksearch, FolderItem *folderItem, MsgInfoList **result)
{
if (quicksearch_has_sat_predicate(quicksearch)) {
+ gboolean was_running = quicksearch_is_running(quicksearch);
gboolean searchres;
+
+ if (!was_running)
+ quicksearch_set_running(quicksearch, TRUE);
+
main_window_cursor_wait(mainwindow_get_mainwindow());
searchres = advsearch_search_msgs_in_folders(quicksearch->asearch, result, folderItem, FALSE);
main_window_cursor_normal(mainwindow_get_mainwindow());
+
+ if (!was_running)
+ quicksearch_set_running(quicksearch, FALSE);
+
if (quicksearch->want_reexec) {
advsearch_set(quicksearch->asearch, quicksearch->request.type, "");
}
static void search_description_cb(GtkWidget *widget)
{
- search_descr.parent = mainwindow_get_mainwindow()->window;
+ search_descr.parent = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "description_window");
description_window_create(&search_descr);
};
g_list_append(
quicksearch->normal_search_strings,
g_strdup(strings->data));
- g_free(newstr);
- continue;
- }
-
- matcher_list = matcher_parser_get_cond(newstr, FALSE);
- g_free(newstr);
+ } else {
+ matcher_list = matcher_parser_get_cond(newstr, FALSE);
- if (matcher_list) {
- quicksearch->extended_search_strings =
- g_list_prepend(
- quicksearch->extended_search_strings,
- g_strdup(strings->data));
- matcherlist_free(matcher_list);
- } else
- quicksearch->normal_search_strings =
- g_list_prepend(
- quicksearch->normal_search_strings,
- g_strdup(strings->data));
+ if (matcher_list) {
+ quicksearch->extended_search_strings =
+ g_list_prepend(
+ quicksearch->extended_search_strings,
+ g_strdup(strings->data));
+ matcherlist_free(matcher_list);
+ } else
+ quicksearch->normal_search_strings =
+ g_list_prepend(
+ quicksearch->normal_search_strings,
+ g_strdup(strings->data));
+ }
}
+ g_free(newstr);
} while ((strings = g_list_next(strings)) != NULL);