diff options
author | Christian Dywan <christian.dywan@canonical.com> | 2013-07-07 14:25:55 +0200 |
---|---|---|
committer | Christian Dywan <christian.dywan@canonical.com> | 2013-07-07 14:25:55 +0200 |
commit | 8cf55ffb8703411c297d6b350313d091f137be3d (patch) | |
tree | 3a25867a1511e98c8bdbf26a93ab0f674995974e | |
parent | 0bfe9856f71b231220b0d3311fd75d65c6a254b1 (diff) | |
download | midori-8cf55ffb8703411c297d6b350313d091f137be3d.tar.gz |
Implement a default zoom level preference
-rw-r--r-- | katze/katze-utils.c | 16 | ||||
-rw-r--r-- | midori/midori-preferences.c | 6 | ||||
-rw-r--r-- | midori/midori-settings.vala | 2 | ||||
-rw-r--r-- | midori/midori-view.c | 3 | ||||
-rw-r--r-- | midori/midori-websettings.c | 9 |
5 files changed, 35 insertions, 1 deletions
diff --git a/katze/katze-utils.c b/katze/katze-utils.c index 39f65e81..6f9f4c77 100644 --- a/katze/katze-utils.c +++ b/katze/katze-utils.c @@ -705,6 +705,22 @@ katze_property_proxy (gpointer object, G_CALLBACK (proxy_widget_string_destroy_cb), object); g_free (notify_property); } + else if (type == G_TYPE_PARAM_DOUBLE) + { + gdouble value; + g_object_get (object, property, &value, NULL); + + widget = gtk_spin_button_new_with_range ( + G_PARAM_SPEC_DOUBLE (pspec)->minimum, + G_PARAM_SPEC_DOUBLE (pspec)->maximum, 1); + /* Keep it narrow, 5 + 2 digits are usually fine */ + gtk_entry_set_width_chars (GTK_ENTRY (widget), 5 + 2); + gtk_spin_button_set_digits (GTK_SPIN_BUTTON (widget), 2); + gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value); + gtk_spin_button_set_increments (GTK_SPIN_BUTTON (widget), 0.1, -0.1); + g_signal_connect (widget, "value-changed", + G_CALLBACK (proxy_spin_button_changed_cb), object); + } else if (type == G_TYPE_PARAM_FLOAT) { gfloat value; diff --git a/midori/midori-preferences.c b/midori/midori-preferences.c index 20fb1463..1425878b 100644 --- a/midori/midori-preferences.c +++ b/midori/midori-preferences.c @@ -403,6 +403,12 @@ midori_preferences_set_settings (MidoriPreferences* preferences, gtk_button_set_label (GTK_BUTTON (button), _("Allow scripts to open popups")); gtk_widget_set_tooltip_text (button, _("Whether scripts are allowed to open popup windows automatically")); SPANNED_ADD (button); + label = gtk_label_new (_("Default Zoom Level")); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + INDENTED_ADD (label); + button = katze_property_proxy (settings, "zoom-level", NULL); + gtk_widget_set_tooltip_text (button, _("Initial factor to enlarge newly opened tabs by")); + SPANNED_ADD (button); FRAME_NEW (NULL); button = gtk_label_new (_("Preferred languages")); diff --git a/midori/midori-settings.vala b/midori/midori-settings.vala index aa4e61da..3d60a357 100644 --- a/midori/midori-settings.vala +++ b/midori/midori-settings.vala @@ -119,6 +119,8 @@ namespace Midori { /* Since: 0.1.4 */ // [Deprecated (since = "0.4.7")] public bool find_while_typing { get; set; default = false; } + /* Since: 0.5.4 */ + public double zoom_level { get; set; default = 1.0; } public bool open_popups_in_tabs { get; set; default = true; } /* Since: 0.2.0 */ diff --git a/midori/midori-view.c b/midori/midori-view.c index 0faa703b..539f7c58 100644 --- a/midori/midori-view.c +++ b/midori/midori-view.c @@ -3280,6 +3280,7 @@ _midori_view_set_settings (MidoriView* view, MidoriWebSettings* settings) { gboolean zoom_text_and_images; + gdouble zoom_level; if (view->settings) g_signal_handlers_disconnect_by_func (view->settings, @@ -3294,6 +3295,7 @@ _midori_view_set_settings (MidoriView* view, G_CALLBACK (midori_view_settings_notify_cb), view); g_object_get (view->settings, + "zoom-level", &zoom_level, "zoom-text-and-images", &zoom_text_and_images, "close-buttons-on-tabs", &view->close_buttons_on_tabs, "open-new-pages-in", &view->open_new_pages_in, @@ -3305,6 +3307,7 @@ _midori_view_set_settings (MidoriView* view, webkit_web_view_set_full_content_zoom (WEBKIT_WEB_VIEW (view->web_view), zoom_text_and_images); #endif + midori_view_set_zoom_level (view, zoom_level); } /** diff --git a/midori/midori-websettings.c b/midori/midori-websettings.c index 5a4b9437..d7a8a172 100644 --- a/midori/midori-websettings.c +++ b/midori/midori-websettings.c @@ -1395,7 +1395,7 @@ midori_settings_new_full (gchar*** extensions) integer = g_key_file_get_integer (key_file, "settings", property, NULL); g_object_set (settings, property, integer, NULL); } - else if (type == G_TYPE_PARAM_FLOAT) + else if (type == G_TYPE_PARAM_FLOAT || type == G_TYPE_PARAM_DOUBLE) { number = g_key_file_get_double (key_file, "settings", property, NULL); g_object_set (settings, property, number, NULL); @@ -1504,6 +1504,13 @@ midori_settings_save_to_file (MidoriWebSettings* settings, if (integer != G_PARAM_SPEC_UINT (pspec)->default_value) g_key_file_set_integer (key_file, "settings", property, integer); } + else if (type == G_TYPE_PARAM_DOUBLE) + { + gdouble number; + g_object_get (settings, property, &number, NULL); + if (number != G_PARAM_SPEC_DOUBLE (pspec)->default_value) + g_key_file_set_double (key_file, "settings", property, number); + } else if (type == G_TYPE_PARAM_FLOAT) { gfloat number; |