From b3817bfc522869952397a853cfaf4853366c27de Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Mon, 21 Sep 2009 23:53:01 +0200 Subject: [PATCH] Actually require http(s):// in bookmark address --- midori/midori-browser.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/midori/midori-browser.c b/midori/midori-browser.c index 720b18ba..568a4aa5 100644 --- a/midori/midori-browser.c +++ b/midori/midori-browser.c @@ -605,24 +605,14 @@ midori_view_notify_statusbar_text_cb (MidoriView* view, } } -static gboolean -midori_browser_edit_bookmark_uri_focus_in_cb (GtkEntry* entry, - GdkEventFocus* event, - GtkDialog* dialog) -{ - gtk_dialog_set_response_sensitive (dialog, GTK_RESPONSE_ACCEPT, TRUE); - return FALSE; -} - -static gboolean -midori_browser_edit_bookmark_uri_focus_out_cb (GtkEntry* entry, - GdkEventFocus* event, - GtkDialog* dialog) +static void +midori_browser_edit_bookmark_uri_changed_cb (GtkEntry* entry, + GtkDialog* dialog) { const gchar* uri = gtk_entry_get_text (entry); gtk_dialog_set_response_sensitive (dialog, GTK_RESPONSE_ACCEPT, - uri && g_strstr_len (uri, -1, "://")); - return FALSE; + uri && g_str_has_prefix (uri, "http://") + || g_str_has_prefix (uri, "https://")); } /* Private function, used by MidoriBookmarks and MidoriHistory */ @@ -718,10 +708,10 @@ midori_browser_edit_bookmark_dialog_new (MidoriBrowser* browser, entry_uri = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (entry_uri), TRUE); gtk_entry_set_text (GTK_ENTRY (entry_uri), katze_item_get_uri (bookmark)); - g_signal_connect (entry_uri, "focus-in-event", - G_CALLBACK (midori_browser_edit_bookmark_uri_focus_in_cb), dialog); - g_signal_connect (entry_uri, "focus-out-event", - G_CALLBACK (midori_browser_edit_bookmark_uri_focus_out_cb), dialog); + midori_browser_edit_bookmark_uri_changed_cb (GTK_ENTRY (entry_uri), + GTK_DIALOG (dialog)); + g_signal_connect (entry_uri, "changed", + G_CALLBACK (midori_browser_edit_bookmark_uri_changed_cb), dialog); gtk_box_pack_start (GTK_BOX (hbox), entry_uri, TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), hbox); gtk_widget_show_all (hbox);