aboutsummaryrefslogtreecommitdiffstats
path: root/src/ephy-find-toolbar.c
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2005-06-03 21:42:34 +0800
committerChristian Persch <chpe@src.gnome.org>2005-06-03 21:42:34 +0800
commiteeac7e657d86802e904337ffef1bf5a0341a8cd0 (patch)
tree414d9a2cf8df822765357a4524283061b4c9d6dd /src/ephy-find-toolbar.c
parent822d2a28ff4c437e23043dc03adbb00ddde36e4d (diff)
downloadgsoc2013-epiphany-eeac7e657d86802e904337ffef1bf5a0341a8cd0.tar.gz
gsoc2013-epiphany-eeac7e657d86802e904337ffef1bf5a0341a8cd0.tar.zst
gsoc2013-epiphany-eeac7e657d86802e904337ffef1bf5a0341a8cd0.zip
Don't open search toolbar on / or ' over formfields:
2005-06-03 Christian Persch <chpe@cvs.gnome.org> Don't open search toolbar on / or ' over formfields: * embed/ephy-embed.c: (ephy_embed_base_init): * embed/ephy-embed.h: New signal for searchable key presses. * embed/mozilla/EventContext.cpp: * embed/mozilla/EventContext.h: Add static function to check if a keypress should be forwarded to the search toolbar. * embed/mozilla/mozilla-embed.cpp: Emit the signal here. * lib/ephy-marshal.list: * src/ephy-find-toolbar.c: (tab_search_key_press_cb), (ephy_find_toolbar_set_embed): Use the new signal instead of dom-key-press.
Diffstat (limited to 'src/ephy-find-toolbar.c')
-rw-r--r--src/ephy-find-toolbar.c42
1 files changed, 15 insertions, 27 deletions
diff --git a/src/ephy-find-toolbar.c b/src/ephy-find-toolbar.c
index 6de388c91..041a4f85c 100644
--- a/src/ephy-find-toolbar.c
+++ b/src/ephy-find-toolbar.c
@@ -154,71 +154,59 @@ send_focus_change (GtkWidget *widget,
* gtk_tree_view_real_start_interactive_seach()
*/
static gboolean
-tab_dom_key_press_cb (EphyEmbed *embed,
- gpointer dom_event,
- EphyFindToolbar *toolbar)
+tab_search_key_press_cb (EphyEmbed *embed,
+ GdkEventKey *event,
+ EphyFindToolbar *toolbar)
{
EphyFindToolbarPrivate *priv = toolbar->priv;
GtkWidget *widget = (GtkWidget *) toolbar;
GtkEntry *entry = (GtkEntry *) priv->entry;
GdkWindow *event_window;
- GdkEvent *event;
- GdkEventKey *event_key;
gboolean retval = FALSE;
guint oldhash, newhash;
+ g_return_val_if_fail (event != NULL, FALSE);
+
/* don't do anything in PPV mode */
if (ephy_window_get_is_print_preview (priv->window)) return FALSE;
- event = gtk_get_current_event ();
- if (event == NULL) return FALSE; /* shouldn't happen! */
-
- g_return_val_if_fail (GDK_KEY_PRESS == event->type, FALSE);
-
- event_key = (GdkEventKey *) event;
-
/* check for / and ' which open the find toolbar in text resp. link mode */
if (GTK_WIDGET_VISIBLE (widget) == FALSE)
{
- if (event_key->keyval == GDK_slash)
+ if (event->keyval == GDK_slash)
{
ephy_find_toolbar_open (toolbar, FALSE, TRUE);
- gdk_event_free (event);
return TRUE;
}
- else if (event_key->keyval == GDK_apostrophe)
+ else if (event->keyval == GDK_apostrophe)
{
ephy_find_toolbar_open (toolbar, TRUE, TRUE);
- gdk_event_free (event);
return TRUE;
}
}
/* don't do anything if the find toolbar is hidden */
if (GTK_WIDGET_VISIBLE (widget) == FALSE ||
- event_key->keyval == GDK_Return ||
- event_key->keyval == GDK_KP_Enter)
+ event->keyval == GDK_Return ||
+ event->keyval == GDK_KP_Enter)
{
- gdk_event_free (event);
return FALSE;
}
oldhash = g_str_hash (gtk_entry_get_text (entry));
- event_window = event_key->window;
- event_key->window = priv->entry->window;
+ event_window = event->window;
+ event->window = priv->entry->window;
/* Send the event to the window. If the preedit_changed signal is emitted
* during this event, we will set priv->imcontext_changed */
priv->preedit_changed = priv->activated = FALSE;
priv->prevent_activate = TRUE;
- retval = gtk_widget_event (priv->entry, event);
+ retval = gtk_widget_event (priv->entry, (GdkEvent*) event);
priv->prevent_activate = FALSE;
/* restore event window, else gdk_event_free below will crash */
- event_key->window = event_window;
-
- gdk_event_free (event);
+ event->window = event_window;
newhash = g_str_hash (gtk_entry_get_text (entry));
@@ -607,8 +595,8 @@ ephy_find_toolbar_set_embed (EphyFindToolbar *toolbar,
G_CALLBACK (tab_content_changed_cb),
toolbar, G_CONNECT_AFTER);
#ifdef HAVE_TYPEAHEADFIND
- g_signal_connect_object (embed, "dom-key-press",
- G_CALLBACK (tab_dom_key_press_cb),
+ g_signal_connect_object (embed, "ge-search-key-press",
+ G_CALLBACK (tab_search_key_press_cb),
toolbar, 0);
#endif