From e4c6a5befadd938a0e6e2f2014ee2a97232819bc Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 20 Oct 2006 13:43:05 +0000 Subject: Add stop/reload buttons. --- (limited to 'lib') diff --git a/lib/src/sugar-browser.cpp b/lib/src/sugar-browser.cpp index 0032a2f..1ba45a0 100644 --- a/lib/src/sugar-browser.cpp +++ b/lib/src/sugar-browser.cpp @@ -33,7 +33,8 @@ enum { PROP_TITLE, PROP_ADDRESS, PROP_CAN_GO_BACK, - PROP_CAN_GO_FORWARD + PROP_CAN_GO_FORWARD, + PROP_LOADING }; void @@ -87,6 +88,9 @@ sugar_browser_get_property(GObject *object, case PROP_CAN_GO_FORWARD: g_value_set_boolean(value, browser->can_go_forward); break; + case PROP_LOADING: + g_value_set_boolean(value, browser->loading); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -135,6 +139,13 @@ sugar_browser_class_init(SugarBrowserClass *browser_class) "Can go forward", FALSE, G_PARAM_READABLE)); + + g_object_class_install_property (gobject_class, PROP_LOADING, + g_param_spec_boolean ("loading", + "Loading", + "Loading", + FALSE, + G_PARAM_READABLE)); } SugarBrowser * @@ -185,6 +196,15 @@ sugar_browser_set_progress(SugarBrowser *browser, float progress) } static void +sugar_browser_set_loading(SugarBrowser *browser, gboolean loading) +{ + g_return_if_fail(SUGAR_IS_BROWSER(browser)); + + browser->loading = loading; + g_object_notify (G_OBJECT(browser), "loading"); +} + +static void net_state_cb(GtkMozEmbed *embed, const char *aURI, gint state, guint status) { SugarBrowser *browser = SUGAR_BROWSER(embed); @@ -193,7 +213,11 @@ net_state_cb(GtkMozEmbed *embed, const char *aURI, gint state, guint status) if (state & GTK_MOZ_EMBED_FLAG_START) { browser->total_requests = 0; browser->current_requests = 0; - browser->progress = 0.0; + + sugar_browser_set_progress(browser, 0.0); + sugar_browser_set_loading(browser, TRUE); + } else if (state & GTK_MOZ_EMBED_FLAG_STOP) { + sugar_browser_set_loading(browser, FALSE); } } diff --git a/lib/src/sugar-browser.h b/lib/src/sugar-browser.h index 9ea2d6c..a978bf1 100644 --- a/lib/src/sugar-browser.h +++ b/lib/src/sugar-browser.h @@ -44,6 +44,7 @@ struct _SugarBrowser { char *title; gboolean can_go_back; gboolean can_go_forward; + gboolean loading; }; struct _SugarBrowserClass { -- cgit v0.9.1