diff options
-rw-r--r-- | src/eom-scroll-view.c | 23 | ||||
-rw-r--r-- | src/eom-scroll-view.h | 8 |
2 files changed, 30 insertions, 1 deletions
diff --git a/src/eom-scroll-view.c b/src/eom-scroll-view.c index 53fda38..fc87b5a 100644 --- a/src/eom-scroll-view.c +++ b/src/eom-scroll-view.c @@ -184,9 +184,12 @@ static void view_on_drag_data_get_cb (GtkWidget *widget, #define EOM_SCROLL_VIEW_GET_PRIVATE(object) \ (G_TYPE_INSTANCE_GET_PRIVATE ((object), EOM_TYPE_SCROLL_VIEW, EomScrollViewPrivate)) +#if GTK_CHECK_VERSION (3, 4, 0) +G_DEFINE_TYPE (EomScrollView, eom_scroll_view, GTK_TYPE_GRID) +#else G_DEFINE_TYPE (EomScrollView, eom_scroll_view, GTK_TYPE_TABLE) +#endif - /*=================================== widget size changing handler & util functions @@ -2535,6 +2538,18 @@ eom_scroll_view_init (EomScrollView *view) g_signal_connect (G_OBJECT (priv->display), "drag-begin", G_CALLBACK (view_on_drag_begin_cb), view); +#if GTK_CHECK_VERSION (3, 4, 0) + gtk_grid_attach (GTK_GRID (view), priv->display, + 0, 0, 1, 1); + gtk_widget_set_hexpand (priv->display, TRUE); + gtk_widget_set_vexpand (priv->display, TRUE); + gtk_grid_attach (GTK_GRID (view), priv->hbar, + 0, 1, 1, 1); + gtk_widget_set_hexpand (priv->hbar, TRUE); + gtk_grid_attach (GTK_GRID (view), priv->vbar, + 1, 0, 1, 1); + gtk_widget_set_vexpand (priv->vbar, TRUE); +#else gtk_table_attach (GTK_TABLE (view), priv->display, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, @@ -2549,6 +2564,7 @@ eom_scroll_view_init (EomScrollView *view) 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0); +#endif g_settings_bind (settings, EOM_CONF_VIEW_USE_BG_COLOR, view, "use-background-color", G_SETTINGS_BIND_DEFAULT); @@ -2869,9 +2885,14 @@ eom_scroll_view_new (void) widget = g_object_new (EOM_TYPE_SCROLL_VIEW, "can-focus", TRUE, +#if GTK_CHECK_VERSION (3, 4, 0) + "row-homogeneous", FALSE, + "column-homogeneous", FALSE, +#else "n_rows", 2, "n_columns", 2, "homogeneous", FALSE, +#endif NULL); diff --git a/src/eom-scroll-view.h b/src/eom-scroll-view.h index 7ed6181..24ad306 100644 --- a/src/eom-scroll-view.h +++ b/src/eom-scroll-view.h @@ -18,13 +18,21 @@ typedef struct _EomScrollViewPrivate EomScrollViewPrivate; struct _EomScrollView { +#if GTK_CHECK_VERSION (3, 4, 0) + GtkGrid base_instance; +#else GtkTable widget; +#endif EomScrollViewPrivate *priv; }; struct _EomScrollViewClass { +#if GTK_CHECK_VERSION (3, 4, 0) + GtkGridClass parent_class; +#else GtkTableClass parent_class; +#endif void (* zoom_changed) (EomScrollView *view, double zoom); }; |