From 7c109a78346291ed8289c133043067694dd3ba19 Mon Sep 17 00:00:00 2001 From: Mohammed Sadiq Date: Thu, 25 Jul 2019 10:26:12 +0530 Subject: [PATCH] web-view: Set minimum and natural size So that the parent window can resize into smaller size on smaller screens --- src/goabackend/goawebview.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/goabackend/goawebview.c b/src/goabackend/goawebview.c index 8d1a55cf..d59e0740 100644 --- a/src/goabackend/goawebview.c +++ b/src/goabackend/goawebview.c @@ -31,6 +31,12 @@ #include "goawebview.h" #include "nautilus-floating-bar.h" +#define GOA_WEB_VIEW_MINIMUM_HEIGHT 300 +#define GOA_WEB_VIEW_NATURAL_HEIGHT 400 + +#define GOA_WEB_VIEW_MINIMUM_WIDTH 300 +#define GOA_WEB_VIEW_NATURAL_WIDTH 500 + struct _GoaWebView { GtkOverlay parent_instance; @@ -298,7 +304,6 @@ goa_web_view_constructed (GObject *object) "user-content-manager", self->user_content_manager, "web-context", self->context, NULL)); - gtk_widget_set_size_request (self->web_view, 500, 400); gtk_container_add (GTK_CONTAINER (self), self->web_view); #ifdef GOA_INSPECTOR_ENABLED @@ -405,6 +410,28 @@ goa_web_view_set_property (GObject *object, guint prop_id, const GValue *value, } } +static void +goa_web_view_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + if (minimum) + *minimum = GOA_WEB_VIEW_MINIMUM_HEIGHT; + if (natural) + *natural = GOA_WEB_VIEW_NATURAL_HEIGHT; +} + +static void +goa_web_view_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + if (minimum) + *minimum = GOA_WEB_VIEW_MINIMUM_WIDTH; + if (natural) + *natural = GOA_WEB_VIEW_NATURAL_WIDTH; +} + static void goa_web_view_init (GoaWebView *self) { @@ -414,12 +441,16 @@ static void goa_web_view_class_init (GoaWebViewClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); object_class->constructed = goa_web_view_constructed; object_class->dispose = goa_web_view_dispose; object_class->finalize = goa_web_view_finalize; object_class->set_property = goa_web_view_set_property; + widget_class->get_preferred_height = goa_web_view_get_preferred_height; + widget_class->get_preferred_width = goa_web_view_get_preferred_width; + g_object_class_install_property (object_class, PROP_EXISTING_IDENTITY, g_param_spec_string ("existing-identity", -- GitLab