diff options
author | Claudio Saavedra <csaavedra@igalia.com> | 2012-09-07 15:17:08 +0800 |
---|---|---|
committer | Claudio Saavedra <csaavedra@igalia.com> | 2012-09-10 13:14:27 +0800 |
commit | c81e0a41799e891ae7cd73fb074af1956af6d9e0 (patch) | |
tree | 6a4503343013ef2aff72f09404d5d826e9cd3881 | |
parent | 399c91bc8724e0ca26370d7552b841c0669be87d (diff) | |
download | gsoc2013-epiphany-c81e0a41799e891ae7cd73fb074af1956af6d9e0.tar.gz gsoc2013-epiphany-c81e0a41799e891ae7cd73fb074af1956af6d9e0.tar.zst gsoc2013-epiphany-c81e0a41799e891ae7cd73fb074af1956af6d9e0.zip |
Use the new EphyHistoryService::urls-visited signal
Since both the frecent store and the history window don't need to be
updated immediately after a url is visited, we can use ::urls-visited
instead. The advantage of this is that we reduce considerably the load
when updating both models when loading many pages at the time,
specially during startup.
https://bugzilla.gnome.org/show_bug.cgi?id=683550
-rw-r--r-- | lib/widgets/ephy-frecent-store.c | 10 | ||||
-rw-r--r-- | src/ephy-history-window.c | 8 |
2 files changed, 7 insertions, 11 deletions
diff --git a/lib/widgets/ephy-frecent-store.c b/lib/widgets/ephy-frecent-store.c index bf3d9ec91..8ea1a489b 100644 --- a/lib/widgets/ephy-frecent-store.c +++ b/lib/widgets/ephy-frecent-store.c @@ -129,10 +129,8 @@ ephy_frecent_store_fetch_urls (EphyFrecentStore *store, } static gboolean -on_visit_url_cb (EphyHistoryService *service, - char *url, - EphyHistoryPageVisitType visit_type, - EphyFrecentStore *store) +on_urls_visited_cb (EphyHistoryService *service, + EphyFrecentStore *store) { ephy_frecent_store_fetch_urls (store, service); @@ -254,8 +252,8 @@ setup_history_service (EphyFrecentStore *store) ephy_frecent_store_fetch_urls (store, service); - g_signal_connect_after (service, "visit-url", - G_CALLBACK (on_visit_url_cb), store); + g_signal_connect (service, "urls-visited", + G_CALLBACK (on_urls_visited_cb), store); g_signal_connect (service, "cleared", G_CALLBACK (on_cleared_cb), store); g_signal_connect (service, "url-title-changed", diff --git a/src/ephy-history-window.c b/src/ephy-history-window.c index 7e42f7688..8b03b69b8 100644 --- a/src/ephy-history-window.c +++ b/src/ephy-history-window.c @@ -1098,10 +1098,8 @@ filter_now (EphyHistoryWindow *editor, } static gboolean -on_visit_url_cb (EphyHistoryService *service, - gchar *url, - EphyHistoryPageVisitType visit_type, - EphyHistoryWindow *editor) +on_urls_visited_cb (EphyHistoryService *service, + EphyHistoryWindow *editor) { filter_now (editor, TRUE, TRUE); @@ -1297,7 +1295,7 @@ ephy_history_window_constructed (GObject *object) filter_now (editor, TRUE, TRUE); g_signal_connect_after (editor->priv->history_service, - "visit-url", G_CALLBACK (on_visit_url_cb), + "urls-visited", G_CALLBACK (on_urls_visited_cb), editor); if (G_OBJECT_CLASS (ephy_history_window_parent_class)->constructed) |