diff --git a/midori/midori-preferences.c b/midori/midori-preferences.c index 32c9aaaa..88dc4801 100644 --- a/midori/midori-preferences.c +++ b/midori/midori-preferences.c @@ -420,7 +420,9 @@ midori_preferences_set_settings (MidoriPreferences* preferences, } FILLED_ADD (hbox, 1, 2, 1, 2); button = katze_property_proxy (settings, "show-crash-dialog", NULL); - SPANNED_ADD (button, 0, 2, 2, 3); + INDENTED_ADD (button, 0, 1, 2, 3); + button = katze_property_proxy (settings, "speed-dial-in-new-tabs", NULL); + INDENTED_ADD (button, 1, 2, 2, 3); FRAME_NEW (_("Transfers")); TABLE_NEW (2, 2); label = katze_property_label (settings, "download-folder"); diff --git a/midori/midori-view.c b/midori/midori-view.c index 1d33b49c..468ce66a 100644 --- a/midori/midori-view.c +++ b/midori/midori-view.c @@ -60,6 +60,7 @@ struct _MidoriView GtkWidget* web_view; KatzeArray* news_feeds; + gboolean speed_dial_in_new_tabs; gchar* download_manager; gchar* news_aggregator; gboolean middle_click_opens_selection; @@ -1612,6 +1613,7 @@ _midori_view_update_settings (MidoriView* view) gboolean zoom_text_and_images; g_object_get (view->settings, + "speed-dial-in-new-tabs", &view->speed_dial_in_new_tabs, "download-manager", &view->download_manager, "news-aggregator", &view->news_aggregator, "zoom-text-and-images", &zoom_text_and_images, @@ -1639,7 +1641,11 @@ midori_view_settings_notify_cb (MidoriWebSettings* settings, g_value_init (&value, pspec->value_type); g_object_get_property (G_OBJECT (view->settings), name, &value); - if (name == g_intern_string ("download-manager")) + if (name == g_intern_string ("speed-dial-in-new-tabs")) + { + view->speed_dial_in_new_tabs = g_value_get_boolean (&value); + } + else if (name == g_intern_string ("download-manager")) { katze_assign (view->download_manager, g_value_dup_string (&value)); } @@ -1903,7 +1909,7 @@ midori_view_set_uri (MidoriView* view, if (!view->web_view) midori_view_construct_web_view (view); - if (!g_strcmp0 (uri, "")) + if (view->speed_dial_in_new_tabs && !g_strcmp0 (uri, "")) { SoupServer* res_server; guint port; diff --git a/midori/midori-websettings.c b/midori/midori-websettings.c index 8681e2c0..63f10b62 100644 --- a/midori/midori-websettings.c +++ b/midori/midori-websettings.c @@ -49,6 +49,7 @@ struct _MidoriWebSettings MidoriStartup load_on_startup; gchar* homepage; gboolean show_crash_dialog; + gboolean speed_dial_in_new_tabs; gchar* download_folder; gboolean ask_for_destination_folder; gboolean notify_transfer_completed; @@ -121,6 +122,7 @@ enum PROP_LOAD_ON_STARTUP, PROP_HOMEPAGE, PROP_SHOW_CRASH_DIALOG, + PROP_SPEED_DIAL_IN_NEW_TABS, PROP_DOWNLOAD_FOLDER, PROP_ASK_FOR_DESTINATION_FOLDER, PROP_NOTIFY_TRANSFER_COMPLETED, @@ -571,6 +573,23 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class) TRUE, flags)); + /** + * MidoriWebSettings:speed-dial-in-new-tabs: + * + * Show a speed dial page in newly opened tabs. + * + * Since: 0.1.7 + */ + g_object_class_install_property (gobject_class, + PROP_SPEED_DIAL_IN_NEW_TABS, + g_param_spec_boolean ( + "speed-dial-in-new-tabs", + /* i18n: Speed dial, webpage shortcuts, named for the phone function */ + _("Show speed dial in new tabs"), + _("Show a speed dial page in newly opened tabs"), + TRUE, + flags)); + g_object_class_install_property (gobject_class, PROP_DOWNLOAD_FOLDER, g_param_spec_string ( @@ -1119,6 +1138,9 @@ midori_web_settings_set_property (GObject* object, case PROP_SHOW_CRASH_DIALOG: web_settings->show_crash_dialog = g_value_get_boolean (value); break; + case PROP_SPEED_DIAL_IN_NEW_TABS: + web_settings->speed_dial_in_new_tabs = g_value_get_boolean (value); + break; case PROP_DOWNLOAD_FOLDER: katze_assign (web_settings->download_folder, g_value_dup_string (value)); break; @@ -1324,6 +1346,9 @@ midori_web_settings_get_property (GObject* object, case PROP_SHOW_CRASH_DIALOG: g_value_set_boolean (value, web_settings->show_crash_dialog); break; + case PROP_SPEED_DIAL_IN_NEW_TABS: + g_value_set_boolean (value, web_settings->speed_dial_in_new_tabs); + break; case PROP_DOWNLOAD_FOLDER: g_value_set_string (value, web_settings->download_folder); break;