Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/eggfindbar.c
diff options
context:
space:
mode:
authorNickolay V. Shmyrev <nshmyrev@src.gnome.org>2005-08-18 06:24:58 (GMT)
committer Nickolay V. Shmyrev <nshmyrev@src.gnome.org>2005-08-18 06:24:58 (GMT)
commit6b8fbfe2f3acb42e9dba650fcb1172c8aa02ba16 (patch)
treeaedf050248bd4cf979dad1bc3a35787f88693f6c /shell/eggfindbar.c
parent04d352880147cc5dc46439e7f54d11f7c2cdea1b (diff)
Fix sed expression for FreeBSD. Thanks to Joe Marcus Clark
* configure.ac: Fix sed expression for FreeBSD. Thanks to Joe Marcus Clark <marcus@freebsd.org> * shell/eggfindbar.c: (entry_activate_callback), (entry_changed_callback), (egg_find_bar_init), (egg_find_bar_set_search_string): Made findbar buttons unsensitive if there is no text in entry. Fix for the bug 313285.
Diffstat (limited to 'shell/eggfindbar.c')
-rw-r--r--shell/eggfindbar.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/shell/eggfindbar.c b/shell/eggfindbar.c
index 063a220..3a42ef6 100644
--- a/shell/eggfindbar.c
+++ b/shell/eggfindbar.c
@@ -236,7 +236,8 @@ entry_activate_callback (GtkEntry *entry,
/* We activate the "next" button here so we'll get a nice
animation */
- gtk_widget_activate (priv->next_button);
+ if (find_bar->priv->search_string != NULL)
+ gtk_widget_activate (priv->next_button);
}
static void
@@ -252,7 +253,7 @@ entry_changed_callback (GtkEntry *entry,
text = g_strdup (gtk_entry_get_text (entry));
egg_find_bar_set_search_string (find_bar, text);
-
+
g_free (text);
}
@@ -305,8 +306,11 @@ egg_find_bar_init (EggFindBar *find_bar)
priv->previous_button = gtk_button_new_with_mnemonic (_("_Previous"));
gtk_button_set_focus_on_click (GTK_BUTTON (priv->previous_button), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (priv->previous_button), FALSE);
+
priv->next_button = gtk_button_new_with_mnemonic (_("_Next"));
gtk_button_set_focus_on_click (GTK_BUTTON (priv->next_button), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (priv->next_button), FALSE);
image_back = gtk_image_new_from_stock (GTK_STOCK_GO_BACK,
GTK_ICON_SIZE_BUTTON);
@@ -583,6 +587,8 @@ egg_find_bar_set_search_string (EggFindBar *find_bar,
(old && search_string &&
strcmp (old, search_string) != 0))
{
+ gboolean not_empty;
+
priv->search_string = g_strdup (search_string);
g_free (old);
@@ -590,7 +596,12 @@ egg_find_bar_set_search_string (EggFindBar *find_bar,
priv->search_string ?
priv->search_string :
"");
-
+
+ not_empty = (search_string == NULL) ? FALSE : TRUE;
+
+ gtk_widget_set_sensitive (GTK_WIDGET (find_bar->priv->next_button), not_empty);
+ gtk_widget_set_sensitive (GTK_WIDGET (find_bar->priv->previous_button), not_empty);
+
g_object_notify (G_OBJECT (find_bar),
"search_string");
}