aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/misc/ChangeLog12
-rw-r--r--widgets/misc/e-filter-bar.c15
-rw-r--r--widgets/misc/e-search-bar.c2
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 */