From 62e449f37b227ca0c954f39249c5d22cbc2a42d4 Mon Sep 17 00:00:00 2001 From: Robert Fewell <14uBobIT@gmail.com> Date: Tue, 15 Nov 2016 11:09:43 +0000 Subject: [PATCH] Stop the progress bar changing height When the report is run and the progress bar is updated, the height changes and then changes back forcing the webkit view to change height and ultimately use the wrong value. --- src/gnome-utils/gnc-window.c | 2 +- src/gnome-utils/gnc-window.h | 1 + src/report/report-gnome/gnc-plugin-page-report.c | 12 ++++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/gnome-utils/gnc-window.c b/src/gnome-utils/gnc-window.c index 0d9dceb04e..c6549a08cb 100644 --- a/src/gnome-utils/gnc-window.c +++ b/src/gnome-utils/gnc-window.c @@ -88,7 +88,7 @@ gnc_window_get_statusbar (GncWindow *window) return GNC_WINDOW_GET_IFACE (window)->get_statusbar (window); } -static GtkWidget * +GtkWidget * gnc_window_get_progressbar (GncWindow *window) { g_return_val_if_fail(GNC_WINDOW (window), NULL); diff --git a/src/gnome-utils/gnc-window.h b/src/gnome-utils/gnc-window.h index 3e5f42de30..31731427df 100644 --- a/src/gnome-utils/gnc-window.h +++ b/src/gnome-utils/gnc-window.h @@ -76,6 +76,7 @@ void gnc_window_set_status (GncWindow *window, GncPluginPage *page, co void gnc_window_set_progressbar_window (GncWindow *window); GncWindow *gnc_window_get_progressbar_window (void); +GtkWidget *gnc_window_get_progressbar (GncWindow *window); void gnc_window_show_progress (const char *message, double percentage); G_END_DECLS diff --git a/src/report/report-gnome/gnc-plugin-page-report.c b/src/report/report-gnome/gnc-plugin-page-report.c index 253a5b2d7d..f99c5965e0 100644 --- a/src/report/report-gnome/gnc-plugin-page-report.c +++ b/src/report/report-gnome/gnc-plugin-page-report.c @@ -329,6 +329,8 @@ gnc_plugin_page_report_load_uri (GncPluginPage *page) { GncPluginPageReport *report; GncPluginPageReportPrivate *priv; + GtkWidget *progressbar; + GtkAllocation allocation; URLType type; char * id_name; char * child_name; @@ -348,9 +350,19 @@ gnc_plugin_page_report_load_uri (GncPluginPage *page) g_free(id_name); g_free(child_name); + + // this sets the window for the progressbar gnc_window_set_progressbar_window( GNC_WINDOW(page->window) ); + + progressbar = gnc_window_get_progressbar (GNC_WINDOW(page->window)); + gtk_widget_get_allocation (GTK_WIDGET(progressbar), &allocation); + + // this sets the minimum size of the progressbar to that allocated + gtk_widget_set_size_request (GTK_WIDGET(progressbar), -1, allocation.height); + gnc_html_show_url(priv->html, type, url_location, url_label, 0); g_free(url_location); + // this resets the window for the progressbar to NULL gnc_window_set_progressbar_window( NULL ); return FALSE;