From a5195e32ffa2fde29363cfcd6a2f654f7be78962 Mon Sep 17 00:00:00 2001 From: Jason Hearne-McGuiness Date: Wed, 4 Sep 2013 03:58:53 +0100 Subject: [PATCH 2/2] Ensured that PNG scrollable fram is hidden when not used. --- plugins/thunar-apr/thunar-apr-image-page.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/plugins/thunar-apr/thunar-apr-image-page.c b/plugins/thunar-apr/thunar-apr-image-page.c index cdc3b43..8f57df6 100644 --- a/plugins/thunar-apr/thunar-apr-image-page.c +++ b/plugins/thunar-apr/thunar-apr-image-page.c @@ -79,6 +79,7 @@ struct _ThunarAprImagePage GtkWidget *exif_labels[G_N_ELEMENTS (TAIP_EXIF)]; #endif #ifdef HAVE_PNG + GtkWidget *png_container; GtkWidget *png_labels[number_of_png_chunks]; #endif }; @@ -107,17 +108,16 @@ thunar_apr_image_page_init_png(ThunarAprImagePage *image_page, GtkWidget *table) void thunar_apr_image_page_init_png(ThunarAprImagePage *image_page, GtkWidget *table) { - GtkWidget *cont; GtkWidget *png_table; unsigned short n; - cont = gtk_scrolled_window_new (NULL, NULL); + image_page->png_container = gtk_scrolled_window_new (NULL, NULL); png_table = gtk_table_new (1, 1, FALSE); - gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(cont), png_table); + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(image_page->png_container), png_table); gtk_table_set_row_spacings (GTK_TABLE (png_table), 0); - gtk_table_attach (GTK_TABLE (table), cont, 0, 2, 3+G_N_ELEMENTS (TAIP_EXIF), 4+G_N_ELEMENTS (TAIP_EXIF), GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 3); - gtk_widget_show (cont); + gtk_table_attach (GTK_TABLE (table), image_page->png_container, 0, 2, 3+G_N_ELEMENTS (TAIP_EXIF), 4+G_N_ELEMENTS (TAIP_EXIF), GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 3); + gtk_widget_show (image_page->png_container); gtk_widget_show (png_table); /* add labels for the PNG info */ @@ -130,7 +130,6 @@ thunar_apr_image_page_init_png(ThunarAprImagePage *image_page, GtkWidget *table) gtk_label_set_line_wrap (GTK_LABEL (image_page->png_labels[n]), TRUE); gtk_label_set_line_wrap (GTK_LABEL (image_page->png_labels[n]), TRUE); gtk_label_set_line_wrap_mode (GTK_LABEL (image_page->png_labels[n]), PANGO_WRAP_WORD); -// TODO gtk_label_set_ellipsize (GTK_LABEL (image_page->png_labels[n]), PANGO_ELLIPSIZE_END); gtk_table_attach (GTK_TABLE (png_table), image_page->png_labels[n], 0, 1, n, n + 1, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 3); gtk_widget_show (image_page->png_labels[n]); } @@ -328,8 +327,7 @@ thunar_apr_image_page_file_changed (ThunarAprAbstractPage *abstract_page, #endif #ifdef HAVE_PNG /* hide all PNG labels (will be shown again if data is available) */ - for (n = 0; n < number_of_png_chunks; ++n) - gtk_widget_hide (image_page->png_labels[n]); + gtk_widget_hide (image_page->png_container); png_read_data=png_read_data_from_file(filename); if (G_LIKELY (png_read_data != NULL)) @@ -343,12 +341,11 @@ thunar_apr_image_page_file_changed (ThunarAprAbstractPage *abstract_page, if (G_LIKELY (png_chunks->data != NULL)) { gtk_label_set_text (GTK_LABEL (image_page->png_labels[n]), png_chunks->data); - /* show the label */ - gtk_widget_show (image_page->png_labels[n]); ++n; } } while (G_LIKELY ((png_chunks=png_read_data_next_item(png_chunks)) != NULL)); + gtk_widget_show (image_page->png_container); } png_read_data_free_ptr(png_read_data); } @@ -367,8 +364,7 @@ thunar_apr_image_page_file_changed (ThunarAprAbstractPage *abstract_page, #endif #ifdef HAVE_PNG /* hide all PNG labels */ - for (n = 0; n < number_of_png_chunks; ++n) - gtk_widget_hide (image_page->png_labels[n]); + gtk_widget_hide (image_page->png_container); #endif } } -- 1.8.1.5