diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-10-20 13:43:05 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2006-10-20 13:43:05 (GMT) |
commit | e4c6a5befadd938a0e6e2f2014ee2a97232819bc (patch) | |
tree | 87cd1e2bf5b3649515fb1692a1dcb364522b22b0 /lib | |
parent | bb4085373ca82eaa31e40592995f8436cc1b2575 (diff) |
Add stop/reload buttons.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/src/sugar-browser.cpp | 28 | ||||
-rw-r--r-- | lib/src/sugar-browser.h | 1 |
2 files changed, 27 insertions, 2 deletions
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 { |