summaryrefslogtreecommitdiff
path: root/src/eom-scroll-view.c
diff options
context:
space:
mode:
authorinfirit <[email protected]>2014-07-27 15:45:43 +0200
committerinfirit <[email protected]>2014-07-27 21:16:30 +0200
commitf9308d5f86250219e6bf35208e517780d2de2772 (patch)
treeb821c0ec823f8e6e936e554805be7b99c5152e4f /src/eom-scroll-view.c
parent77f6ed0e2a178b9934baee8b846cdd1cc88b2eab (diff)
downloadeom-f9308d5f86250219e6bf35208e517780d2de2772.tar.bz2
eom-f9308d5f86250219e6bf35208e517780d2de2772.tar.xz
Bind zoom multiplier to GSettings instead of setting it by hand
Based on eog commit 0cadaebd5c7561991eceaf3ed9af32f50e63b1e9 From Felix Riemann <[email protected]>
Diffstat (limited to 'src/eom-scroll-view.c')
-rw-r--r--src/eom-scroll-view.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/eom-scroll-view.c b/src/eom-scroll-view.c
index a7db63f..664d819 100644
--- a/src/eom-scroll-view.c
+++ b/src/eom-scroll-view.c
@@ -80,7 +80,8 @@ static GtkTargetEntry target_table[] = {
enum {
PROP_0,
PROP_USE_BG_COLOR,
- PROP_BACKGROUND_COLOR
+ PROP_BACKGROUND_COLOR,
+ PROP_ZOOM_MULTIPLIER
};
/* Private part of the EomScrollView structure */
@@ -2551,6 +2552,9 @@ eom_scroll_view_get_property (GObject *object, guint property_id,
//FIXME: This doesn't really handle the NULL color.
g_value_set_boxed (value, priv->background_color);
break;
+ case PROP_ZOOM_MULTIPLIER:
+ g_value_set_double (value, priv->zoom_multiplier);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
@@ -2578,6 +2582,9 @@ eom_scroll_view_set_property (GObject *object, guint property_id,
eom_scroll_view_set_background_color (view, color);
break;
}
+ case PROP_ZOOM_MULTIPLIER:
+ eom_scroll_view_set_zoom_multiplier (view, g_value_get_double (value));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
}
@@ -2615,6 +2622,12 @@ eom_scroll_view_class_init (EomScrollViewClass *klass)
g_param_spec_boolean ("use-background-color", NULL, NULL, FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_NAME));
+ g_object_class_install_property (
+ gobject_class, PROP_ZOOM_MULTIPLIER,
+ g_param_spec_double ("zoom-multiplier", NULL, NULL,
+ -G_MAXDOUBLE, G_MAXDOUBLE, 0.05,
+ G_PARAM_READWRITE | G_PARAM_STATIC_NAME));
+
view_signals [SIGNAL_ZOOM_CHANGED] =
g_signal_new ("zoom_changed",
EOM_TYPE_SCROLL_VIEW,
@@ -2854,4 +2867,6 @@ eom_scroll_view_set_zoom_multiplier (EomScrollView *view,
g_return_if_fail (EOM_IS_SCROLL_VIEW (view));
view->priv->zoom_multiplier = 1.0 + zoom_multiplier;
+
+ g_object_notify (G_OBJECT (view), "zoom-multiplier");
}