| 84 gboolean (*activate)(PidginWebView *webview, const char *uri); |
84 gboolean (*activate)(PidginWebView *webview, const char *uri); |
| 85 gboolean (*context_menu)(PidginWebView *webview, WebKitDOMHTMLAnchorElement *link, GtkWidget *menu); |
85 gboolean (*context_menu)(PidginWebView *webview, WebKitDOMHTMLAnchorElement *link, GtkWidget *menu); |
| 86 } PidginWebViewProtocol; |
86 } PidginWebViewProtocol; |
| 87 |
87 |
| 88 struct _PidginWebViewSmiley { |
88 struct _PidginWebViewSmiley { |
| |
89 gint box_count; |
| 89 gchar *smile; |
90 gchar *smile; |
| 90 gchar *file; |
91 gchar *file; |
| 91 GdkPixbufAnimation *icon; |
92 GdkPixbufAnimation *icon; |
| 92 gboolean hidden; |
93 gboolean hidden; |
| 93 GdkPixbufLoader *loader; |
94 GdkPixbufLoader *loader; |
| 670 } else { |
671 } else { |
| 671 pidgin_webview_append_html(webview, smiley); |
672 pidgin_webview_append_html(webview, smiley); |
| 672 } |
673 } |
| 673 |
674 |
| 674 g_free(unescaped); |
675 g_free(unescaped); |
| |
676 } |
| |
677 |
| |
678 /************************************************************************** |
| |
679 * PidginWebViewSmiley GBoxed code |
| |
680 **************************************************************************/ |
| |
681 |
| |
682 static PidginWebViewSmiley * |
| |
683 pidgin_webview_smiley_ref(PidginWebViewSmiley *smiley) |
| |
684 { |
| |
685 g_return_val_if_fail(smiley != NULL, NULL); |
| |
686 |
| |
687 smiley->box_count++; |
| |
688 |
| |
689 return smiley; |
| |
690 } |
| |
691 |
| |
692 static void |
| |
693 pidgin_webview_smiley_unref(PidginWebViewSmiley *smiley) |
| |
694 { |
| |
695 g_return_if_fail(smiley != NULL); |
| |
696 g_return_if_fail(smiley->box_count >= 0); |
| |
697 |
| |
698 if (!smiley->box_count--) |
| |
699 pidgin_webview_smiley_destroy(smiley); |
| |
700 } |
| |
701 |
| |
702 GType |
| |
703 pidgin_webview_smiley_get_type(void) |
| |
704 { |
| |
705 static GType type = 0; |
| |
706 |
| |
707 if (type == 0) { |
| |
708 type = g_boxed_type_register_static("PidginWebViewSmiley", |
| |
709 (GBoxedCopyFunc)pidgin_webview_smiley_ref, |
| |
710 (GBoxedFreeFunc)pidgin_webview_smiley_unref); |
| |
711 } |
| |
712 |
| |
713 return type; |
| 675 } |
714 } |
| 676 |
715 |
| 677 /****************************************************************************** |
716 /****************************************************************************** |
| 678 * Helpers |
717 * Helpers |
| 679 *****************************************************************************/ |
718 *****************************************************************************/ |