Add a preference Show speed dial in new tabs

This commit is contained in:
Christian Dywan 2009-05-08 03:29:25 +02:00
parent 68bb3d2378
commit f60b8ab9b6
3 changed files with 36 additions and 3 deletions

View file

@ -420,7 +420,9 @@ midori_preferences_set_settings (MidoriPreferences* preferences,
} }
FILLED_ADD (hbox, 1, 2, 1, 2); FILLED_ADD (hbox, 1, 2, 1, 2);
button = katze_property_proxy (settings, "show-crash-dialog", NULL); 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")); FRAME_NEW (_("Transfers"));
TABLE_NEW (2, 2); TABLE_NEW (2, 2);
label = katze_property_label (settings, "download-folder"); label = katze_property_label (settings, "download-folder");

View file

@ -60,6 +60,7 @@ struct _MidoriView
GtkWidget* web_view; GtkWidget* web_view;
KatzeArray* news_feeds; KatzeArray* news_feeds;
gboolean speed_dial_in_new_tabs;
gchar* download_manager; gchar* download_manager;
gchar* news_aggregator; gchar* news_aggregator;
gboolean middle_click_opens_selection; gboolean middle_click_opens_selection;
@ -1612,6 +1613,7 @@ _midori_view_update_settings (MidoriView* view)
gboolean zoom_text_and_images; gboolean zoom_text_and_images;
g_object_get (view->settings, g_object_get (view->settings,
"speed-dial-in-new-tabs", &view->speed_dial_in_new_tabs,
"download-manager", &view->download_manager, "download-manager", &view->download_manager,
"news-aggregator", &view->news_aggregator, "news-aggregator", &view->news_aggregator,
"zoom-text-and-images", &zoom_text_and_images, "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_value_init (&value, pspec->value_type);
g_object_get_property (G_OBJECT (view->settings), name, &value); 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)); katze_assign (view->download_manager, g_value_dup_string (&value));
} }
@ -1903,7 +1909,7 @@ midori_view_set_uri (MidoriView* view,
if (!view->web_view) if (!view->web_view)
midori_view_construct_web_view (view); midori_view_construct_web_view (view);
if (!g_strcmp0 (uri, "")) if (view->speed_dial_in_new_tabs && !g_strcmp0 (uri, ""))
{ {
SoupServer* res_server; SoupServer* res_server;
guint port; guint port;

View file

@ -49,6 +49,7 @@ struct _MidoriWebSettings
MidoriStartup load_on_startup; MidoriStartup load_on_startup;
gchar* homepage; gchar* homepage;
gboolean show_crash_dialog; gboolean show_crash_dialog;
gboolean speed_dial_in_new_tabs;
gchar* download_folder; gchar* download_folder;
gboolean ask_for_destination_folder; gboolean ask_for_destination_folder;
gboolean notify_transfer_completed; gboolean notify_transfer_completed;
@ -121,6 +122,7 @@ enum
PROP_LOAD_ON_STARTUP, PROP_LOAD_ON_STARTUP,
PROP_HOMEPAGE, PROP_HOMEPAGE,
PROP_SHOW_CRASH_DIALOG, PROP_SHOW_CRASH_DIALOG,
PROP_SPEED_DIAL_IN_NEW_TABS,
PROP_DOWNLOAD_FOLDER, PROP_DOWNLOAD_FOLDER,
PROP_ASK_FOR_DESTINATION_FOLDER, PROP_ASK_FOR_DESTINATION_FOLDER,
PROP_NOTIFY_TRANSFER_COMPLETED, PROP_NOTIFY_TRANSFER_COMPLETED,
@ -571,6 +573,23 @@ midori_web_settings_class_init (MidoriWebSettingsClass* class)
TRUE, TRUE,
flags)); 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, g_object_class_install_property (gobject_class,
PROP_DOWNLOAD_FOLDER, PROP_DOWNLOAD_FOLDER,
g_param_spec_string ( g_param_spec_string (
@ -1119,6 +1138,9 @@ midori_web_settings_set_property (GObject* object,
case PROP_SHOW_CRASH_DIALOG: case PROP_SHOW_CRASH_DIALOG:
web_settings->show_crash_dialog = g_value_get_boolean (value); web_settings->show_crash_dialog = g_value_get_boolean (value);
break; 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: case PROP_DOWNLOAD_FOLDER:
katze_assign (web_settings->download_folder, g_value_dup_string (value)); katze_assign (web_settings->download_folder, g_value_dup_string (value));
break; break;
@ -1324,6 +1346,9 @@ midori_web_settings_get_property (GObject* object,
case PROP_SHOW_CRASH_DIALOG: case PROP_SHOW_CRASH_DIALOG:
g_value_set_boolean (value, web_settings->show_crash_dialog); g_value_set_boolean (value, web_settings->show_crash_dialog);
break; 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: case PROP_DOWNLOAD_FOLDER:
g_value_set_string (value, web_settings->download_folder); g_value_set_string (value, web_settings->download_folder);
break; break;