[PATCH] Grow the spoke gradient image to fit the nav_area (#1035772).

Chris Lumens clumens at redhat.com
Fri Jan 10 22:21:44 UTC 2014


The nav_area might be taller than we expect on certain languages, like Kannada.
Because we were shrinking the nav_area to fit the size of the image, widgets
in the nav_area looked like they were spilling over.  Instead, we should force
the image to fit in however big GTK decides to make the nav_area.
---
 widgets/src/SpokeWindow.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/widgets/src/SpokeWindow.c b/widgets/src/SpokeWindow.c
index 6b87785..a214665 100644
--- a/widgets/src/SpokeWindow.c
+++ b/widgets/src/SpokeWindow.c
@@ -134,6 +134,7 @@ static void anaconda_spoke_window_init(AnacondaSpokeWindow *win) {
 }
 
 static void anaconda_spoke_window_realize(GtkWidget *widget, gpointer user_data) {
+    GtkWidget *nav_box;
     GtkAccelGroup *accel_group;
     GError *error;
     GdkPixbuf *pixbuf;
@@ -150,15 +151,15 @@ static void anaconda_spoke_window_realize(GtkWidget *widget, gpointer user_data)
      */
     error = NULL;
     file = g_strdup_printf("%s/pixmaps/anaconda_spoke_header.png", get_widgets_datadir());
-    pixbuf = gdk_pixbuf_new_from_file(file, &error);
+
+    nav_box = anaconda_base_window_get_nav_area_background_window(ANACONDA_BASE_WINDOW(window));
+    pixbuf = gdk_pixbuf_new_from_file_at_scale(file, -1, gdk_window_get_height(gtk_widget_get_window(nav_box)), FALSE, &error);
+
     g_free(file);
     if (!pixbuf) {
         fprintf(stderr, "could not load header background: %s\n", error->message);
         g_error_free(error);
     } else {
-        GtkWidget *nav_box = anaconda_base_window_get_nav_area_background_window(ANACONDA_BASE_WINDOW(window));
-        gtk_widget_set_size_request(nav_box, -1, gdk_pixbuf_get_height (pixbuf));
-
         surface = gdk_window_create_similar_surface(gtk_widget_get_window(nav_box), CAIRO_CONTENT_COLOR_ALPHA,
                                                     gdk_pixbuf_get_width(pixbuf), gdk_pixbuf_get_height(pixbuf));
         cr = cairo_create(surface);
-- 
1.8.3.1



More information about the anaconda-patches mailing list