/*
* Claws Mail -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2012 Colin Leroy <colin@colino.net>
+ * Copyright (C) 1999-2013 Colin Leroy <colin@colino.net>
* and the Claws Mail team
*
* This program is free software; you can redistribute it and/or modify
}
do {
- gboolean active = g_strcmp0(quicksearch->request.matchstring, "");
+ gboolean active = quicksearch->request.matchstring != NULL
+ && g_strcmp0(quicksearch->request.matchstring, "");
advsearch_set(quicksearch->asearch, quicksearch->request.type,
quicksearch->request.matchstring);
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_wait(mainwindow_get_mainwindow());
+ 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, "");
}
{
GtkWidget *search_string_entry = quicksearch->search_string_entry;
+#if !GTK_CHECK_VERSION(2, 24, 0)
combobox_unset_popdown_strings(GTK_COMBO_BOX(search_string_entry));
-
if (prefs_common.summary_quicksearch_type == ADVANCED_SEARCH_EXTENDED)
combobox_set_popdown_strings(GTK_COMBO_BOX(search_string_entry),
quicksearch->extended_search_strings);
else
combobox_set_popdown_strings(GTK_COMBO_BOX(search_string_entry),
quicksearch->normal_search_strings);
+#else
+ combobox_unset_popdown_strings(GTK_COMBO_BOX_TEXT(search_string_entry));
+ if (prefs_common.summary_quicksearch_type == ADVANCED_SEARCH_EXTENDED)
+ combobox_set_popdown_strings(GTK_COMBO_BOX_TEXT(search_string_entry),
+ quicksearch->extended_search_strings);
+ else
+ combobox_set_popdown_strings(GTK_COMBO_BOX_TEXT(search_string_entry),
+ quicksearch->normal_search_strings);
+#endif
}
static void update_extended_buttons (QuickSearch *quicksearch)
*/
static gchar *search_descr_strings[] = {
"a", N_("all messages"),
- "ag #", N_("messages whose age is greater than #"),
- "al #", N_("messages whose age is less than #"),
+ "ag #", N_("messages whose age is greater than # days"),
+ "al #", N_("messages whose age is less than # days"),
+ "agh #", N_("messages whose age is greater than # hours"),
+ "alh #", N_("messages whose age is less than # hours"),
"b S", N_("messages which contain S in the message body"),
"B S", N_("messages which contain S in the whole message"),
"c S", N_("messages carbon-copied to S"),
"r", N_("messages which have been replied to"),
"R", N_("read messages"),
"s S", N_("messages which contain S in subject"),
- "se #", N_("messages whose score is equal to #"),
- "sg #", N_("messages whose score is greater than #"),
- "sl #", N_("messages whose score is lower than #"),
- "Se #", N_("messages whose size is equal to #"),
- "Sg #", N_("messages whose size is greater than #"),
- "Ss #", N_("messages whose size is smaller than #"),
+ "se #", N_("messages whose score is equal to # points"),
+ "sg #", N_("messages whose score is greater than # points"),
+ "sl #", N_("messages whose score is lower than # points"),
+ "Se #", N_("messages whose size is equal to # bytes"),
+ "Sg #", N_("messages whose size is greater than # bytes"),
+ "Ss #", N_("messages whose size is smaller than # bytes"),
"t S", N_("messages which have been sent to S"),
"tg S", N_("messages which tags contain S"),
"tagged",N_("messages which have tag(s)"),
static DescriptionWindow search_descr = {
NULL,
NULL,
+ FALSE,
2,
N_("Extended Search"),
N_("Extended Search allows the user to define criteria that messages must "
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);
};
static void quicksearch_error(gpointer data)
{
- alertpanel_error(_("Something went wrong during search. Please check you logs."));
+ alertpanel_error(_("Something went wrong during search. Please check your logs."));
}
QuickSearch *quicksearch_new()
gtk_widget_show(search_type);
+#if !GTK_CHECK_VERSION(2, 24, 0)
search_string_entry = gtk_combo_box_entry_new_text ();
+#else
+ search_string_entry = gtk_combo_box_text_new_with_entry ();
+#endif
gtk_combo_box_set_active(GTK_COMBO_BOX(search_string_entry), -1);
vbox = gtk_vbox_new(TRUE, 0);
quicksearch->extended_search_strings = NULL;
quicksearch_set_button(GTK_BUTTON(quicksearch->search_description), GTK_STOCK_INFO, _("_Information"));
- quicksearch_set_button(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT, _("_Edit"));
+ quicksearch_set_button(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT, _("E_dit"));
quicksearch_set_button(GTK_BUTTON(quicksearch->clear_search), GTK_STOCK_CLEAR, _("C_lear"));
update_extended_buttons(quicksearch);
case WIDE_LAYOUT:
case WIDE_MSGLIST_LAYOUT:
quicksearch_set_button(GTK_BUTTON(quicksearch->search_description), GTK_STOCK_INFO, _("_Information"));
- quicksearch_set_button(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT, _("_Edit"));
+ quicksearch_set_button(GTK_BUTTON(quicksearch->search_condition_expression), GTK_STOCK_EDIT, _("E_dit"));
quicksearch_set_button(GTK_BUTTON(quicksearch->clear_search), GTK_STOCK_CLEAR, _("C_lear"));
break;
case SMALL_LAYOUT:
#endif
} else {
gtk_widget_set_sensitive(quicksearch->clear_search, FALSE);
+#if !GTK_CHECK_VERSION(3, 0, 0)
if (colors_initialised) {
+#endif
gtk_widget_modify_base(
gtk_bin_get_child(GTK_BIN((quicksearch->search_string_entry))),
GTK_STATE_NORMAL, NULL);