Updating branch refs/heads/master
         to 8ba1f2388d63cd5b2cebc576c82d77de46037f21 (commit)
       from e5463a94f5451ec3c7225f8cb5d142da217b5bf0 (commit)

commit 8ba1f2388d63cd5b2cebc576c82d77de46037f21
Author: Harald Judt <h.j...@gmx.at>
Date:   Sun Jul 15 19:59:21 2012 +0200

    Try to make the forecast scrolled window a bit nicer.
    
    Relying on the automatic gtk widget size management, I was terribly
    unsuccessful producing a nice result. So in a new attempt, let's
    try to do the problematic stuff manually:
    
    * Use a fixed size of 150px for the forecast boxes.
      That makes the table look a bit more homogenous.
    
    * Use a fixed width for the scrolled window:
      - 650 pixel for monitor width <= 720
      - 700 pixel for anything bigger
    
    * Stuff the scrolled window into an event box to make it look more
      consistent with the scroll-less version.
    
    Because of the fixed width, some labels in the forecast boxes can
    now be cut off. If that's the case, we'll need to tweak/enlarge
    the forecast box width, it can't be that much off. I hope the
    current setting works for most translations, though.

 panel-plugin/weather-summary.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/panel-plugin/weather-summary.c b/panel-plugin/weather-summary.c
index d4d73ab..1122f46 100644
--- a/panel-plugin/weather-summary.c
+++ b/panel-plugin/weather-summary.c
@@ -508,6 +508,8 @@ make_forecast (xfceweather_data *data)
                     label = gtk_label_new(value);
                     gtk_box_pack_start(GTK_BOX(forecast_box), label, TRUE, 
TRUE, 0);
                     g_free(value);
+
+                    gtk_widget_set_size_request(GTK_WIDGET(forecast_box), 150, 
-1);
                 }
                 xml_time_free(fcdata);
             }
@@ -524,7 +526,7 @@ make_forecast (xfceweather_data *data)
 static GtkWidget *
 create_forecast_tab (xfceweather_data *data, GtkWidget *window)
 {
-    GtkWidget   *align, *hbox, *scrolled, *table;
+    GtkWidget   *ebox, *align, *hbox, *scrolled, *table;
     GdkWindow   *win;
     GdkScreen   *screen;
     GdkRectangle rect;
@@ -566,8 +568,14 @@ create_forecast_tab (xfceweather_data *data, GtkWidget 
*window)
         gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled), 
align);
         gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
                                        GTK_POLICY_AUTOMATIC, 
GTK_POLICY_AUTOMATIC);
-        gtk_widget_set_size_request(GTK_WIDGET(scrolled), 550, height_max);
-        return scrolled;
+        if (rect.width <= 720)
+            gtk_widget_set_size_request(GTK_WIDGET(scrolled), 650, height_max);
+        else
+            gtk_widget_set_size_request(GTK_WIDGET(scrolled), 700, height_max);
+        ebox = gtk_event_box_new();
+        gtk_event_box_set_visible_window(ebox, TRUE);
+        gtk_container_add(GTK_CONTAINER(ebox), GTK_WIDGET(scrolled));
+        return ebox;
     }
 }
 
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to