Mercurial > pidgin.yaz
changeset 25498:e62ec4b475ff
propagate from branch 'im.pidgin.pidgin' (head fc2b3abe07ed5e2601550aae1e34ed81ccb6761d)
to branch 'im.pidgin.pidgin.yaz' (head b8a25192b86e74ff458dd79dab3ce2bcbad01355)
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Tue, 05 Jun 2007 06:41:10 +0000 |
parents | 67ad619bd97f (current diff) 7e856734b712 (diff) |
children | 6df81f2760a2 |
files | libpurple/conversation.c pidgin/gtkconv.c |
diffstat | 4 files changed, 52 insertions(+), 42 deletions(-) [+] |
line wrap: on
line diff
--- a/COPYRIGHT Mon Jun 04 07:22:38 2007 +0000 +++ b/COPYRIGHT Tue Jun 05 06:41:10 2007 +0000 @@ -265,6 +265,7 @@ Ted Percival Eduardo Pérez Matt Perry +Nathan Peterson Celso Pinto Joao Luís Marques Pinto Aleksander Piotrowski
--- a/libpurple/conversation.c Mon Jun 04 07:22:38 2007 +0000 +++ b/libpurple/conversation.c Tue Jun 05 06:41:10 2007 +0000 @@ -1545,20 +1545,22 @@ PurpleConvChatBuddyFlags flag = GPOINTER_TO_INT(fl->data); const char *extra_msg = (extra_msgs ? extra_msgs->data : NULL); - if (!strcmp(chat->nick, purple_normalize(conv->account, user))) { - const char *alias2 = purple_account_get_alias(conv->account); - if (alias2 != NULL) - alias = alias2; - else - { - const char *display_name = purple_connection_get_display_name(gc); - if (display_name != NULL) - alias = display_name; + if(!(prpl_info->options & OPT_PROTO_UNIQUE_CHATNAME)) { + if (!strcmp(chat->nick, purple_normalize(conv->account, user))) { + const char *alias2 = purple_account_get_alias(conv->account); + if (alias2 != NULL) + alias = alias2; + else + { + const char *display_name = purple_connection_get_display_name(gc); + if (display_name != NULL) + alias = display_name; + } + } else { + PurpleBuddy *buddy; + if ((buddy = purple_find_buddy(gc->account, user)) != NULL) + alias = purple_buddy_get_contact_alias(buddy); } - } else if (!(prpl_info->options & OPT_PROTO_UNIQUE_CHATNAME)) { - PurpleBuddy *buddy; - if ((buddy = purple_find_buddy(gc->account, user)) != NULL) - alias = purple_buddy_get_contact_alias(buddy); } quiet = GPOINTER_TO_INT(purple_signal_emit_return_1(purple_conversations_get_handle(), @@ -1643,14 +1645,16 @@ /* Note this for later. */ is_me = TRUE; - alias = purple_account_get_alias(conv->account); - if (alias != NULL) - new_alias = alias; - else - { - const char *display_name = purple_connection_get_display_name(gc); - if (display_name != NULL) - alias = display_name; + if(!(prpl_info->options & OPT_PROTO_UNIQUE_CHATNAME)) { + alias = purple_account_get_alias(conv->account); + if (alias != NULL) + new_alias = alias; + else + { + const char *display_name = purple_connection_get_display_name(gc); + if (display_name != NULL) + alias = display_name; + } } } else if (!(prpl_info->options & OPT_PROTO_UNIQUE_CHATNAME)) { PurpleBuddy *buddy;
--- a/libpurple/idle.c Mon Jun 04 07:22:38 2007 +0000 +++ b/libpurple/idle.c Tue Jun 05 06:41:10 2007 +0000 @@ -92,7 +92,7 @@ } -static int no_away = 0; +static gboolean no_away = FALSE; static gint time_until_next_idle_event; /* * This function should be called when you think your idle state @@ -118,15 +118,15 @@ time_t time_idle; gboolean auto_away; const gchar *idle_reporting; - gboolean report_idle; - GList *l; + gboolean report_idle = TRUE; gint away_seconds = 0; gint idle_recheck_interval = 0; purple_signal_emit(purple_blist_get_handle(), "update-idle"); idle_reporting = purple_prefs_get_string("/purple/away/idle_reporting"); - report_idle = TRUE; + auto_away = purple_prefs_get_bool("/purple/away/away_when_idle"); + if (!strcmp(idle_reporting, "system") && (idle_ui_ops != NULL) && (idle_ui_ops->get_time_idle != NULL)) { @@ -145,15 +145,9 @@ /* Don't report idle time */ time_idle = 0; report_idle = FALSE; - } - /* Auto-away stuff */ - auto_away = purple_prefs_get_bool("/purple/away/away_when_idle"); - - /* If we're not reporting idle, we can still do auto-away. - * First try "system" and if that isn't possible, use "purple" */ - if (!report_idle) - { + /* If we're not reporting idle, we can still do auto-away. + * First try "system" and if that isn't possible, use "purple" */ if (auto_away) { if ((idle_ui_ops != NULL) && (idle_ui_ops->get_time_idle != NULL)) @@ -172,7 +166,7 @@ if (!no_away) { purple_savedstatus_set_idleaway(FALSE); - no_away = 1; + no_away = TRUE; } time_until_next_idle_event = 0; return; @@ -192,11 +186,11 @@ if (auto_away && time_idle > away_seconds) { purple_savedstatus_set_idleaway(TRUE); - no_away = 0; + no_away = FALSE; } else if (!no_away && time_idle < away_seconds) { - no_away = 1; + no_away = TRUE; purple_savedstatus_set_idleaway(FALSE); if (time_until_next_idle_event == 0 || (away_seconds - time_idle) < time_until_next_idle_event) time_until_next_idle_event = away_seconds - time_idle; @@ -205,6 +199,7 @@ /* Idle reporting stuff */ if (report_idle && (time_idle >= IDLEMARK)) { + GList *l; for (l = purple_connections_get_all(); l != NULL; l = l->next) { PurpleConnection *gc = l->data;
--- a/pidgin/gtkconv.c Mon Jun 04 07:22:38 2007 +0000 +++ b/pidgin/gtkconv.c Tue Jun 05 06:41:10 2007 +0000 @@ -2914,14 +2914,25 @@ GList *list; PidginConversation *gtkconv; PurpleConversation *conv; - PurpleBuddy *buddy; + PurpleBlistNode *node = NULL; + PurpleChat *chat = NULL; + PurpleBuddy *buddy = NULL; gtkconv = pidgin_conv_window_get_active_gtkconv(win); conv = gtkconv->active_conv; - buddy = purple_find_buddy(conv->account, conv->name); menu = gtk_item_factory_get_widget(win->menu.item_factory, N_("/Conversation/More")); + if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) + chat = purple_blist_find_chat(conv->account, conv->name); + else + buddy = purple_find_buddy(conv->account, conv->name); + + if (chat) + node = (PurpleBlistNode *)chat; + else if (buddy) + node = (PurpleBlistNode *)buddy; + /* Remove the previous entries */ for (list = gtk_container_get_children(GTK_CONTAINER(menu)); list; ) { @@ -2931,12 +2942,11 @@ } /* Now add the stuff */ - if (buddy) + if (node) { if (purple_account_is_connected(conv->account)) - pidgin_append_blist_node_proto_menu(menu, conv->account->gc, - (PurpleBlistNode *)buddy); - pidgin_append_blist_node_extended_menu(menu, (PurpleBlistNode *)buddy); + pidgin_append_blist_node_proto_menu(menu, conv->account->gc, node); + pidgin_append_blist_node_extended_menu(menu, node); } if ((list = gtk_container_get_children(GTK_CONTAINER(menu))) == NULL)