--- a/pidgin/gtkblist.c Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/gtkblist.c Fri Jan 31 20:11:34 2014 +0530
@@ -50,7 +50,6 @@
@@ -5042,24 +5041,9 @@
gtk_blist_window_key_press_cb(GtkWidget *w, GdkEventKey *event, PidginBuddyList *gtkblist)
pidgin_blist_tooltip_destroy();
- widget = gtk_window_get_focus(GTK_WINDOW(gtkblist->window));
- if (GTK_IS_IMHTML(widget) || GTK_IS_ENTRY(widget)) {
-#if GTK_CHECK_VERSION(3,0,0)
- if (gtk_bindings_activate(G_OBJECT(widget), event->keyval, event->state))
- if (gtk_bindings_activate(GTK_OBJECT(widget), event->keyval, event->state))
--- a/pidgin/plugins/disco/xmppdisco.c Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/disco/xmppdisco.c Fri Jan 31 20:11:34 2014 +0530
@@ -44,7 +44,6 @@
--- a/pidgin/plugins/history.c Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/history.c Fri Jan 31 20:11:34 2014 +0530
@@ -14,7 +14,6 @@
--- a/pidgin/plugins/perl/Makefile.am Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/perl/Makefile.am Fri Jan 31 20:11:34 2014 +0530
@@ -9,8 +9,6 @@
- common/GtkIMHtmlToolbar.xs \
--- a/pidgin/plugins/perl/common/GtkIMHtml.xs Fri Jan 31 20:02:40 2014 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-/* This can't work at the moment since I don't have a typemap for
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtml_insert_html_at_iter(imhtml, text, options, iter)
- Pidgin::IMHtml::Options options
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtml_delete(imhtml, start, end)
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtml_insert_link(imhtml, mark, url, text)
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtml_insert_smiley_at_iter(imhtml, sml, smiley, iter)
-gtk_imhtml_insert_image_at_iter(imhtml, id, iter)
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtml_get_markup_range(imhtml, start, end)
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtml_get_text(imhtml, start, end)
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtml_hr_add_to(scale, imhtml, iter)
- Pidgin::IMHtml::Scalable scale
-/* This can't work at the moment since I don't have a typemap for gboolean *.
-gtk_imhtml_get_current_format(imhtml, bold, italic, underline)
-MODULE = Pidgin::IMHtml PACKAGE = Pidgin::IMHtml PREFIX = gtk_imhtml_
-gtk_imhtml_smiley_get(imhtml, sml, text)
-gtk_imhtml_associate_smiley(imhtml, sml, smiley)
- Pidgin::IMHtml::Smiley smiley
-gtk_imhtml_remove_smileys(imhtml)
-gtk_imhtml_set_funcs(imhtml, f)
- Pidgin::IMHtml::Funcs f
-gtk_imhtml_show_comments(imhtml, show)
-gtk_imhtml_get_protocol_name(imhtml)
-gtk_imhtml_set_protocol_name(imhtml, protocol_name)
- const gchar * protocol_name
-gtk_imhtml_append_text(imhtml, text, options)
- Pidgin::IMHtml::Options options
-gtk_imhtml_append_text_with_images(imhtml, text, options, unused = NULL)
- Pidgin::IMHtml::Options options
- t_len = av_len((AV *)SvRV(unused));
- for (i = 0; i <= t_len; i++) {
- t_GL = g_slist_append(t_GL, SvPV(*av_fetch((AV *)SvRV(unused), i, 0), t_sl));
- gtk_imhtml_append_text_with_images(imhtml, text, options, t_GL);
-gtk_imhtml_scroll_to_end(imhtml, smooth)
-gtk_imhtml_clear(imhtml)
-gtk_imhtml_page_up(imhtml)
-gtk_imhtml_page_down(imhtml)
-gtk_imhtml_set_editable(imhtml, editable)
-gtk_imhtml_set_whole_buffer_formatting_only(imhtml, wbo)
-gtk_imhtml_set_format_functions(imhtml, buttons)
- Pidgin::IMHtml::Buttons buttons
-gtk_imhtml_get_format_functions(imhtml)
-gtk_imhtml_get_current_fontface(imhtml)
-gtk_imhtml_get_current_forecolor(imhtml)
-gtk_imhtml_get_current_backcolor(imhtml)
-gtk_imhtml_get_current_background(imhtml)
-gtk_imhtml_get_current_fontsize(imhtml)
-gtk_imhtml_get_editable(imhtml)
-gtk_imhtml_clear_formatting(imhtml)
-gtk_imhtml_toggle_bold(imhtml)
-gtk_imhtml_toggle_italic(imhtml)
-gtk_imhtml_toggle_underline(imhtml)
-gtk_imhtml_toggle_strike(imhtml)
-gtk_imhtml_toggle_forecolor(imhtml, color)
-gtk_imhtml_toggle_backcolor(imhtml, color)
-gtk_imhtml_toggle_background(imhtml, color)
-gtk_imhtml_toggle_fontface(imhtml, face)
-gtk_imhtml_toggle_link(imhtml, url)
-gtk_imhtml_insert_smiley(imhtml, sml, smiley)
-gtk_imhtml_font_set_size(imhtml, size)
-gtk_imhtml_font_shrink(imhtml)
-gtk_imhtml_font_grow(imhtml)
-gtk_imhtml_get_markup(imhtml)
-# /* ETAN Test this, and document well that it returns an arrayref */
-gtk_imhtml_get_markup_lines(imhtml)
- bufs = gtk_imhtml_get_markup_lines(imhtml);
- for (i = 0; bufs[i] != NULL; i++) {
- av_push(lines, newSVpv(bufs[i], 0));
- XPUSHs(sv_2mortal(newRV_noinc((SV *)lines)));
-MODULE = Pidgin::IMHtml PACKAGE = Pidgin::IMHtml::Hr PREFIX = gtk_imhtml_hr_
-Pidgin::IMHtml::Scalable
-gtk_imhtml_hr_free(scale)
- Pidgin::IMHtml::Scalable scale
-gtk_imhtml_hr_scale(scale, width, height)
- Pidgin::IMHtml::Scalable scale
-MODULE = Pidgin::IMHtml PACKAGE = Pidgin::IMHtml::Search PREFIX = gtk_imhtml_search_
-gtk_imhtml_search_find(imhtml, text)
-gtk_imhtml_search_clear(imhtml)
--- a/pidgin/plugins/perl/common/GtkIMHtmlToolbar.xs Fri Jan 31 20:02:40 2014 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/* This can't work at the moment since I don't have a typemap for Gtk::Widget.
- * I thought about using the one from libgtk2-perl but wasn't sure how to go
-gtk_imhtmltoolbar_attach(toolbar, imhtml)
- Pidgin::IMHtmlToolbar toolbar
-MODULE = Pidgin::IMHtmlToolbar PACKAGE = Pidgin::IMHtmlToolbar PREFIX = gtk_imhtmltoolbar_
-gtk_imhtmltoolbar_associate_smileys(toolbar, proto_id)
- Pidgin::IMHtmlToolbar toolbar
--- a/pidgin/plugins/perl/common/GtkThemes.xs Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/perl/common/GtkThemes.xs Fri Jan 31 20:11:34 2014 +0530
@@ -17,12 +17,14 @@
-pidgin_themes_get_proto_smileys(id)
- for (l = pidgin_themes_get_proto_smileys(id); l != NULL; l = l->next) {
- XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Pidgin::IMHtml::Smiley")));
+# We are dropping IMHtml, so this one should be converted to non-IMHtml +#pidgin_themes_get_proto_smileys(id) +# for (l = pidgin_themes_get_proto_smileys(id); l != NULL; l = l->next) { +# XPUSHs(sv_2mortal(purple_perl_bless_object(l->data, "Pidgin::IMHtml::Smiley"))); --- a/pidgin/plugins/perl/common/MANIFEST Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/perl/common/MANIFEST Fri Jan 31 20:11:34 2014 +0530
@@ -6,8 +6,6 @@
--- a/pidgin/plugins/perl/common/Makefile.mingw Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/perl/common/Makefile.mingw Fri Jan 31 20:11:34 2014 +0530
@@ -55,8 +55,6 @@
--- a/pidgin/plugins/perl/common/Pidgin.xs Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/perl/common/Pidgin.xs Fri Jan 31 20:11:34 2014 +0530
@@ -14,8 +14,6 @@
PIDGIN_PERL_BOOT_PROTO(Conversation__Window);
PIDGIN_PERL_BOOT_PROTO(Debug);
PIDGIN_PERL_BOOT_PROTO(Dialogs);
-PIDGIN_PERL_BOOT_PROTO(IMHtml);
-PIDGIN_PERL_BOOT_PROTO(IMHtmlToolbar);
PIDGIN_PERL_BOOT_PROTO(Log);
PIDGIN_PERL_BOOT_PROTO(MenuTray);
PIDGIN_PERL_BOOT_PROTO(Plugin);
@@ -45,8 +43,6 @@
PIDGIN_PERL_BOOT(Conversation__Window);
PIDGIN_PERL_BOOT(Dialogs);
- PIDGIN_PERL_BOOT(IMHtml);
- PIDGIN_PERL_BOOT(IMHtmlToolbar);
PIDGIN_PERL_BOOT(MenuTray);
PIDGIN_PERL_BOOT(Plugin);
--- a/pidgin/plugins/perl/common/gtkmodule.h Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/perl/common/gtkmodule.h Fri Jan 31 20:11:34 2014 +0530
@@ -27,8 +27,6 @@
-#include "gtkimhtmltoolbar.h"
@@ -62,17 +60,6 @@
typedef PidginXferDialog * Pidgin__Xfer__Dialog;
-typedef GtkIMHtml * Pidgin__IMHtml;
-typedef GtkIMHtmlButtons Pidgin__IMHtml__Buttons;
-typedef GtkIMHtmlFuncs * Pidgin__IMHtml__Funcs;
-typedef GtkIMHtmlScalable * Pidgin__IMHtml__Scalable;
-typedef GtkIMHtmlSmiley * Pidgin__IMHtml__Smiley;
-typedef GtkIMHtmlOptions Pidgin__IMHtml__Options;
-/* gtkimhtmltoolbar.h */
-typedef GtkIMHtmlToolbar * Pidgin__IMHtmlToolbar;
typedef PidginMenuTray * Pidgin__MenuTray;
--- a/pidgin/plugins/perl/common/typemap Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/perl/common/typemap Fri Jan 31 20:11:34 2014 +0530
@@ -7,13 +7,6 @@
Pidgin::Conversation::PlacementFunc T_PurpleObj
Pidgin::Conversation::Window T_PurpleObj
Pidgin::Xfer::Dialog T_PurpleObj
-Pidgin::IMHtml T_PurpleObj
-Pidgin::IMHtml::Buttons T_IV
-Pidgin::IMHtml::Funcs T_PurpleObj
-Pidgin::IMHtml::Scalable T_PurpleObj
-Pidgin::IMHtml::Smiley T_PurpleObj
-Pidgin::IMHtml::Options T_IV
-Pidgin::IMHtmlToolbar T_PurpleObj
Pidgin::MenuTray T_PurpleObj
Pidgin::StatusBox T_PurpleObj
--- a/pidgin/plugins/xmppconsole.c Fri Jan 31 20:02:40 2014 +0530
+++ b/pidgin/plugins/xmppconsole.c Fri Jan 31 20:11:34 2014 +0530
@@ -25,7 +25,6 @@
@@ -48,6 +47,10 @@
XmppConsole *console = NULL;
static void *xmpp_console_handle = NULL;
+static const gchar *xmpp_prpls[] = { + "prpl-jabber", "prpl-gtalk", "prpl-facebook-xmpp", NULL "<html><head><style type='text/css'>" \
"body { word-wrap: break-word; margin: 0; }" \
@@ -62,6 +65,24 @@
"span.xmlns { color: #2cb12f; font-weight: bold;}" \
+xmppconsole_is_xmpp_account(PurpleAccount *account) + const gchar *prpl_name; + prpl_name = purple_account_get_protocol_id(account); + while (xmpp_prpls[i] != NULL) { + if (g_strcmp0(xmpp_prpls[i], prpl_name) == 0) purple_xmlnode_to_pretty_str(PurpleXmlNode *node, int *len)
@@ -656,7 +677,7 @@
account = purple_connection_get_account(gc);
- if (strcmp(purple_account_get_protocol_id(account), "prpl-jabber"))
+ if (!xmppconsole_is_xmpp_account(account)) gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(console->dropdown),
@@ -709,21 +730,37 @@
plugin_load(PurplePlugin *plugin)
- jabber = purple_find_prpl("prpl-jabber");
+ gboolean any_registered = FALSE; xmpp_console_handle = plugin;
- purple_signal_connect(jabber, "jabber-receiving-xmlnode", xmpp_console_handle,
- PURPLE_CALLBACK(purple_xmlnode_received_cb), NULL);
- purple_signal_connect(jabber, "jabber-sending-text", xmpp_console_handle,
- PURPLE_CALLBACK(purple_xmlnode_sent_cb), NULL);
+ while (xmpp_prpls[i] != NULL) { + xmpp = purple_find_prpl(xmpp_prpls[i]); + purple_signal_connect(xmpp, "jabber-receiving-xmlnode", + PURPLE_CALLBACK(purple_xmlnode_received_cb), NULL); + purple_signal_connect(xmpp, "jabber-sending-text", + PURPLE_CALLBACK(purple_xmlnode_sent_cb), NULL); purple_signal_connect(purple_connections_get_handle(), "signing-on",
- plugin, PURPLE_CALLBACK(signing_on_cb), NULL);
+ plugin, PURPLE_CALLBACK(signing_on_cb), NULL); purple_signal_connect(purple_connections_get_handle(), "signed-off",
- plugin, PURPLE_CALLBACK(signed_off_cb), NULL);
+ plugin, PURPLE_CALLBACK(signed_off_cb), NULL); @@ -783,7 +820,7 @@
console->dropdown = gtk_combo_box_text_new();
for (connections = purple_connections_get_all(); connections; connections = connections->next) {
PurpleConnection *gc = connections->data;
- if (!strcmp(purple_account_get_protocol_id(purple_connection_get_account(gc)), "prpl-jabber")) {
+ if (xmppconsole_is_xmpp_account(purple_connection_get_account(gc))) { console->accounts = g_list_append(console->accounts, gc);
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(console->dropdown),
@@ -827,7 +864,6 @@
gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
console->entry = gtk_webview_new(TRUE);
- gtk_webview_hide_toolbar(GTK_WEBVIEW(console->entry));
gtk_webview_set_whole_buffer_formatting_only(GTK_WEBVIEW(console->entry), TRUE);
g_signal_connect(G_OBJECT(console->entry),"key-press-event", G_CALLBACK(message_send_cb), console);