]> spindle.queued.net Git - midori/commitdiff
Actually require http(s):// in bookmark address
authorChristian Dywan <christian@twotoasts.de>
Mon, 21 Sep 2009 21:53:01 +0000 (23:53 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 21 Sep 2009 21:58:47 +0000 (23:58 +0200)
midori/midori-browser.c

index 720b18ba9fc4dc65facd33193cda7c746b039fd5..568a4aa5e70de879f11c298098c0e46eb310c451 100644 (file)
@@ -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);