aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/eab-contact-display.c
diff options
context:
space:
mode:
authorDan Vrátil <dvratil@redhat.com>2012-05-03 16:14:37 +0800
committerDan Vrátil <dvratil@redhat.com>2012-05-03 16:14:37 +0800
commit96f9d7a159ebec6ff456f53cedb4beb338b8b3f6 (patch)
treef3fa2def0afcbf49d684086f47756650fc77fc48 /addressbook/gui/widgets/eab-contact-display.c
parentb91c6da187f51f6e2956f5d89b193f7004449360 (diff)
downloadgsoc2013-evolution-96f9d7a159ebec6ff456f53cedb4beb338b8b3f6.tar
gsoc2013-evolution-96f9d7a159ebec6ff456f53cedb4beb338b8b3f6.tar.gz
gsoc2013-evolution-96f9d7a159ebec6ff456f53cedb4beb338b8b3f6.tar.bz2
gsoc2013-evolution-96f9d7a159ebec6ff456f53cedb4beb338b8b3f6.tar.lz
gsoc2013-evolution-96f9d7a159ebec6ff456f53cedb4beb338b8b3f6.tar.xz
gsoc2013-evolution-96f9d7a159ebec6ff456f53cedb4beb338b8b3f6.tar.zst
gsoc2013-evolution-96f9d7a159ebec6ff456f53cedb4beb338b8b3f6.zip
Bug #674997 - Collapsing contact lists broken in Contacts preview
Diffstat (limited to 'addressbook/gui/widgets/eab-contact-display.c')
-rw-r--r--addressbook/gui/widgets/eab-contact-display.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/addressbook/gui/widgets/eab-contact-display.c b/addressbook/gui/widgets/eab-contact-display.c
index 2486fd72f1..9d4e4eda89 100644
--- a/addressbook/gui/widgets/eab-contact-display.c
+++ b/addressbook/gui/widgets/eab-contact-display.c
@@ -36,6 +36,8 @@
#include "e-util/e-file-request.h"
#include "e-util/e-stock-request.h"
+#include <webkit/webkit.h>
+
#ifdef WITH_CONTACT_MAPS
#include "widgets/misc/e-contact-map.h"
#endif
@@ -400,6 +402,23 @@ contact_display_object_requested (WebKitWebView *web_view,
#endif
static void
+contact_display_load_status_changed (WebKitWebView *web_view,
+ GParamSpec *pspec,
+ gpointer user_data)
+{
+ WebKitLoadStatus load_status;
+ WebKitDOMDocument *document;
+
+
+ load_status = webkit_web_view_get_load_status (web_view);
+ if (load_status != WEBKIT_LOAD_FINISHED)
+ return;
+
+ document = webkit_web_view_get_dom_document (web_view);
+ eab_contact_formatter_bind_dom (document);
+}
+
+static void
contact_display_update_actions (EWebView *web_view)
{
GtkActionGroup *action_group;
@@ -515,6 +534,8 @@ eab_contact_display_init (EABContactDisplay *display)
g_signal_connect (web_view, "create-plugin-widget",
G_CALLBACK (contact_display_object_requested), display);
#endif
+ g_signal_connect (web_view, "notify::load-status",
+ G_CALLBACK (contact_display_load_status_changed), NULL);
e_web_view_install_request_handler (E_WEB_VIEW (display), E_TYPE_FILE_REQUEST);
e_web_view_install_request_handler (E_WEB_VIEW (display), E_TYPE_STOCK_REQUEST);