Mercurial > pidgin.yaz
comparison pidgin/gtkconv.c @ 19897:922960f829f9
disapproval of revision '08f542359200866bb7a302653d875cdeccb8df01'
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 01 Dec 2007 01:44:54 +0000 |
parents | 8a5d7be3e22e |
children | c5e55b596d1e |
comparison
equal
deleted
inserted
replaced
19896:8a5d7be3e22e | 19897:922960f829f9 |
---|---|
5040 static void | 5040 static void |
5041 received_im_msg_cb(PurpleAccount *account, char *sender, char *message, | 5041 received_im_msg_cb(PurpleAccount *account, char *sender, char *message, |
5042 PurpleConversation *conv, PurpleMessageFlags flags) | 5042 PurpleConversation *conv, PurpleMessageFlags flags) |
5043 { | 5043 { |
5044 PurpleConversationUiOps *ui_ops = pidgin_conversations_get_conv_ui_ops(); | 5044 PurpleConversationUiOps *ui_ops = pidgin_conversations_get_conv_ui_ops(); |
5045 | 5045 if (conv != NULL) |
5046 /* XXX sadrul: set _ui_ops for the conversation to NULL, and get rid of the hidden convwindow */ | 5046 return; |
5047 | |
5047 /* create hidden conv if hide_new pref is always */ | 5048 /* create hidden conv if hide_new pref is always */ |
5048 /* or if hide_new pref is away and account is away */ | 5049 if (strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "always") == 0) |
5049 if ((strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "always") == 0) || | 5050 { |
5050 (strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away") == 0 && | 5051 ui_ops->create_conversation = pidgin_conv_new_hidden; |
5051 !purple_status_is_available(purple_account_get_active_status(account)))) { | 5052 purple_conversation_new(PURPLE_CONV_TYPE_IM, account, sender); |
5052 if (!conv) { | 5053 ui_ops->create_conversation = pidgin_conv_new; |
5053 ui_ops->create_conversation = NULL; | 5054 return; |
5054 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, sender); | 5055 } |
5055 purple_conversation_set_ui_ops(conv, NULL); | 5056 |
5056 ui_ops->create_conversation = pidgin_conv_new; | 5057 /* create hidden conv if hide_new pref is away and account is away */ |
5057 } | 5058 if (strcmp(purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/im/hide_new"), "away") == 0 && |
5058 } else { | 5059 !purple_status_is_available(purple_account_get_active_status(account))) |
5059 /* new message for an IM */ | 5060 { |
5060 if (conv && conv->type == PURPLE_CONV_TYPE_IM) | 5061 ui_ops->create_conversation = pidgin_conv_new_hidden; |
5061 pidgin_conv_attach_to_conversation(conv); | 5062 purple_conversation_new(PURPLE_CONV_TYPE_IM, account, sender); |
5063 ui_ops->create_conversation = pidgin_conv_new; | |
5064 return; | |
5062 } | 5065 } |
5063 } | 5066 } |
5064 | 5067 |
5065 static void | 5068 static void |
5066 pidgin_conv_destroy(PurpleConversation *conv) | 5069 pidgin_conv_destroy(PurpleConversation *conv) |