[gnome-control-center/wip/power] power: Don't use never, never scrolled windows



commit 973600207a91d439eeaeb979280fbb7df8ba180b
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Dec 12 06:28:09 2012 -0500

    power: Don't use never,never scrolled windows
    
    We can use frames for the visual grouping here, and not using
    scrolled windows avoids size allocation problems where we end
    up with clipped lists.

 panels/power/cc-power-panel.c |   52 ++++++++++++++++++++++------------------
 1 files changed, 29 insertions(+), 23 deletions(-)
---
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index 475bd37..962a533 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -1260,15 +1260,13 @@ add_power_saving_section (CcPowerPanel *self)
                                     update_separator_func,
                                     NULL, NULL);
 
-  box = gtk_scrolled_window_new (NULL, NULL);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (box),
-                                  GTK_POLICY_NEVER, GTK_POLICY_NEVER);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (box), GTK_SHADOW_IN);
+  box = gtk_frame_new (NULL);
+  gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_IN);
   gtk_widget_set_margin_left (box, 50);
   gtk_widget_set_margin_right (box, 50);
   gtk_widget_set_margin_bottom (box, 24);
   gtk_widget_show (box);
-  egg_list_box_add_to_scrolled (EGG_LIST_BOX (widget), GTK_SCROLLED_WINDOW (box));
+  gtk_container_add (GTK_CONTAINER (box), widget);
   gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
 
   priv->brightness_row = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 50);
@@ -1321,14 +1319,6 @@ add_power_saving_section (CcPowerPanel *self)
   gtk_size_group_add_widget (priv->row_sizegroup, box);
 
 #ifdef HAVE_NETWORK_MANAGER
-  priv->nm_client = nm_client_new ();
-  g_signal_connect (priv->nm_client, "notify",
-                    G_CALLBACK (nm_client_state_changed), self);
-  g_signal_connect (priv->nm_client, "device-added",
-                    G_CALLBACK (nm_device_changed), self);
-  g_signal_connect (priv->nm_client, "device-removed",
-                    G_CALLBACK (nm_device_changed), self);
-
   priv->wifi_row = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 50);
   label = gtk_label_new (_("_Wi-Fi"));
   gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
@@ -1347,6 +1337,14 @@ add_power_saving_section (CcPowerPanel *self)
   gtk_label_set_mnemonic_widget (GTK_LABEL (label), sw);
   gtk_container_add (GTK_CONTAINER (widget), box);
   gtk_size_group_add_widget (priv->row_sizegroup, box);
+
+  priv->nm_client = nm_client_new ();
+  g_signal_connect (priv->nm_client, "notify",
+                    G_CALLBACK (nm_client_state_changed), self);
+  g_signal_connect (priv->nm_client, "device-added",
+                    G_CALLBACK (nm_device_changed), self);
+  g_signal_connect (priv->nm_client, "device-removed",
+                    G_CALLBACK (nm_device_changed), self);
   nm_device_changed (priv->nm_client, NULL, self);
 
   g_signal_connect (G_OBJECT (priv->wifi_switch), "notify::active",
@@ -1537,15 +1535,13 @@ add_automatic_suspend_section (CcPowerPanel *self)
   g_signal_connect_swapped (widget, "child-activated",
                             G_CALLBACK (activate_child), self);
 
-  box = gtk_scrolled_window_new (NULL, NULL);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (box),
-                                  GTK_POLICY_NEVER, GTK_POLICY_NEVER);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (box), GTK_SHADOW_IN);
+  box = gtk_frame_new (NULL);
+  gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_IN);
   gtk_widget_set_margin_left (box, 50);
   gtk_widget_set_margin_right (box, 50);
   gtk_widget_set_margin_bottom (box, 24);
   gtk_widget_show (box);
-  egg_list_box_add_to_scrolled (EGG_LIST_BOX (widget), GTK_SCROLLED_WINDOW (box));
+  gtk_container_add (GTK_CONTAINER (box), widget);
   gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
 
   self->priv->automatic_suspend_row = box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 50);
@@ -1678,19 +1674,27 @@ add_battery_section (CcPowerPanel *self)
                               device_sort_func, NULL, NULL);
   gtk_widget_show (widget);
 
-  priv->battery_section = box = gtk_scrolled_window_new (NULL, NULL);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (box),
-                                  GTK_POLICY_NEVER, GTK_POLICY_NEVER);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (box), GTK_SHADOW_IN);
+  priv->battery_section = box = gtk_frame_new (NULL);
+  gtk_frame_set_shadow_type (GTK_FRAME (box), GTK_SHADOW_IN);
   gtk_widget_set_margin_left (box, 50);
   gtk_widget_set_margin_right (box, 50);
   gtk_widget_set_margin_top (box, 24);
   gtk_widget_set_margin_bottom (box, 24);
-  egg_list_box_add_to_scrolled (EGG_LIST_BOX (widget), GTK_SCROLLED_WINDOW (box));
+  gtk_container_add (GTK_CONTAINER (box), widget);
   gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, TRUE, 0);
   gtk_widget_show (box);
 }
 
+static gboolean
+grr (gpointer data)
+{
+  CcPowerPanel *self = data;
+
+  gtk_widget_queue_resize (GTK_WIDGET (self));
+
+  return G_SOURCE_REMOVE;
+}
+
 static void
 cc_power_panel_init (CcPowerPanel *self)
 {
@@ -1767,6 +1771,8 @@ cc_power_panel_init (CcPowerPanel *self)
   gtk_style_context_add_class (gtk_widget_get_style_context (gtk_widget_get_parent (widget)), "view");
   gtk_style_context_add_class (gtk_widget_get_style_context (gtk_widget_get_parent (widget)), "content-view");
   g_object_unref (widget);
+
+  g_idle_add (grr, self);
 }
 
 void



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]