diff options
-rw-r--r-- | widgets/misc/ChangeLog | 12 | ||||
-rw-r--r-- | widgets/misc/e-filter-bar.c | 15 | ||||
-rw-r--r-- | widgets/misc/e-search-bar.c | 2 |
3 files changed, 17 insertions, 12 deletions
diff --git a/widgets/misc/ChangeLog b/widgets/misc/ChangeLog index 83eccbf50b..20af292bd5 100644 --- a/widgets/misc/ChangeLog +++ b/widgets/misc/ChangeLog @@ -1,3 +1,15 @@ +2002-09-24 Not Zed <NotZed@Ximian.com> + + * e-search-bar.c (clear_search): Clear search by setting text to + "" and search to first search. + + * e-filter-bar.c (option_changed): Revert change of 2002-08-29 + below, always do advanced search if we have the advanced id. + Handle clear elsewhere. + (menubar_activated): If we get the advanced menu, set the advanced + option menu, and let that handle it, rather than doing it + ourselves. For #31060 & #29625. + 2002-09-22 Dan Winship <danw@ximian.com> * e-filter-bar.c: Fix some non-ANSI switch statements. diff --git a/widgets/misc/e-filter-bar.c b/widgets/misc/e-filter-bar.c index dfeabb221f..514abad6d9 100644 --- a/widgets/misc/e-filter-bar.c +++ b/widgets/misc/e-filter-bar.c @@ -113,7 +113,7 @@ rule_advanced_clicked (GtkWidget *dialog, int button, void *data) { EFilterBar *efb = data; FilterRule *rule; - + switch (button) { case 0: /* 'ok' */ case 1: @@ -178,7 +178,7 @@ static void menubar_activated (ESearchBar *esb, int id, void *data) { EFilterBar *efb = (EFilterBar *)esb; - + switch (id) { case E_FILTERBAR_EDIT_ID: if (!efb->save_dialogue) { @@ -231,7 +231,7 @@ menubar_activated (ESearchBar *esb, int id, void *data) d(printf("Save menu\n")); break; case E_FILTERBAR_ADVANCED_ID: - do_advanced (esb); + e_search_bar_set_item_id (esb, E_FILTERBAR_ADVANCED_ID); break; default: if (id >= efb->menu_base && id < efb->menu_base + efb->menu_rules->len) { @@ -267,14 +267,7 @@ option_changed (ESearchBar *esb, void *data) switch (id) { case E_FILTERBAR_ADVANCED_ID: - query = e_search_bar_get_text (esb); - if (query && *query) - do_advanced (esb); - else if (!efb->setquery) - /* clearing advanced search, reset because search may - * have rules not dependent on query text */ - e_search_bar_set_item_id (esb, 0); - g_free (query); + do_advanced(esb); break; default: if (id >= efb->option_base && id < efb->option_base + efb->option_rules->len) { diff --git a/widgets/misc/e-search-bar.c b/widgets/misc/e-search-bar.c index 12659d87da..6c95c4e585 100644 --- a/widgets/misc/e-search-bar.c +++ b/widgets/misc/e-search-bar.c @@ -103,7 +103,7 @@ static void clear_search (ESearchBar *esb) { e_search_bar_set_text (esb, ""); - emit_search_activated (esb); + e_search_bar_set_item_id (esb, 0); } /* Frees an array of subitem information */ |