=== modified file 'midori/midori-preferences.c' --- midori/midori-preferences.c 2014-02-22 14:06:19 +0000 +++ midori/midori-preferences.c 2014-08-20 21:47:46 +0000 @@ -160,6 +160,28 @@ } static void +midori_preferences_homepage_current_update_sentivity( + GtkWidget* preferences, + GtkWidget* entry, + GtkWidget* button) +{ + GtkWidget* browser = katze_object_get_object (preferences, "transient-for"); + gchar* uri = katze_object_get_string (browser, "uri"); + const gchar* entry_text = gtk_entry_get_text ((GtkEntry*)entry); + gboolean sensitive = strcmp(uri, entry_text) ? true : false; + gtk_widget_set_sensitive (button, sensitive); + g_free(uri); +} + +static void +midori_preferences_homepage_entry_changed_cb (GtkWidget* entry, + GtkWidget* button) +{ + GtkWidget* preferences = gtk_widget_get_toplevel (button); + midori_preferences_homepage_current_update_sentivity(preferences, entry, button); +} + +static void midori_preferences_homepage_current_clicked_cb (GtkWidget* button, MidoriWebSettings* settings) { @@ -325,6 +347,11 @@ #endif g_signal_connect (button, "clicked", G_CALLBACK (midori_preferences_homepage_current_clicked_cb), settings); + + midori_preferences_homepage_current_update_sentivity((GtkWidget*)preferences, entry, button); + g_signal_connect (entry, "changed", + G_CALLBACK (midori_preferences_homepage_entry_changed_cb), button); + SPANNED_ADD (button); } }