[gnome-control-center/wip/feborges/new-printers-panel: 2/2] printers: Set min-content-height on the scrolled window
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/feborges/new-printers-panel: 2/2] printers: Set min-content-height on the scrolled window
- Date: Wed, 25 Jan 2017 14:12:57 +0000 (UTC)
commit 05d6bc46808a4b448049362366185489ac687396
Author: Felipe Borges <felipeborges gnome org>
Date: Wed Jan 25 15:04:38 2017 +0100
printers: Set min-content-height on the scrolled window
Set a minimum content height of 490px for the panel when the
allocated height is smaller than 490px.
490 is an estimated value for the panels to properly fit on netbook
screens. See https://wiki.gnome.org/Design/SystemSettings#Notes
https://bugzilla.gnome.org/show_bug.cgi?id=767600
panels/printers/cc-printers-panel.c | 22 ++++++++++++++++++++++
panels/printers/printers.ui | 2 +-
2 files changed, 23 insertions(+), 1 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index ea71235..ab3f6a7 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -769,6 +769,24 @@ connection_test_cb (GObject *source_object,
}
static void
+on_content_size_changed (GtkWidget *widget,
+ GtkAllocation *allocation,
+ gpointer user_data)
+{
+ if (allocation->height > 490)
+ {
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget),
+ GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+ }
+ else
+ {
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget),
+ GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (widget), 490);
+ }
+}
+
+static void
cc_printers_panel_init (CcPrintersPanel *self)
{
CcPrintersPanelPrivate *priv;
@@ -831,6 +849,10 @@ cc_printers_panel_init (CcPrintersPanel *self)
/* connect signals */
widget = (GtkWidget*)
+ gtk_builder_get_object (priv->builder, "scrolled-window");
+ g_signal_connect (widget, "size-allocate", G_CALLBACK (on_content_size_changed), NULL);
+
+ widget = (GtkWidget*)
gtk_builder_get_object (priv->builder, "printer-add-button");
g_signal_connect (widget, "clicked", G_CALLBACK (printer_add_cb), self);
diff --git a/panels/printers/printers.ui b/panels/printers/printers.ui
index d65ae66..f00e2a5 100644
--- a/panels/printers/printers.ui
+++ b/panels/printers/printers.ui
@@ -44,7 +44,7 @@
</packing>
</child>
<child>
- <object class="GtkScrolledWindow">
+ <object class="GtkScrolledWindow" id="scrolled-window">
<property name="visible">True</property>
<child>
<object class="GtkBox" id="content">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]