Mercurial > pidgin.yaz
changeset 22508:86c18b2a16cc
merge of '541f6529c3dbec16782707ce37eb8206f95fc92e'
and 'e4c829c5c55062700c14f234887b29ade8239b63'
author | Etan Reisner <pidgin@unreliablesource.net> |
---|---|
date | Tue, 04 Mar 2008 02:48:30 +0000 |
parents | d9105ead88dc (current diff) 2f7b42cc612c (diff) |
children | deb07e7d8679 |
files | |
diffstat | 3 files changed, 63 insertions(+), 84 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/account.c Tue Mar 04 00:11:22 2008 +0000 +++ b/libpurple/account.c Tue Mar 04 02:48:30 2008 +0000 @@ -751,6 +751,7 @@ description = g_strdup(""); current_error = g_new0(PurpleConnectionErrorInfo, 1); + PURPLE_DBUS_REGISTER_POINTER(current_error, PurpleConnectionErrorInfo); current_error->type = type; current_error->description = description; @@ -1009,6 +1010,7 @@ purple_log_free(account->system_log); priv = PURPLE_ACCOUNT_GET_PRIVATE(account); + PURPLE_DBUS_UNREGISTER_POINTER(priv->current_error); g_free(priv->current_error); g_free(priv); @@ -2365,8 +2367,7 @@ } static void -set_current_error(PurpleAccount *account, - PurpleConnectionErrorInfo *new_err) +set_current_error(PurpleAccount *account, PurpleConnectionErrorInfo *new_err) { PurpleAccountPrivate *priv; PurpleConnectionErrorInfo *old_err; @@ -2389,6 +2390,7 @@ if(old_err) g_free(old_err->description); + PURPLE_DBUS_UNREGISTER_POINTER(old_err); g_free(old_err); } @@ -2406,6 +2408,7 @@ g_return_if_fail(account != NULL); err = g_new0(PurpleConnectionErrorInfo, 1); + PURPLE_DBUS_REGISTER_POINTER(err, PurpleConnectionErrorInfo); err->type = type; err->description = g_strdup(description);
--- a/libpurple/plugins/test.pl Tue Mar 04 00:11:22 2008 +0000 +++ b/libpurple/plugins/test.pl Tue Mar 04 02:48:30 2008 +0000 @@ -1,6 +1,4 @@ -#!/usr/bin/env perl -w - -use Gaim; +use Purple; %PLUGIN_INFO = ( perl_api_version => 2, @@ -8,51 +6,37 @@ version => '1.0', summary => 'Provides as a test base for the perl plugin.', description => 'Provides as a test base for the perl plugin.', - author => 'Christian Hammond <chipx86@gnupdate.org>', + author => 'Etan Reisner <deryni\@pidgin.im>', url => 'http://pidgin.im', - load => "plugin_load", - unload => "plugin_unload" + load => "plugin_load" ); -sub account_away_cb { - Gaim::debug_info("perl test plugin", "In account_away_cb\n"); - - my ($account, $state, $message, $data) = @_; - - Gaim::debug_info("perl test plugin", "Account " . - $account->get_username() . " went away.\n"); - Gaim::debug_info("perl test plugin", $data . "\n"); -} - sub plugin_init { return %PLUGIN_INFO; } +sub account_status_cb { + my ($account, $old, $new, $data) = @_; + + Purple::Debug::info("perl test plugin", "In account_status_cb\n"); + + Purple::Debug::info("perl test plugin", "Account " . + $account->get_username() . " changed status.\n"); + Purple::Debug::info("perl test plugin", $data . "\n"); +} + sub plugin_load { - Gaim::debug_info("perl test plugin", "plugin_load\n"); my $plugin = shift; - Gaim::debug_info("perl test plugin", "Listing accounts.\n"); - foreach $account (Gaim::accounts()) { - Gaim::debug_info("perl test plugin", $account->get_username() . "\n"); + Purple::Debug::info("perl test plugin", "plugin_load\n"); + + Purple::Debug::info("perl test plugin", "Listing accounts.\n"); + foreach $account (Purple::Accounts::get_all()) { + Purple::Debug::info("perl test plugin", $account->get_username() . "\n"); } - Gaim::debug_info("perl test plugin", "Listing buddy list.\n"); - foreach $group (Gaim::BuddyList::groups()) { - Gaim::debug_info("perl test plugin", - $group->get_name() . ":\n"); - - foreach $buddy ($group->buddies()) { - Gaim::debug_info("perl test plugin", - " " . $buddy->get_name() . "\n"); - } - } - - Gaim::signal_connect(Gaim::Accounts::handle, "account-away", - $plugin, \&account_away_cb, "test"); + Purple::Signal::connect(Purple::Accounts::get_handle(), + "account-status-changed", $plugin, + \&account_status_cb, "test"); } - -sub plugin_unload { - my $plugin = shift; -}
--- a/pidgin/gtkblist.c Tue Mar 04 00:11:22 2008 +0000 +++ b/pidgin/gtkblist.c Tue Mar 04 02:48:30 2008 +0000 @@ -3318,24 +3318,34 @@ purple_notify_user_info_destroy(user_info); } else if (PURPLE_BLIST_NODE_IS_GROUP(node)) { + gint count; PurpleGroup *group = (PurpleGroup*)node; PurpleNotifyUserInfo *user_info; user_info = purple_notify_user_info_new(); - /* Total buddies (from online accounts) in group */ - tmp = g_strdup_printf("%d", - purple_blist_get_group_size(group, FALSE)); - purple_notify_user_info_add_pair(user_info, _("Total Buddies"), - tmp); - g_free(tmp); - - /* Online buddies in group */ - tmp = g_strdup_printf("%d", - purple_blist_get_group_online_count(group)); - purple_notify_user_info_add_pair(user_info, _("Online Buddies"), - tmp); - g_free(tmp); + count = purple_blist_get_group_online_count(group); + + if (count != 0) { + /* Online buddies in group */ + tmp = g_strdup_printf("%d", count); + purple_notify_user_info_add_pair(user_info, + _("Online Buddies"), + tmp); + g_free(tmp); + } + count = 0; + + count = purple_blist_get_group_size(group, FALSE); + if (count != 0) { + /* Total buddies (from online accounts) in group */ + tmp = g_strdup_printf("%d", count); + purple_notify_user_info_add_pair(user_info, + _("Total Buddies"), + tmp); + g_free(tmp); + } + count = 0; tmp = purple_notify_user_info_get_text_with_newline(user_info, "\n"); g_string_append(str, tmp); @@ -6320,43 +6330,25 @@ vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(hbox), vbox); - label = gtk_label_new( - _("Please enter the screen name of the person you would like " - "to add to your buddy list. You may optionally enter an alias, " - "or nickname, for the buddy. The alias will be displayed in " - "place of the screen name whenever possible.\n")); - - gtk_widget_set_size_request(GTK_WIDGET(label), 400, -1); - gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); + g_signal_connect(G_OBJECT(data->window), "destroy", + G_CALLBACK(destroy_add_buddy_dialog_cb), data); + + label = gtk_label_new(_("Add a buddy.\n")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); - hbox = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); - gtk_container_add(GTK_CONTAINER(vbox), hbox); - - g_signal_connect(G_OBJECT(data->window), "destroy", - G_CALLBACK(destroy_add_buddy_dialog_cb), data); - table = gtk_table_new(4, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(table), 5); gtk_table_set_col_spacings(GTK_TABLE(table), 5); gtk_container_set_border_width(GTK_CONTAINER(table), 0); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); - /* Set up stuff for the account box */ - label = gtk_label_new_with_mnemonic(_("A_ccount:")); - gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); - gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); - data->account_box = pidgin_account_option_menu_new(account, FALSE, G_CALLBACK(add_buddy_select_account_cb), NULL, data); - gtk_table_attach_defaults(GTK_TABLE(table), data->account_box, 1, 2, 0, 1); - gtk_label_set_mnemonic_widget(GTK_LABEL(label), data->account_box); - pidgin_set_accessible_label (data->account_box, label); - /* End of account box */ - - label = gtk_label_new_with_mnemonic(_("_Screen name:")); + gtk_table_attach_defaults(GTK_TABLE(table), data->account_box, 0, 2, 0, 1); + + label = gtk_label_new_with_mnemonic(_("Buddy's _screen name:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); @@ -6368,23 +6360,23 @@ gtk_entry_set_text(GTK_ENTRY(data->entry), username); else gtk_dialog_set_response_sensitive(GTK_DIALOG(data->window), - GTK_RESPONSE_OK, FALSE); + GTK_RESPONSE_OK, FALSE); gtk_entry_set_activates_default (GTK_ENTRY(data->entry), TRUE); gtk_label_set_mnemonic_widget(GTK_LABEL(label), data->entry); pidgin_set_accessible_label (data->entry, label); g_signal_connect(G_OBJECT(data->entry), "changed", - G_CALLBACK(pidgin_set_sensitive_if_input), - data->window); - - label = gtk_label_new_with_mnemonic(_("A_lias:")); + G_CALLBACK(pidgin_set_sensitive_if_input), + data->window); + + label = gtk_label_new_with_mnemonic(_("(Optional) A_lias:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); data->entry_for_alias = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(table), - data->entry_for_alias, 1, 2, 2, 3); + data->entry_for_alias, 1, 2, 2, 3); if (alias != NULL) gtk_entry_set_text(GTK_ENTRY(data->entry_for_alias), alias); @@ -6396,7 +6388,7 @@ gtk_label_set_mnemonic_widget(GTK_LABEL(label), data->entry_for_alias); pidgin_set_accessible_label (data->entry_for_alias, label); - label = gtk_label_new_with_mnemonic(_("_Group:")); + label = gtk_label_new_with_mnemonic(_("Add buddy to _group:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4);