summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Lundblad <malu@pidgin.im>2009-04-22 07:55:03 +0000
committerMarcus Lundblad <malu@pidgin.im>2009-04-22 07:55:03 +0000
commit073c1e1f38828fbc88dfc89ddf1c69583f982749 (patch)
tree2cbaf7d92daf560fdf7bdf566e62095456524b2b
parentfa33ed3abe76c98e1359dc56d2f839eba977a3a1 (diff)
parentb55befcb39c366c09d551351c59f54e5d6ed6cb1 (diff)
downloadpidgin-cpw.malu.xmpp.idle.tar.gz
propagate from branch 'im.pidgin.pidgin' (head 993d20e63dabb19d9a2d8c84e2618e10839f03a9)cpw.malu.xmpp.idle
to branch 'im.pidgin.cpw.malu.xmpp.idle' (head c2f378bc418336abaf93562edf7fb6840a698170)
-rw-r--r--AUTHORS2
-rw-r--r--ChangeLog3
-rw-r--r--doc/TCL-HOWTO.dox4
-rw-r--r--libpurple/plugin.h14
-rw-r--r--libpurple/plugins/perl/perl-common.c22
-rw-r--r--libpurple/plugins/tcl/tcl_cmds.c24
-rw-r--r--libpurple/protocols/irc/msgs.c13
-rw-r--r--libpurple/protocols/jabber/jabber.c2
-rw-r--r--libpurple/protocols/jabber/message.c37
-rw-r--r--libpurple/protocols/jabber/ping.c9
-rw-r--r--libpurple/protocols/yahoo/yahoo.c4
-rw-r--r--pidgin/gtkaccount.c12
-rw-r--r--pidgin/gtkblist.c2
-rw-r--r--pidgin/gtkdialogs.c4
-rw-r--r--pidgin/gtkdocklet.c6
-rw-r--r--pidgin/gtkimhtml.c8
-rw-r--r--pidgin/gtkimhtml.h12
-rw-r--r--pidgin/gtkimhtmltoolbar.c2
-rw-r--r--pidgin/gtkimhtmltoolbar.h10
-rw-r--r--pidgin/gtkmenutray.h12
-rw-r--r--pidgin/gtkprefs.c6
-rw-r--r--pidgin/gtksmiley.c8
-rw-r--r--pidgin/gtksourceundomanager.h12
-rw-r--r--pidgin/gtkstatusbox.c8
-rw-r--r--pidgin/gtkutils.c14
-rw-r--r--pidgin/gtkutils.h8
-rw-r--r--pidgin/gtkwhiteboard.c2
-rw-r--r--pidgin/plugins/contact_priority.c46
-rw-r--r--pidgin/plugins/markerline.c2
-rw-r--r--pidgin/plugins/ticker/gtkticker.c6
-rw-r--r--pidgin/plugins/ticker/gtkticker.h12
-rw-r--r--pidgin/plugins/win32/transparency/win2ktrans.c24
-rw-r--r--pidgin/win32/nsis/pidgin-installer.nsi1
-rw-r--r--po/de.po257
34 files changed, 409 insertions, 199 deletions
diff --git a/AUTHORS b/AUTHORS
index 8d083836f1..87e52c34a5 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -9,6 +9,7 @@ Current Developers:
------------------
Daniel 'datallah' Atallah - Developer
+Paul 'darkrain42' Aurich - Developer
John 'rekkanoryo' Bailey - Developer
Ethan 'Paco-Paco' Blanton - Developer
Thomas Butter - Developer
@@ -35,7 +36,6 @@ Nathan 'faceprint' Walp - Developer
Crazy Patch Writers:
-------------------
-Paul 'darkrain42' Aurich
Marcus 'malu' Lundblad
Dennis 'EvilDennisR' Ristuccia
Peter 'Fmoo' Ruibal
diff --git a/ChangeLog b/ChangeLog
index a98f076b88..90424e27be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,9 @@ version 2.6.0 (??/??/2009):
IRC:
* Correctly handle WHOIS for users who are joined to a large number of
channels.
+ * Notify the user if a /nick command fails, rather than trying
+ fallback nicks.
+
Pidgin:
* Added -f command line option to tell Pidgin to ignore NetworkManager
diff --git a/doc/TCL-HOWTO.dox b/doc/TCL-HOWTO.dox
index f8a483035c..43ea33aa99 100644
--- a/doc/TCL-HOWTO.dox
+++ b/doc/TCL-HOWTO.dox
@@ -173,6 +173,7 @@ purple::connection account gc
purple::connection displayname gc
purple::connection handle
purple::connection list
+purple::connection state
@endcode
@c purple::connection is a collection of subcommands pertaining to
@@ -192,6 +193,9 @@ purple::connection list
this list are appropriate as @c gc arguments to the other
@c purple::connection subcommands or other commands requiring a gc.
+ @c state returns the PurpleConnectionState of this account as one of
+ the strings "connected", "disconnected", or "connecting".
+
@code
purple::conv_send account who text
@endcode
diff --git a/libpurple/plugin.h b/libpurple/plugin.h
index 37fe91dd2b..0374418dfd 100644
--- a/libpurple/plugin.h
+++ b/libpurple/plugin.h
@@ -105,6 +105,20 @@ struct _PurplePluginInfo
void *ui_info; /**< Used only by UI-specific plugins to build a preference screen with a custom UI */
void *extra_info;
PurplePluginUiInfo *prefs_info; /**< Used by any plugin to display preferences. If #ui_info has been specified, this will be ignored. */
+
+ /**
+ * This callback has a different use depending on whether this
+ * plugin type is PURPLE_PLUGIN_STANDARD or PURPLE_PLUGIN_PROTOCOL.
+ *
+ * If PURPLE_PLUGIN_STANDARD then the list of actions will show up
+ * in the Tools menu, under a submenu with the name of the plugin.
+ * context will be NULL.
+ *
+ * If PURPLE_PLUGIN_PROTOCOL then the list of actions will show up
+ * in the Accounts menu, under a submenu with the name of the
+ * account. context will be set to the PurpleConnection for that
+ * account. This callback will only be called for online accounts.
+ */
GList *(*actions)(PurplePlugin *plugin, gpointer context);
void (*_purple_reserved1)(void);
diff --git a/libpurple/plugins/perl/perl-common.c b/libpurple/plugins/perl/perl-common.c
index 4266ab7626..061dbdd2fb 100644
--- a/libpurple/plugins/perl/perl-common.c
+++ b/libpurple/plugins/perl/perl-common.c
@@ -403,7 +403,7 @@ purple_perl_data_from_sv(PurpleValue *value, SV *sv)
static SV *
purple_perl_sv_from_subtype(const PurpleValue *value, void *arg)
{
- const char *stash = NULL;
+ const char *stash = "Purple"; /* ? */
switch (purple_value_get_subtype(value)) {
case PURPLE_SUBTYPE_ACCOUNT:
@@ -442,6 +442,9 @@ purple_perl_sv_from_subtype(const PurpleValue *value, void *arg)
case PURPLE_SUBTYPE_STATUS:
stash = "Purple::Status";
break;
+ case PURPLE_SUBTYPE_SAVEDSTATUS:
+ stash = "Purple::SavedStatus";
+ break;
case PURPLE_SUBTYPE_LOG:
stash = "Purple::Log";
break;
@@ -451,10 +454,19 @@ purple_perl_sv_from_subtype(const PurpleValue *value, void *arg)
case PURPLE_SUBTYPE_XMLNODE:
stash = "Purple::XMLNode";
break;
-
- default:
- stash = "Purple"; /* ? */
- }
+ case PURPLE_SUBTYPE_USERINFO:
+ stash = "Purple::NotifyUserInfo";
+ break;
+ case PURPLE_SUBTYPE_STORED_IMAGE:
+ stash = "Purple::StoredImage";
+ break;
+ case PURPLE_SUBTYPE_CERTIFICATEPOOL:
+ stash = "Purple::Certificate::Pool";
+ break;
+ case PURPLE_SUBTYPE_UNKNOWN:
+ stash = "Purple::Unknown";
+ break;
+ }
return sv_2mortal(purple_perl_bless_object(arg, stash));
}
diff --git a/libpurple/plugins/tcl/tcl_cmds.c b/libpurple/plugins/tcl/tcl_cmds.c
index 53af8595ef..c8f1aeb1aa 100644
--- a/libpurple/plugins/tcl/tcl_cmds.c
+++ b/libpurple/plugins/tcl/tcl_cmds.c
@@ -683,8 +683,9 @@ int tcl_cmd_cmd(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj *CONST
int tcl_cmd_connection(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
{
Tcl_Obj *list, *elem;
- const char *cmds[] = { "account", "displayname", "handle", "list", NULL };
- enum { CMD_CONN_ACCOUNT, CMD_CONN_DISPLAYNAME, CMD_CONN_HANDLE, CMD_CONN_LIST } cmd;
+ const char *cmds[] = { "account", "displayname", "handle", "list", "state", NULL };
+ enum { CMD_CONN_ACCOUNT, CMD_CONN_DISPLAYNAME, CMD_CONN_HANDLE,
+ CMD_CONN_LIST, CMD_CONN_STATE } cmd;
int error;
GList *cur;
PurpleConnection *gc;
@@ -739,6 +740,25 @@ int tcl_cmd_connection(ClientData unused, Tcl_Interp *interp, int objc, Tcl_Obj
}
Tcl_SetObjResult(interp, list);
break;
+ case CMD_CONN_STATE:
+ if (objc != 3) {
+ Tcl_WrongNumArgs(interp, 2, objv, "gc");
+ return TCL_ERROR;
+ }
+ if ((gc = tcl_validate_gc(objv[2], interp)) == NULL)
+ return TCL_ERROR;
+ switch (purple_connection_get_state(gc)) {
+ case PURPLE_DISCONNECTED:
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("disconnected", -1));
+ break;
+ case PURPLE_CONNECTED:
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("connected", -1));
+ break;
+ case PURPLE_CONNECTING:
+ Tcl_SetObjResult(interp, Tcl_NewStringObj("connecting", -1));
+ break;
+ }
+ break;
}
return TCL_OK;
diff --git a/libpurple/protocols/irc/msgs.c b/libpurple/protocols/irc/msgs.c
index 56a770f791..be63c4541c 100644
--- a/libpurple/protocols/irc/msgs.c
+++ b/libpurple/protocols/irc/msgs.c
@@ -1004,10 +1004,23 @@ void irc_msg_badnick(struct irc_conn *irc, const char *name, const char *from, c
void irc_msg_nickused(struct irc_conn *irc, const char *name, const char *from, char **args)
{
char *newnick, *buf, *end;
+ PurpleConnection *gc = purple_account_get_connection(irc->account);
if (!args || !args[1])
return;
+ if (gc && purple_connection_get_state(gc) == PURPLE_CONNECTED) {
+ /* We only want to do the following dance if the connection
+ has not been successfully completed. If it has, just
+ notify the user that their /nick command didn't go. */
+ buf = g_strdup_printf(_("The nickname \"%s\" is already being used."),
+ irc->reqnick);
+ purple_notify_error(gc, _("Nickname in use"),
+ _("Nickname in use"), buf);
+ g_free(buf);
+ g_free(irc->reqnick);
+ }
+
if (strlen(args[1]) < strlen(irc->reqnick) || irc->nickused)
newnick = g_strdup(args[1]);
else
diff --git a/libpurple/protocols/jabber/jabber.c b/libpurple/protocols/jabber/jabber.c
index 67c5d68c97..205b318793 100644
--- a/libpurple/protocols/jabber/jabber.c
+++ b/libpurple/protocols/jabber/jabber.c
@@ -464,7 +464,7 @@ void jabber_keepalive(PurpleConnection *gc)
JabberStream *js = gc->proto_data;
if (js->keepalive_timeout == -1) {
- jabber_ping_jid(js, NULL);
+ jabber_ping_jid(js, js->user->domain);
js->keepalive_timeout = purple_timeout_add_seconds(120,
(GSourceFunc)(jabber_keepalive_timeout), gc);
}
diff --git a/libpurple/protocols/jabber/message.c b/libpurple/protocols/jabber/message.c
index adc5feac85..e75898c17c 100644
--- a/libpurple/protocols/jabber/message.c
+++ b/libpurple/protocols/jabber/message.c
@@ -626,24 +626,27 @@ void jabber_message_parse(JabberStream *js, xmlnode *packet)
purple_debug_info("jabber", "found %d smileys\n",
g_list_length(smiley_refs));
- if (jm->type == JABBER_MESSAGE_GROUPCHAT) {
- JabberID *jid = jabber_id_new(jm->from);
- JabberChat *chat = NULL;
+ if (smiley_refs) {
+ if (jm->type == JABBER_MESSAGE_GROUPCHAT) {
+ JabberID *jid = jabber_id_new(jm->from);
+ JabberChat *chat = NULL;
- if (jid) {
- chat = jabber_chat_find(js, jid->node, jid->domain);
- if (chat) conv = chat->conv;
- }
+ if (jid) {
+ chat = jabber_chat_find(js, jid->node, jid->domain);
+ if (chat) conv = chat->conv;
+ }
- jabber_id_free(jid);
- } else {
- conv =
- purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY,
- who, account);
- if (!conv) {
- /* we need to create the conversation here */
- conv = purple_conversation_new(PURPLE_CONV_TYPE_IM,
- account, who);
+ jabber_id_free(jid);
+ } else {
+ conv =
+ purple_find_conversation_with_account(PURPLE_CONV_TYPE_ANY,
+ who, account);
+ if (!conv) {
+ /* we need to create the conversation here */
+ conv =
+ purple_conversation_new(PURPLE_CONV_TYPE_IM,
+ account, who);
+ }
}
}
@@ -675,7 +678,7 @@ void jabber_message_parse(JabberStream *js, xmlnode *packet)
TRUE)) {
const JabberData *data =
jabber_data_find_remote_by_cid(cid);
- /* if data is already known, we add write it immediatly */
+ /* if data is already known, we write it immediatly */
if (data) {
purple_debug_info("jabber",
"data is already known\n");
diff --git a/libpurple/protocols/jabber/ping.c b/libpurple/protocols/jabber/ping.c
index 058f9bcdbd..1e24e5c59e 100644
--- a/libpurple/protocols/jabber/ping.c
+++ b/libpurple/protocols/jabber/ping.c
@@ -55,15 +55,10 @@ static void jabber_ping_result_cb(JabberStream *js, const char *from,
JabberIqType type, const char *id,
xmlnode *packet, gpointer data)
{
- char *own_bare_jid = g_strdup_printf("%s@%s", js->user->node,
- js->user->domain);
-
- if (!from || !strcmp(from, own_bare_jid)) {
- /* If the pong is from our bare JID, treat it as a return from the
+ if (purple_strequal(from, js->user->domain))
+ /* If the pong is from the server, assume it's a result of the
* keepalive functions */
jabber_keepalive_pong_cb(js);
- }
- g_free(own_bare_jid);
if (type == JABBER_IQ_RESULT) {
purple_debug_info("jabber", "PONG!\n");
diff --git a/libpurple/protocols/yahoo/yahoo.c b/libpurple/protocols/yahoo/yahoo.c
index 959934537a..a238d94332 100644
--- a/libpurple/protocols/yahoo/yahoo.c
+++ b/libpurple/protocols/yahoo/yahoo.c
@@ -2973,8 +2973,10 @@ static void yahoo_process_p2p(PurpleConnection *gc, struct yahoo_packet *pkt)
/* connect to host */
if((purple_proxy_connect(NULL, account, host_ip, YAHOO_PAGER_PORT_P2P, yahoo_p2p_init_cb, p2p_data))==NULL) {
- yahoo_p2p_disconnect_destroy_data(p2p_data);
purple_debug_info("yahoo","p2p: Connection to %s failed\n", host_ip);
+ g_free(p2p_data->host_ip);
+ g_free(p2p_data->host_username);
+ g_free(p2p_data);
}
}
}
diff --git a/pidgin/gtkaccount.c b/pidgin/gtkaccount.c
index b303b2d0b7..98abdafb3d 100644
--- a/pidgin/gtkaccount.c
+++ b/pidgin/gtkaccount.c
@@ -413,7 +413,11 @@ add_login_options(AccountPrefsDialog *dialog, GtkWidget *parent)
if (dialog->protocol_menu != NULL)
{
+#if GTK_CHECK_VERSION(2,12,0)
+ g_object_ref(G_OBJECT(dialog->protocol_menu));
+#else
gtk_widget_ref(dialog->protocol_menu);
+#endif
hbox = g_object_get_data(G_OBJECT(dialog->protocol_menu), "container");
gtk_container_remove(GTK_CONTAINER(hbox), dialog->protocol_menu);
}
@@ -440,13 +444,21 @@ add_login_options(AccountPrefsDialog *dialog, GtkWidget *parent)
{
dialog->protocol_menu = pidgin_protocol_option_menu_new(
dialog->protocol_id, G_CALLBACK(set_account_protocol_cb), dialog);
+#if GTK_CHECK_VERSION(2,12,0)
+ g_object_ref(G_OBJECT(dialog->protocol_menu));
+#else
gtk_widget_ref(dialog->protocol_menu);
+#endif
}
hbox = add_pref_box(dialog, vbox, _("Pro_tocol:"), dialog->protocol_menu);
g_object_set_data(G_OBJECT(dialog->protocol_menu), "container", hbox);
+#if GTK_CHECK_VERSION(2,12,0)
+ g_object_unref(G_OBJECT(dialog->protocol_menu));
+#else
gtk_widget_unref(dialog->protocol_menu);
+#endif
/* Username */
dialog->username_entry = gtk_entry_new();
diff --git a/pidgin/gtkblist.c b/pidgin/gtkblist.c
index 2f7d21473c..a3bd6e53ea 100644
--- a/pidgin/gtkblist.c
+++ b/pidgin/gtkblist.c
@@ -6630,7 +6630,7 @@ static void pidgin_blist_destroy(PurpleBuddyList *list)
purple_signals_disconnect_by_handle(gtkblist);
if (gtkblist->headline_close)
- gdk_pixbuf_unref(gtkblist->headline_close);
+ g_object_unref(G_OBJECT(gtkblist->headline_close));
gtk_widget_destroy(gtkblist->window);
diff --git a/pidgin/gtkdialogs.c b/pidgin/gtkdialogs.c
index e63d6b78e2..d17cbb4303 100644
--- a/pidgin/gtkdialogs.c
+++ b/pidgin/gtkdialogs.c
@@ -73,6 +73,7 @@ struct artist {
/* Order: Alphabetical by Last Name */
static const struct developer developers[] = {
{"Daniel 'datallah' Atallah", NULL, NULL},
+ {"Paul 'darkrain42' Aurich", NULL, NULL },
{"John 'rekkanoryo' Bailey", N_("bug master"), "rekkanoryo@pidgin.im"},
{"Ethan 'Paco-Paco' Blanton", NULL, NULL},
{"Hylke Bons", N_("artist"), "h.bons@student.rug.nl"},
@@ -101,7 +102,6 @@ static const struct developer developers[] = {
/* Order: Alphabetical by Last Name */
static const struct developer patch_writers[] = {
- {"Paul 'darkrain42' Aurich", NULL, NULL },
{"Marcus 'malu' Lundblad", NULL, NULL},
{"Dennis 'EvilDennisR' Ristuccia", N_("Senior Contributor/QA"), NULL},
{"Peter 'Fmoo' Ruibal", NULL, NULL},
@@ -427,7 +427,7 @@ void pidgin_dialogs_about()
#endif
gtk_widget_destroy(logo);
logo = gtk_image_new_from_pixbuf(pixbuf);
- gdk_pixbuf_unref(pixbuf);
+ g_object_unref(G_OBJECT(pixbuf));
/* Insert the logo */
obj = gtk_widget_get_accessible(logo);
tmp = g_strconcat(PIDGIN_NAME, " " DISPLAY_VERSION, NULL);
diff --git a/pidgin/gtkdocklet.c b/pidgin/gtkdocklet.c
index 32e2444aa7..571222e017 100644
--- a/pidgin/gtkdocklet.c
+++ b/pidgin/gtkdocklet.c
@@ -482,7 +482,7 @@ activate_saved_status_cb(GtkMenuItem *menuitem, gpointer user_data)
}
static GtkWidget *
-new_menu_item_with_status_icon(GtkWidget *menu, const char *str, PurpleStatusPrimitive primitive, GtkSignalFunc sf, gpointer data, guint accel_key, guint accel_mods, char *mod)
+new_menu_item_with_status_icon(GtkWidget *menu, const char *str, PurpleStatusPrimitive primitive, GCallback cb, gpointer data, guint accel_key, guint accel_mods, char *mod)
{
GtkWidget *menuitem;
GdkPixbuf *pixbuf;
@@ -493,8 +493,8 @@ new_menu_item_with_status_icon(GtkWidget *menu, const char *str, PurpleStatusPri
if (menu)
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
- if (sf)
- g_signal_connect(G_OBJECT(menuitem), "activate", sf, data);
+ if (cb)
+ g_signal_connect(G_OBJECT(menuitem), "activate", cb, data);
pixbuf = pidgin_create_status_icon(primitive, menu, PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL);
image = gtk_image_new_from_pixbuf(pixbuf);
diff --git a/pidgin/gtkimhtml.c b/pidgin/gtkimhtml.c
index a9b76944de..7437362623 100644
--- a/pidgin/gtkimhtml.c
+++ b/pidgin/gtkimhtml.c
@@ -782,7 +782,7 @@ gtk_imhtml_expose_event (GtkWidget *widget,
gc,
TRUE,
visible_rect.x, visible_rect.y, visible_rect.width, visible_rect.height);
- gdk_gc_unref(gc);
+ g_object_unref(G_OBJECT(gc));
if (GTK_WIDGET_CLASS (parent_class)->expose_event)
return (* GTK_WIDGET_CLASS (parent_class)->expose_event)
@@ -873,7 +873,7 @@ gtk_imhtml_expose_event (GtkWidget *widget,
!gtk_text_iter_begins_tag(&cur, NULL));
}
- gdk_gc_unref(gc);
+ g_object_unref(G_OBJECT(gc));
if (GTK_WIDGET_CLASS (parent_class)->expose_event)
return (* GTK_WIDGET_CLASS (parent_class)->expose_event)
@@ -1384,7 +1384,7 @@ gtk_imhtml_finalize (GObject *object)
gtk_widget_destroy(imhtml->tip_window);
}
if(imhtml->tip_timer)
- gtk_timeout_remove(imhtml->tip_timer);
+ g_source_remove(imhtml->tip_timer);
for(scalables = imhtml->scalables; scalables; scalables = scalables->next) {
struct scalable_data *sd = scalables->data;
@@ -1451,7 +1451,7 @@ static void gtk_imhtml_class_init (GtkIMHtmlClass *klass)
GObjectClass *gobject_class;
object_class = (GtkObjectClass*) klass;
gobject_class = (GObjectClass*) klass;
- parent_class = gtk_type_class(GTK_TYPE_TEXT_VIEW);
+ parent_class = g_type_class_ref(GTK_TYPE_TEXT_VIEW);
signals[URL_CLICKED] = g_signal_new("url_clicked",
G_TYPE_FROM_CLASS(gobject_class),
G_SIGNAL_RUN_FIRST,
diff --git a/pidgin/gtkimhtml.h b/pidgin/gtkimhtml.h
index 7bcf28e6ec..8b407d2e97 100644
--- a/pidgin/gtkimhtml.h
+++ b/pidgin/gtkimhtml.h
@@ -40,13 +40,13 @@ extern "C" {
**************************************************************************/
/*@{*/
-#define GTK_TYPE_IMHTML (gtk_imhtml_get_type ())
-#define GTK_IMHTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTML, GtkIMHtml))
-#define GTK_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass))
-#define GTK_IS_IMHTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML))
-#define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML))
+#define GTK_TYPE_IMHTML (gtk_imhtml_get_type())
+#define GTK_IMHTML(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_IMHTML, GtkIMHtml))
+#define GTK_IMHTML_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass))
+#define GTK_IS_IMHTML(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_IMHTML))
+#define GTK_IS_IMHTML_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_IMHTML))
#define GTK_IMHTML_SCALABLE(obj) ((GtkIMHtmlScalable *)obj)
-#define GTK_IMHTML_ANIMATION(obj) ((GtkIMHtmlAnimation *)obj)
+#define GTK_IMHTML_ANIMATION(obj) ((GtkIMHtmlAnimation *)obj)
typedef struct _GtkIMHtml GtkIMHtml;
typedef struct _GtkIMHtmlClass GtkIMHtmlClass;
diff --git a/pidgin/gtkimhtmltoolbar.c b/pidgin/gtkimhtmltoolbar.c
index 39e0ce475c..fcc0ac77c0 100644
--- a/pidgin/gtkimhtmltoolbar.c
+++ b/pidgin/gtkimhtmltoolbar.c
@@ -1198,7 +1198,7 @@ static void gtk_imhtmltoolbar_class_init (GtkIMHtmlToolbarClass *class)
GObjectClass *gobject_class;
object_class = (GtkObjectClass*) class;
gobject_class = (GObjectClass*) class;
- parent_class = gtk_type_class(GTK_TYPE_HBOX);
+ parent_class = g_type_class_ref(GTK_TYPE_HBOX);
gobject_class->finalize = gtk_imhtmltoolbar_finalize;
purple_prefs_add_none(PIDGIN_PREFS_ROOT "/conversations/toolbar");
diff --git a/pidgin/gtkimhtmltoolbar.h b/pidgin/gtkimhtmltoolbar.h
index 5f67603496..ad3285eeca 100644
--- a/pidgin/gtkimhtmltoolbar.h
+++ b/pidgin/gtkimhtmltoolbar.h
@@ -32,11 +32,11 @@ extern "C" {
#define DEFAULT_FONT_FACE "Helvetica 12"
-#define GTK_TYPE_IMHTMLTOOLBAR (gtk_imhtmltoolbar_get_type ())
-#define GTK_IMHTMLTOOLBAR(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTMLTOOLBAR, GtkIMHtmlToolbar))
-#define GTK_IMHTMLTOOLBAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTMLTOOLBAR, GtkIMHtmlToolbarClass))
-#define GTK_IS_IMHTMLTOOLBAR(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTMLTOOLBAR))
-#define GTK_IS_IMHTMLTOOLBAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTMLTOOLBAR))
+#define GTK_TYPE_IMHTMLTOOLBAR (gtk_imhtmltoolbar_get_type())
+#define GTK_IMHTMLTOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_IMHTMLTOOLBAR, GtkIMHtmlToolbar))
+#define GTK_IMHTMLTOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_IMHTMLTOOLBAR, GtkIMHtmlToolbarClass))
+#define GTK_IS_IMHTMLTOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_IMHTMLTOOLBAR))
+#define GTK_IS_IMHTMLTOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_IMHTMLTOOLBAR))
typedef struct _GtkIMHtmlToolbar GtkIMHtmlToolbar;
typedef struct _GtkIMHtmlToolbarClass GtkIMHtmlToolbarClass;
diff --git a/pidgin/gtkmenutray.h b/pidgin/gtkmenutray.h
index 3604b7192b..0661ef8425 100644
--- a/pidgin/gtkmenutray.h
+++ b/pidgin/gtkmenutray.h
@@ -26,12 +26,12 @@
#include <gtk/gtk.h>
-#define PIDGIN_TYPE_MENU_TRAY (pidgin_menu_tray_get_gtype())
-#define PIDGIN_MENU_TRAY(obj) (GTK_CHECK_CAST((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTray))
-#define PIDGIN_MENU_TRAY_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
-#define PIDGIN_IS_MENU_TRAY(obj) (GTK_CHECK_TYPE((obj), PIDGIN_TYPE_MENU_TRAY))
-#define PIDGIN_IS_MENU_TRAY_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), PIDGIN_TYPE_MENU_TRAY))
-#define PIDGIN_MENU_TRAY_GET_CLASS(obj) (GTK_CHECK_GET_CLASS((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
+#define PIDGIN_TYPE_MENU_TRAY (pidgin_menu_tray_get_gtype())
+#define PIDGIN_MENU_TRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTray))
+#define PIDGIN_MENU_TRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
+#define PIDGIN_IS_MENU_TRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PIDGIN_TYPE_MENU_TRAY))
+#define PIDGIN_IS_MENU_TRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PIDGIN_TYPE_MENU_TRAY))
+#define PIDGIN_MENU_TRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PIDGIN_TYPE_MENU_TRAY, PidginMenuTrayClass))
typedef struct _PidginMenuTray PidginMenuTray;
typedef struct _PidginMenuTrayClass PidginMenuTrayClass;
diff --git a/pidgin/gtkprefs.c b/pidgin/gtkprefs.c
index d07bd7f374..92316b14fa 100644
--- a/pidgin/gtkprefs.c
+++ b/pidgin/gtkprefs.c
@@ -638,7 +638,7 @@ prefs_themes_sort(PurpleTheme *theme)
gtk_list_store_set(prefs_sound_themes, &iter, 0, pixbuf, 2, purple_theme_get_name(theme), -1);
if (pixbuf != NULL)
- gdk_pixbuf_unref(pixbuf);
+ g_object_unref(G_OBJECT(pixbuf));
} else if (PIDGIN_IS_BLIST_THEME(theme) || PIDGIN_IS_STATUS_ICON_THEME(theme)){
GtkListStore *store;
@@ -665,7 +665,7 @@ prefs_themes_sort(PurpleTheme *theme)
g_free(markup);
if (pixbuf != NULL)
- gdk_pixbuf_unref(pixbuf);
+ g_object_unref(G_OBJECT(pixbuf));
}
}
@@ -702,7 +702,7 @@ prefs_themes_init()
gtk_list_store_set(prefs_status_icon_themes, &iter, 0, pixbuf, 1, "<b>(Default)</b> - None\n<span color='dim grey'>"
"The default Pidgin status icon theme</span>", 2, "", -1);
- gdk_pixbuf_unref(pixbuf);
+ g_object_unref(G_OBJECT(pixbuf));
}
/* builds a theme combo box from a list store with colums: icon preview, markup, theme name */
diff --git a/pidgin/gtksmiley.c b/pidgin/gtksmiley.c
index d8f0b3e422..0c42ce2c29 100644
--- a/pidgin/gtksmiley.c
+++ b/pidgin/gtksmiley.c
@@ -74,7 +74,7 @@ pidgin_smiley_destroy(PidginSmiley *smiley)
gtk_widget_destroy(smiley->parent);
g_free(smiley->filename);
if (smiley->custom_pixbuf)
- gdk_pixbuf_unref(smiley->custom_pixbuf);
+ g_object_unref(G_OBJECT(smiley->custom_pixbuf));
g_free(smiley);
}
@@ -344,7 +344,7 @@ static void do_add_file_cb(const char *filename, gpointer data)
pixbuf = gdk_pixbuf_new_from_file_at_scale(filename, 64, 64, FALSE, NULL);
gtk_image_set_from_pixbuf(GTK_IMAGE(s->smiley_image), pixbuf);
if (pixbuf)
- gdk_pixbuf_unref(pixbuf);
+ g_object_unref(G_OBJECT(pixbuf));
gtk_widget_grab_focus(s->smile);
}
@@ -459,8 +459,8 @@ void
pidgin_smiley_editor_set_image(PidginSmiley *editor, GdkPixbuf *image)
{
if (editor->custom_pixbuf)
- gdk_pixbuf_unref(editor->custom_pixbuf);
- editor->custom_pixbuf = image ? gdk_pixbuf_ref(image) : NULL;
+ g_object_unref(G_OBJECT(editor->custom_pixbuf));
+ editor->custom_pixbuf = image ? g_object_ref(G_OBJECT(image)) : NULL;
if (image)
gtk_image_set_from_pixbuf(GTK_IMAGE(editor->smiley_image), image);
}
diff --git a/pidgin/gtksourceundomanager.h b/pidgin/gtksourceundomanager.h
index e77d1f667e..0148455476 100644
--- a/pidgin/gtksourceundomanager.h
+++ b/pidgin/gtksourceundomanager.h
@@ -28,12 +28,12 @@
#include <gtk/gtk.h>
-#define GTK_SOURCE_TYPE_UNDO_MANAGER (gtk_source_undo_manager_get_type ())
-#define GTK_SOURCE_UNDO_MANAGER(obj) (GTK_CHECK_CAST ((obj), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManager))
-#define GTK_SOURCE_UNDO_MANAGER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManagerClass))
-#define GTK_SOURCE_IS_UNDO_MANAGER(obj) (GTK_CHECK_TYPE ((obj), GTK_SOURCE_TYPE_UNDO_MANAGER))
-#define GTK_SOURCE_IS_UNDO_MANAGER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_SOURCE_TYPE_UNDO_MANAGER))
-#define GTK_SOURCE_UNDO_MANAGER_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManagerClass))
+#define GTK_SOURCE_TYPE_UNDO_MANAGER (gtk_source_undo_manager_get_type())
+#define GTK_SOURCE_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManager))
+#define GTK_SOURCE_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManagerClass))
+#define GTK_SOURCE_IS_UNDO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_SOURCE_TYPE_UNDO_MANAGER))
+#define GTK_SOURCE_IS_UNDO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_SOURCE_TYPE_UNDO_MANAGER))
+#define GTK_SOURCE_UNDO_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManagerClass))
typedef struct _GtkSourceUndoManager GtkSourceUndoManager;
diff --git a/pidgin/gtkstatusbox.c b/pidgin/gtkstatusbox.c
index 8f52ea4af6..1a90309085 100644
--- a/pidgin/gtkstatusbox.c
+++ b/pidgin/gtkstatusbox.c
@@ -536,12 +536,12 @@ pidgin_status_box_finalize(GObject *obj)
for (i = 0; i < G_N_ELEMENTS(statusbox->connecting_pixbufs); i++) {
if (statusbox->connecting_pixbufs[i] != NULL)
- gdk_pixbuf_unref(statusbox->connecting_pixbufs[i]);
+ g_object_unref(G_OBJECT(statusbox->connecting_pixbufs[i]));
}
for (i = 0; i < G_N_ELEMENTS(statusbox->typing_pixbufs); i++) {
if (statusbox->typing_pixbufs[i] != NULL)
- gdk_pixbuf_unref(statusbox->typing_pixbufs[i]);
+ g_object_unref(G_OBJECT(statusbox->typing_pixbufs[i]));
}
g_object_unref(G_OBJECT(statusbox->store));
@@ -1202,7 +1202,7 @@ cache_pixbufs(PidginStatusBox *status_box)
for (i = 0; i < G_N_ELEMENTS(status_box->connecting_pixbufs); i++) {
if (status_box->connecting_pixbufs[i] != NULL)
- gdk_pixbuf_unref(status_box->connecting_pixbufs[i]);
+ g_object_unref(G_OBJECT(status_box->connecting_pixbufs[i]));
}
status_box->connecting_index = 0;
@@ -1225,7 +1225,7 @@ cache_pixbufs(PidginStatusBox *status_box)
for (i = 0; i < G_N_ELEMENTS(status_box->typing_pixbufs); i++) {
if (status_box->typing_pixbufs[i] != NULL)
- gdk_pixbuf_unref(status_box->typing_pixbufs[i]);
+ g_object_unref(G_OBJECT(status_box->typing_pixbufs[i]));
}
status_box->typing_index = 0;
diff --git a/pidgin/gtkutils.c b/pidgin/gtkutils.c
index 4e9d946c0e..7277e0badd 100644
--- a/pidgin/gtkutils.c
+++ b/pidgin/gtkutils.c
@@ -358,7 +358,7 @@ GtkWidget *pidgin_new_item(GtkWidget *menu, const char *str)
}
GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str,
- GtkSignalFunc sf, gpointer data, gboolean checked)
+ GCallback cb, gpointer data, gboolean checked)
{
GtkWidget *menuitem;
menuitem = gtk_check_menu_item_new_with_mnemonic(str);
@@ -368,8 +368,8 @@ GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str,
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem), checked);
- if (sf)
- g_signal_connect(G_OBJECT(menuitem), "activate", sf, data);
+ if (cb)
+ g_signal_connect(G_OBJECT(menuitem), "activate", cb, data);
gtk_widget_show_all(menuitem);
@@ -439,7 +439,7 @@ pidgin_pixbuf_button_from_stock(const char *text, const char *icon,
}
-GtkWidget *pidgin_new_item_from_stock(GtkWidget *menu, const char *str, const char *icon, GtkSignalFunc sf, gpointer data, guint accel_key, guint accel_mods, char *mod)
+GtkWidget *pidgin_new_item_from_stock(GtkWidget *menu, const char *str, const char *icon, GCallback cb, gpointer data, guint accel_key, guint accel_mods, char *mod)
{
GtkWidget *menuitem;
/*
@@ -456,8 +456,8 @@ GtkWidget *pidgin_new_item_from_stock(GtkWidget *menu, const char *str, const ch
if (menu)
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
- if (sf)
- g_signal_connect(G_OBJECT(menuitem), "activate", sf, data);
+ if (cb)
+ g_signal_connect(G_OBJECT(menuitem), "activate", cb, data);
if (icon != NULL) {
image = gtk_image_new_from_stock(icon, gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL));
@@ -1627,7 +1627,7 @@ pidgin_dnd_file_manage(GtkSelectionData *sd, PurpleAccount *account, const char
_("Set as buddy icon"), DND_BUDDY_ICON,
(ft ? _("Send image file") : _("Insert in message")), (ft ? DND_FILE_TRANSFER : DND_IM_IMAGE),
NULL);
- gdk_pixbuf_unref(pb);
+ g_object_unref(G_OBJECT(pb));
return;
}
diff --git a/pidgin/gtkutils.h b/pidgin/gtkutils.h
index fb03cec1d0..1101145340 100644
--- a/pidgin/gtkutils.h
+++ b/pidgin/gtkutils.h
@@ -233,14 +233,14 @@ GtkWidget *pidgin_new_item(GtkWidget *menu, const char *str);
*
* @param menu The menu to which to append the check menu item.
* @param str The title to use for the newly created menu item.
- * @param sf A function to call when the menu item is activated.
+ * @param cb A function to call when the menu item is activated.
* @param data Data to pass to the signal function.
* @param checked The initial state of the check item
*
* @return The newly created menu item.
*/
GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str,
- GtkSignalFunc sf, gpointer data, gboolean checked);
+ GCallback cb, gpointer data, gboolean checked);
/**
* Creates a menu item.
@@ -249,7 +249,7 @@ GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str,
* @param str The title for the menu item.
* @param icon An icon to place to the left of the menu item,
* or @c NULL for no icon.
- * @param sf A function to call when the menu item is activated.
+ * @param cb A function to call when the menu item is activated.
* @param data Data to pass to the signal function.
* @param accel_key Something.
* @param accel_mods Something.
@@ -258,7 +258,7 @@ GtkWidget *pidgin_new_check_item(GtkWidget *menu, const char *str,
* @return The newly created menu item.
*/
GtkWidget *pidgin_new_item_from_stock(GtkWidget *menu, const char *str,
- const char *icon, GtkSignalFunc sf,
+ const char *icon, GCallback cb,
gpointer data, guint accel_key,
guint accel_mods, char *mod);
diff --git a/pidgin/gtkwhiteboard.c b/pidgin/gtkwhiteboard.c
index 38c045f5de..dbc528ebcc 100644
--- a/pidgin/gtkwhiteboard.c
+++ b/pidgin/gtkwhiteboard.c
@@ -624,7 +624,7 @@ static void pidgin_whiteboard_draw_brush_point(PurpleWhiteboard *wb, int x, int
update_rect.x, update_rect.y,
update_rect.width, update_rect.height);
- gdk_gc_unref(gfx_con);
+ g_object_unref(G_OBJECT(gfx_con));
}
/* Uses Bresenham's algorithm (as provided by Wikipedia) */
diff --git a/pidgin/plugins/contact_priority.c b/pidgin/plugins/contact_priority.c
index 2b3c7c66b9..e59566b481 100644
--- a/pidgin/plugins/contact_priority.c
+++ b/pidgin/plugins/contact_priority.c
@@ -31,7 +31,7 @@ static void
select_account(GtkWidget *widget, PurpleAccount *account, gpointer data)
{
gtk_spin_button_set_value(GTK_SPIN_BUTTON(data),
- (gdouble)purple_account_get_int(account, "score", 0));
+ (gdouble)purple_account_get_int(account, "score", 0));
}
static void
@@ -142,18 +142,18 @@ get_config_frame(PurplePlugin *plugin)
spin = gtk_spin_button_new((GtkAdjustment *)adj, 1, 0);
optmenu = pidgin_account_option_menu_new(NULL, TRUE,
- G_CALLBACK(select_account),
- NULL, spin);
+ G_CALLBACK(select_account),
+ NULL, spin);
gtk_box_pack_start(GTK_BOX(hbox), optmenu, FALSE, FALSE, 0);
/* this is where we set up the spin button we made above */
account = g_object_get_data(G_OBJECT(gtk_menu_get_active(GTK_MENU(gtk_option_menu_get_menu(GTK_OPTION_MENU(optmenu))))),
- "account");
+ "account");
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin),
- (gdouble)purple_account_get_int(account, "score", 0));
+ (gdouble)purple_account_get_int(account, "score", 0));
gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(spin), GTK_ADJUSTMENT(adj));
g_signal_connect(G_OBJECT(spin), "value-changed",
- G_CALLBACK(account_update), optmenu);
+ G_CALLBACK(account_update), optmenu);
gtk_box_pack_start(GTK_BOX(hbox), spin, FALSE, FALSE, 0);
gtk_widget_show_all(ret);
@@ -178,29 +178,29 @@ static PurplePluginInfo info =
PURPLE_PLUGIN_MAGIC,
PURPLE_MAJOR_VERSION,
PURPLE_MINOR_VERSION,
- PURPLE_PLUGIN_STANDARD, /**< type */
+ PURPLE_PLUGIN_STANDARD, /**< type */
PIDGIN_PLUGIN_TYPE, /**< ui_requirement */
- 0, /**< flags */
- NULL, /**< dependencies */
- PURPLE_PRIORITY_DEFAULT, /**< priority */
+ 0, /**< flags */
+ NULL, /**< dependencies */
+ PURPLE_PRIORITY_DEFAULT, /**< priority */
- CONTACT_PRIORITY_PLUGIN_ID, /**< id */
- N_("Contact Priority"), /**< name */
- DISPLAY_VERSION, /**< version */
+ CONTACT_PRIORITY_PLUGIN_ID, /**< id */
+ N_("Contact Priority"), /**< name */
+ DISPLAY_VERSION, /**< version */
/**< summary */
N_("Allows for controlling the values associated with different buddy states."),
/**< description */
N_("Allows for changing the point values of idle/away/offline states for buddies in contact priority computations."),
- "Etan Reisner <deryni@eden.rutgers.edu>", /**< author */
- PURPLE_WEBSITE, /**< homepage */
-
- NULL, /**< load */
- NULL, /**< unload */
- NULL, /**< destroy */
- &ui_info, /**< ui_info */
- NULL, /**< extra_info */
- NULL, /**< prefs_info */
- NULL, /**< actions */
+ "Etan Reisner <deryni@eden.rutgers.edu>", /**< author */
+ PURPLE_WEBSITE, /**< homepage */
+
+ NULL, /**< load */
+ NULL, /**< unload */
+ NULL, /**< destroy */
+ &ui_info, /**< ui_info */
+ NULL, /**< extra_info */
+ NULL, /**< prefs_info */
+ NULL, /**< actions */
/* padding */
NULL,
diff --git a/pidgin/plugins/markerline.c b/pidgin/plugins/markerline.c
index 9d0d11a2e1..214994a906 100644
--- a/pidgin/plugins/markerline.c
+++ b/pidgin/plugins/markerline.c
@@ -84,7 +84,7 @@ imhtml_expose_cb(GtkWidget *widget, GdkEventExpose *event, PidginConversation *g
gdk_gc_set_rgb_fg_color(gc, &red);
gdk_draw_line(event->window, gc,
0, y, visible_rect.width, y);
- gdk_gc_unref(gc);
+ g_object_unref(G_OBJECT(gc));
}
return FALSE;
}
diff --git a/pidgin/plugins/ticker/gtkticker.c b/pidgin/plugins/ticker/gtkticker.c
index 1cdf7ad132..35ea02c239 100644
--- a/pidgin/plugins/ticker/gtkticker.c
+++ b/pidgin/plugins/ticker/gtkticker.c
@@ -41,7 +41,7 @@ static void gtk_ticker_forall (GtkContainer *container,
gboolean include_internals,
GtkCallback callback,
gpointer callback_data);
-static GtkType gtk_ticker_child_type (GtkContainer *container);
+static GType gtk_ticker_child_type (GtkContainer *container);
static GtkContainerClass *parent_class = NULL;
@@ -97,7 +97,7 @@ static void gtk_ticker_class_init (GtkTickerClass *class)
widget_class = (GtkWidgetClass*) class;
container_class = (GtkContainerClass*) class;
- parent_class = gtk_type_class (GTK_TYPE_CONTAINER);
+ parent_class = g_type_class_ref (GTK_TYPE_CONTAINER);
gobject_class->finalize = gtk_ticker_finalize;
@@ -112,7 +112,7 @@ static void gtk_ticker_class_init (GtkTickerClass *class)
container_class->child_type = gtk_ticker_child_type;
}
-static GtkType gtk_ticker_child_type (GtkContainer *container)
+static GType gtk_ticker_child_type (GtkContainer *container)
{
return GTK_TYPE_WIDGET;
}
diff --git a/pidgin/plugins/ticker/gtkticker.h b/pidgin/plugins/ticker/gtkticker.h
index aa6ab8d779..7fc4f476e1 100644
--- a/pidgin/plugins/ticker/gtkticker.h
+++ b/pidgin/plugins/ticker/gtkticker.h
@@ -33,11 +33,11 @@
extern "C" {
#endif /* __cplusplus */
-#define GTK_TYPE_TICKER (gtk_ticker_get_type ())
-#define GTK_TICKER(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_TICKER, GtkTicker))
-#define GTK_TICKER_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_TICKER, GtkTickerClass))
-#define GTK_IS_TICKER(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_TICKER))
-#define GTK_IS_TICKER_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TICKER))
+#define GTK_TYPE_TICKER (gtk_ticker_get_type())
+#define GTK_TICKER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_TYPE_TICKER, GtkTicker))
+#define GTK_TICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTK_TYPE_TICKER, GtkTickerClass))
+#define GTK_IS_TICKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_TYPE_TICKER))
+#define GTK_IS_TICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_TYPE_TICKER))
typedef struct _GtkTicker GtkTicker;
@@ -72,7 +72,7 @@ struct _GtkTickerChild
};
-GtkType gtk_ticker_get_type (void);
+GType gtk_ticker_get_type (void);
GtkWidget* gtk_ticker_new (void);
void gtk_ticker_add (GtkTicker *ticker,
GtkWidget *widget);
diff --git a/pidgin/plugins/win32/transparency/win2ktrans.c b/pidgin/plugins/win32/transparency/win2ktrans.c
index bec1f1f3b4..9b31e7d3c1 100644
--- a/pidgin/plugins/win32/transparency/win2ktrans.c
+++ b/pidgin/plugins/win32/transparency/win2ktrans.c
@@ -182,7 +182,7 @@ static GtkWidget *wintrans_slider(GtkWidget *win) {
/* On slider val change, update window's transparency level */
g_signal_connect(GTK_OBJECT(slider), "value-changed",
- GTK_SIGNAL_FUNC(change_alpha), win);
+ G_CALLBACK(change_alpha), win);
gtk_box_pack_start(GTK_BOX(hbox), slider, FALSE, TRUE, 5);
@@ -563,7 +563,7 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) {
button = pidgin_prefs_checkbox(_("_IM window transparency"),
OPT_WINTRANS_IM_ENABLED, imtransbox);
g_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(update_convs_wintrans),
+ G_CALLBACK(update_convs_wintrans),
(gpointer) OPT_WINTRANS_IM_ENABLED);
trans_box = gtk_vbox_new(FALSE, 18);
@@ -572,12 +572,12 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) {
gtk_widget_show(trans_box);
g_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(pidgin_toggle_sensitive), trans_box);
+ G_CALLBACK(pidgin_toggle_sensitive), trans_box);
button = pidgin_prefs_checkbox(_("_Show slider bar in IM window"),
OPT_WINTRANS_IM_SLIDER, trans_box);
g_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(update_convs_wintrans),
+ G_CALLBACK(update_convs_wintrans),
(gpointer) OPT_WINTRANS_IM_SLIDER);
button = pidgin_prefs_checkbox(
@@ -587,7 +587,7 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) {
button = pidgin_prefs_checkbox(_("Always on top"), OPT_WINTRANS_IM_ONTOP,
trans_box);
g_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(update_convs_wintrans),
+ G_CALLBACK(update_convs_wintrans),
(gpointer) OPT_WINTRANS_IM_ONTOP);
gtk_box_pack_start(GTK_BOX(imtransbox), trans_box, FALSE, FALSE, 5);
@@ -604,9 +604,9 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) {
gtk_widget_set_usize(GTK_WIDGET(slider), 200, -1);
g_signal_connect(GTK_OBJECT(slider), "value-changed",
- GTK_SIGNAL_FUNC(alpha_change), NULL);
+ G_CALLBACK(alpha_change), NULL);
g_signal_connect(GTK_OBJECT(slider), "focus-out-event",
- GTK_SIGNAL_FUNC(alpha_pref_set_int),
+ G_CALLBACK(alpha_pref_set_int),
(gpointer) OPT_WINTRANS_IM_ALPHA);
gtk_box_pack_start(GTK_BOX(hbox), slider, FALSE, TRUE, 5);
@@ -620,7 +620,7 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) {
button = pidgin_prefs_checkbox(_("_Buddy List window transparency"),
OPT_WINTRANS_BL_ENABLED, bltransbox);
g_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(set_blist_trans),
+ G_CALLBACK(set_blist_trans),
(gpointer) OPT_WINTRANS_BL_ENABLED);
trans_box = gtk_vbox_new(FALSE, 18);
@@ -628,14 +628,14 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) {
gtk_widget_set_sensitive(GTK_WIDGET(trans_box), FALSE);
gtk_widget_show(trans_box);
g_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(pidgin_toggle_sensitive), trans_box);
+ G_CALLBACK(pidgin_toggle_sensitive), trans_box);
button = pidgin_prefs_checkbox(
_("Remove Buddy List window transparency on focus"),
OPT_WINTRANS_BL_ONFOCUS, trans_box);
button = pidgin_prefs_checkbox(_("Always on top"), OPT_WINTRANS_BL_ONTOP,
trans_box);
g_signal_connect(GTK_OBJECT(button), "clicked",
- GTK_SIGNAL_FUNC(set_blist_trans),
+ G_CALLBACK(set_blist_trans),
(gpointer) OPT_WINTRANS_BL_ONTOP);
gtk_box_pack_start(GTK_BOX(bltransbox), trans_box, FALSE, FALSE, 5);
@@ -652,9 +652,9 @@ static GtkWidget *get_config_frame(PurplePlugin *plugin) {
gtk_widget_set_usize(GTK_WIDGET(slider), 200, -1);
g_signal_connect(GTK_OBJECT(slider), "value-changed",
- GTK_SIGNAL_FUNC(bl_alpha_change), NULL);
+ G_CALLBACK(bl_alpha_change), NULL);
g_signal_connect(GTK_OBJECT(slider), "focus-out-event",
- GTK_SIGNAL_FUNC(alpha_pref_set_int),
+ G_CALLBACK(alpha_pref_set_int),
(gpointer) OPT_WINTRANS_BL_ALPHA);
gtk_box_pack_start(GTK_BOX(hbox), slider, FALSE, TRUE, 5);
diff --git a/pidgin/win32/nsis/pidgin-installer.nsi b/pidgin/win32/nsis/pidgin-installer.nsi
index f39078a162..a3345cce2d 100644
--- a/pidgin/win32/nsis/pidgin-installer.nsi
+++ b/pidgin/win32/nsis/pidgin-installer.nsi
@@ -813,6 +813,7 @@ Section Uninstall
; Shortcuts..
Delete "$DESKTOP\Pidgin.lnk"
+ Delete "$SMPROGRAMS\Pidgin.lnk"
Goto done
diff --git a/po/de.po b/po/de.po
index 11abb7c79a..711851c02a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: de\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-03-28 16:59+0100\n"
-"PO-Revision-Date: 2009-03-28 16:53+0100\n"
-"Last-Translator: Jochen Kemnade <jochenkemnade@web.de>\n"
+"POT-Creation-Date: 2009-04-16 16:28+0200\n"
+"PO-Revision-Date: 2009-04-16 16:27+0200\n"
+"Last-Translator: Björn Voigt <bjoern@cs.tu-berlin.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -614,19 +614,6 @@ msgstr ""
msgid "Send To"
msgstr "Senden an"
-msgid "Invite message"
-msgstr "Einladungsnachricht"
-
-msgid "Invite"
-msgstr "Einladen"
-
-msgid ""
-"Please enter the name of the user you wish to invite,\n"
-"along with an optional invite message."
-msgstr ""
-"Bitte geben Sie den Benutzernamen der Person ein, die Sie einladen möchten "
-"zusammen mit einer optionalen Einladungsnachricht."
-
msgid "Conversation"
msgstr "Unterhaltung"
@@ -889,6 +876,39 @@ msgstr "Alle Unterhaltungen"
msgid "System Log"
msgstr "System-Mitschnitt"
+msgid "Calling ... "
+msgstr "Anrufen..."
+
+msgid "Hangup"
+msgstr "Auflegen"
+
+#. Number of actions
+msgid "Accept"
+msgstr "Akzeptieren"
+
+msgid "Reject"
+msgstr "Ablehnen"
+
+msgid "Call in progress."
+msgstr "Anruf läuft."
+
+msgid "The call has been terminated."
+msgstr "Der Anruf wurde beendet."
+
+#, c-format
+msgid "%s wishes to start an audio session with you."
+msgstr "%s möchte eine Audio-Sitzung mit Ihnen starten."
+
+#, c-format
+msgid "%s is trying to start an unsupported media session type with you."
+msgstr ""
+
+msgid "You have rejected the call."
+msgstr "Sie haben den Anruf abgelehnt."
+
+msgid "call: Make an audio call."
+msgstr "call: Einen Audio-Anruf tätigen."
+
msgid "Emails"
msgstr "E-Mails"
@@ -923,6 +943,9 @@ msgstr "Fortfahren"
msgid "IM"
msgstr "Nachricht"
+msgid "Invite"
+msgstr "Einladen"
+
msgid "(none)"
msgstr "(kein)"
@@ -1092,7 +1115,7 @@ msgstr "%s hat begonnen Ihnen zu schreiben (%s)"
#, c-format
msgid "%s has paused while typing to you (%s)"
-msgstr "%s hat beim Schreiben an Sie (%s) angehalten"
+msgstr "%s hat beim Tippen an Sie (%s) angehalten"
#, c-format
msgid "%s has signed on (%s)"
@@ -1537,6 +1560,27 @@ msgstr "Gnt-Verlauf"
msgid "Lastlog plugin."
msgstr "Verlauf-Plugin."
+msgid ""
+"\n"
+"Fetching TinyURL..."
+msgstr ""
+
+msgid "Only create TinyURL for urls of this length or greater"
+msgstr ""
+
+msgid "TinyURL (or other) address prefix"
+msgstr ""
+
+#, fuzzy
+msgid "TinyURL"
+msgstr "URL anpassen"
+
+msgid "TinyURL plugin"
+msgstr ""
+
+msgid "When receiving a message with URL(s), TinyURL for easier copying"
+msgstr ""
+
msgid "accounts"
msgstr "Konten"
@@ -1638,13 +1682,6 @@ msgstr "Akzeptieren Sie das Zertifikat für %s?"
msgid "SSL Certificate Verification"
msgstr "SSL-Zertifikatsüberprüfung"
-#. Number of actions
-msgid "Accept"
-msgstr "Akzeptieren"
-
-msgid "Reject"
-msgstr "Ablehnen"
-
msgid "_View Certificate..."
msgstr "Ze_rtifikat ansehen..."
@@ -1792,6 +1829,18 @@ msgstr "%s hat den Raum verlassen."
msgid "%s left the room (%s)."
msgstr "%s hat den Raum verlassen (%s)."
+#, fuzzy
+msgid "Invite to chat"
+msgstr "Zur Konferenz einladen"
+
+#. Put our happy label in it.
+msgid ""
+"Please enter the name of the user you wish to invite, along with an optional "
+"invite message."
+msgstr ""
+"Bitte geben Sie den Benutzernamen der Person ein, die Sie einladen möchten "
+"zusammen mit einer optionalen Einladungsnachricht."
+
#, c-format
msgid "Failed to get connection: %s"
msgstr "Kann keine Verbindung herstellen: %s"
@@ -2631,7 +2680,7 @@ msgid "Do not ask. Always save in pounce."
msgstr "Nicht nachfragen. Immer als Alarm sichern."
msgid "One Time Password"
-msgstr ""
+msgstr "Einmalpasswort"
#. *< type
#. *< ui_requirement
@@ -2640,13 +2689,13 @@ msgstr ""
#. *< priority
#. *< id
msgid "One Time Password Support"
-msgstr ""
+msgstr "Unterstützung für Einmalpasswörter"
#. *< name
#. *< version
#. * summary
msgid "Enforce that passwords are used only once."
-msgstr ""
+msgstr "Erzwinge, dass Passwörter nur einmal verwendet werden."
#. * description
msgid ""
@@ -3748,6 +3797,10 @@ msgstr "Client"
msgid "Operating System"
msgstr "Betriebssystem"
+#, fuzzy
+msgid "Local Time"
+msgstr "Lokale Datei:"
+
msgid "Last Activity"
msgstr "Letzte Aktivität"
@@ -4493,6 +4546,37 @@ msgstr "Anklopfen"
msgid "%s has buzzed you!"
msgstr "%s hat bei Ihnen angeklopft!"
+#, fuzzy, c-format
+msgid "Unable to initiate media with %s: invalid JID"
+msgstr "Kann die Nachricht an %s nicht senden, ungültige JID"
+
+#, fuzzy, c-format
+msgid "Unable to initiate media with %s: user is not online"
+msgstr "Kann die Datei nicht an %s senden, Benutzer ist nicht online"
+
+#, fuzzy, c-format
+msgid "Unable to initiate media with %s: not subscribed to user presence"
+msgstr ""
+"Kann die Datei nicht an %s senden, Anwesenheit des Benutzers nicht abonniert"
+
+#, fuzzy
+msgid "Media Initiation Failed"
+msgstr "Registrierung fehlgeschlagen"
+
+#, fuzzy, c-format
+msgid ""
+"Please select the resource of %s with which you would like to start a media "
+"session."
+msgstr ""
+"Bitte wählen Sie die Ressource von %s, an die Sie eine Datei schicken möchten"
+
+msgid "Select a Resource"
+msgstr "Wählen Sie eine Ressource"
+
+#, fuzzy
+msgid "Initiate Media"
+msgstr "Initiiere _Chat"
+
msgid "config: Configure a chat room."
msgstr "config: Konfiguriere einen Chatraum."
@@ -4687,9 +4771,6 @@ msgid "Please select the resource of %s to which you would like to send a file"
msgstr ""
"Bitte wählen Sie die Ressource von %s, an die Sie eine Datei schicken möchten"
-msgid "Select a Resource"
-msgstr "Wählen Sie eine Ressource"
-
msgid "Edit User Mood"
msgstr "Benutzerstimmung ändern"
@@ -7308,9 +7389,8 @@ msgstr "Buddy-Notiz"
msgid "Change his/her memo as you like"
msgstr ""
-#, fuzzy
msgid "_Modify"
-msgstr "Bearbeiten"
+msgstr "_Bearbeiten"
#, fuzzy
msgid "Memo Modify"
@@ -10345,6 +10425,16 @@ msgstr "_Info abrufen"
msgid "I_M"
msgstr "I_M"
+#, fuzzy
+msgid "_Audio Call"
+msgstr "Chat _hinzufügen"
+
+msgid "Audio/_Video Call"
+msgstr "Audio/_Video-Anruf"
+
+msgid "_Video Call"
+msgstr "_Video-Anruf"
+
msgid "_Send File..."
msgstr "_Datei versenden..."
@@ -10775,14 +10865,6 @@ msgstr ""
msgid "Invite Buddy Into Chat Room"
msgstr "Buddy in einen Chatraum einladen"
-#. Put our happy label in it.
-msgid ""
-"Please enter the name of the user you wish to invite, along with an optional "
-"invite message."
-msgstr ""
-"Bitte geben Sie den Benutzernamen der Person ein, die Sie einladen möchten "
-"zusammen mit einer optionalen Einladungsnachricht."
-
msgid "_Buddy:"
msgstr "_Buddy:"
@@ -10857,6 +10939,22 @@ msgstr "/Unterhaltung/S_peichern als..."
msgid "/Conversation/Clea_r Scrollback"
msgstr "/Unterhaltung/_Leeren"
+#, fuzzy
+msgid "/Conversation/M_edia"
+msgstr "/Unterhaltung/Me_hr"
+
+#, fuzzy
+msgid "/Conversation/Media/_Audio Call"
+msgstr "/Unterhaltung/Me_hr"
+
+#, fuzzy
+msgid "/Conversation/Media/_Video Call"
+msgstr "/Unterhaltung/Me_hr"
+
+#, fuzzy
+msgid "/Conversation/Media/Audio\\/Video _Call"
+msgstr "/Unterhaltung/Betrachte _Mitschnitt"
+
msgid "/Conversation/Se_nd File..."
msgstr "/Unterhaltung/Datei _senden..."
@@ -10929,6 +11027,18 @@ msgstr "/Unterhaltung"
msgid "/Conversation/View Log"
msgstr "/Unterhaltung/Betrachte Mitschnitt"
+#, fuzzy
+msgid "/Conversation/Media/Audio Call"
+msgstr "/Unterhaltung/Mehr"
+
+#, fuzzy
+msgid "/Conversation/Media/Video Call"
+msgstr "/Unterhaltung/Betrachte Mitschnitt"
+
+#, fuzzy
+msgid "/Conversation/Media/Audio\\/Video Call"
+msgstr "/Unterhaltung/Mehr"
+
msgid "/Conversation/Send File..."
msgstr "/Unterhaltung/Datei senden ..."
@@ -12073,6 +12183,23 @@ msgstr "Pidgin"
msgid "Exiting because another libpurple client is already running.\n"
msgstr "Wird geschlossen, da bereits ein anderer libpurple-Client läuft\n"
+msgid "/_Media"
+msgstr "/_Medien"
+
+msgid "/Media/_Hangup"
+msgstr "/Medien/_Auflegen"
+
+msgid "Calling..."
+msgstr "Anrufen..."
+
+#, c-format
+msgid "%s wishes to start an audio/video session with you."
+msgstr ""
+
+#, c-format
+msgid "%s wishes to start a video session with you."
+msgstr ""
+
#, c-format
msgid "%s has %d new message."
msgid_plural "%s has %d new messages."
@@ -12240,43 +12367,33 @@ msgstr "_Wiederkehrend"
msgid "Pounce Target"
msgstr "Alarm-Ziel"
-#, fuzzy
msgid "Started typing"
-msgstr "zu tippen beginnt"
+msgstr "Beginnt zu tippen"
-#, fuzzy
msgid "Paused while typing"
-msgstr "beim Tippen anhält"
+msgstr "Hat beim Tippen angehalten"
-#, fuzzy
msgid "Signed on"
-msgstr "sich anmeldet"
+msgstr "Hat sich anmeldet"
-#, fuzzy
msgid "Returned from being idle"
-msgstr "%s ist nicht mehr inaktiv (%s)"
+msgstr "Ist nicht mehr inaktiv"
-#, fuzzy
msgid "Returned from being away"
-msgstr "wieder anwesend ist"
+msgstr "Ist wieder anwesend"
-#, fuzzy
msgid "Stopped typing"
-msgstr "Tippen gestoppt"
+msgstr "Hat das Tippen gestoppt"
-#, fuzzy
msgid "Signed off"
-msgstr "sich abmeldet"
+msgstr "Hat sich abmeldet"
-#, fuzzy
msgid "Became idle"
-msgstr "untätig wird"
+msgstr "Wurde untätig"
-#, fuzzy
msgid "Went away"
-msgstr "Bei Abwesenheit"
+msgstr "Ging hinaus"
-#, fuzzy
msgid "Sent a message"
msgstr "Eine Nachricht senden"
@@ -12420,9 +12537,6 @@ msgstr "Kann das Proxy-Konfigurationsprogramm nicht starten."
msgid "Cannot start browser configuration program."
msgstr "Kann das Browser-Konfigurationsprogramm nicht starten."
-msgid "ST_UN server:"
-msgstr "ST_UN Server:"
-
msgid "<span style=\"italic\">Example: stunserver.org</span>"
msgstr "<span style=\"italic\">Beispiel: stunserver.org</span>"
@@ -12447,6 +12561,10 @@ msgstr "_Start-Port:"
msgid "_End port:"
msgstr "_End-Port:"
+#. TURN server
+msgid "Relay Server (TURN)"
+msgstr "Relay-Server (TURN)"
+
msgid "Proxy Server &amp; Browser"
msgstr "Proxy-Server &amp; Browser"
@@ -12477,7 +12595,7 @@ msgstr "Kein Proxy"
#. This is a global option that affects SOCKS4 usage even with account-specific proxy settings
msgid "Use remote DNS with SOCKS4 proxies"
-msgstr "Remote-DNS mit SOCKS4-Proxys benuten"
+msgstr "Remote-DNS mit SOCKS4-Proxys benutzen"
msgid "_User:"
msgstr "_Benutzer:"
@@ -14003,3 +14121,16 @@ msgstr "Sendet und empfängt RAW-XMPP-Blöcke."
msgid "This plugin is useful for debbuging XMPP servers or clients."
msgstr ""
"Dieses Plugin ist nützlich zur Fehlersuche in XMPP-Servern oder -Clients."
+
+#~ msgid "Invite message"
+#~ msgstr "Einladungsnachricht"
+
+#~ msgid ""
+#~ "Please enter the name of the user you wish to invite,\n"
+#~ "along with an optional invite message."
+#~ msgstr ""
+#~ "Bitte geben Sie den Benutzernamen der Person ein, die Sie einladen "
+#~ "möchten zusammen mit einer optionalen Einladungsnachricht."
+
+#~ msgid "ST_UN server:"
+#~ msgstr "ST_UN Server:"