Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-view.c
diff options
context:
space:
mode:
authorNickolay V. Shmyrev <nshmyrev@src.gnome.org>2006-02-07 20:09:23 (GMT)
committer Nickolay V. Shmyrev <nshmyrev@src.gnome.org>2006-02-07 20:09:23 (GMT)
commitfb037eb2a0842976deddd8df6793ed642eea5674 (patch)
treeeea9b3cfac5128a4155fe126dd176924e4bd24f1 /shell/ev-view.c
parent054ff5d9ef9bf62da81c33550fc7eeb80071ba64 (diff)
Draw Loading message during xfer job. Fix for the bug #329495.
* shell/ev-view-private.h: * shell/ev-view.c: (ev_view_expose_event), (ev_view_set_loading), (ev_view_set_document): * shell/ev-view.h: * shell/ev-window.c: (ev_window_load_job_cb), (ev_window_xfer_job_cb), (ev_window_open_uri), (ev_window_dispose), (ev_window_init): Draw Loading message during xfer job. Fix for the bug #329495.
Diffstat (limited to 'shell/ev-view.c')
-rw-r--r--shell/ev-view.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/shell/ev-view.c b/shell/ev-view.c
index dae30b9..47c4eae 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -209,6 +209,9 @@ static void draw_one_page (EvView
GdkRectangle *page_area,
GtkBorder *border,
GdkRectangle *expose_area);
+static void draw_loading_text (EvView *view,
+ GdkRectangle *page_area,
+ GdkRectangle *expose_area);
/*** Callbacks ***/
static void find_changed_cb (EvDocument *document,
@@ -1619,6 +1622,12 @@ ev_view_expose_event (GtkWidget *widget,
EvView *view = EV_VIEW (widget);
int i;
+ if (view->loading) {
+ draw_loading_text (view,
+ &(widget->allocation),
+ &(event->area));
+ }
+
if (view->document == NULL)
return FALSE;
@@ -2690,11 +2699,21 @@ clear_caches (EvView *view)
}
void
+ev_view_set_loading (EvView *view,
+ gboolean loading)
+{
+ view->loading = loading;
+ gtk_widget_queue_draw (GTK_WIDGET (view));
+}
+
+void
ev_view_set_document (EvView *view,
EvDocument *document)
{
g_return_if_fail (EV_IS_VIEW (view));
+ view->loading = FALSE;
+
if (document != view->document) {
clear_caches (view);