summaryrefslogtreecommitdiff
path: root/libpurple/protocols/qq/group.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpurple/protocols/qq/group.c')
-rw-r--r--libpurple/protocols/qq/group.c61
1 files changed, 4 insertions, 57 deletions
diff --git a/libpurple/protocols/qq/group.c b/libpurple/protocols/qq/group.c
index 4b67821c07..8962e12c45 100644
--- a/libpurple/protocols/qq/group.c
+++ b/libpurple/protocols/qq/group.c
@@ -30,20 +30,19 @@
#include "group_internal.h"
#include "group_info.h"
-#include "group_search.h"
+#include "group_join.h"
#include "utils.h"
#include "qq_network.h"
-#include "header_info.h"
-#include "group.h"
+#include "qq_define.h"
static void _qq_group_search_callback(PurpleConnection *gc, const gchar *input)
{
guint32 ext_id;
g_return_if_fail(input != NULL);
- ext_id = qq_string_to_dec_value(input);
+ ext_id = strtol(input, NULL, 10);
/* 0x00000000 means search for demo group */
- qq_send_cmd_group_search_group(gc, ext_id);
+ qq_request_room_search(gc, ext_id, QQ_ROOM_SEARCH_ONLY);
}
static void _qq_group_search_cancel_callback(PurpleConnection *gc, const gchar *input)
@@ -98,20 +97,8 @@ PurpleRoomlist *qq_roomlist_get_list(PurpleConnection *gc)
f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, _("Group ID"), QQ_ROOM_KEY_EXTERNAL_ID, FALSE);
fields = g_list_append(fields, f);
- f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, _("Creator"), QQ_ROOM_KEY_CREATOR_UID, FALSE);
- fields = g_list_append(fields, f);
- f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING,
- _("Group Description"), QQ_ROOM_KEY_DESC_UTF8, FALSE);
- fields = g_list_append(fields, f);
f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "", QQ_ROOM_KEY_INTERNAL_ID, TRUE);
fields = g_list_append(fields, f);
- f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "", QQ_ROOM_KEY_TYPE, TRUE);
- fields = g_list_append(fields, f);
- f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, _("Auth"), QQ_ROOM_KEY_AUTH_TYPE, TRUE);
- fields = g_list_append(fields, f);
- f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "", QQ_ROOM_KEY_CATEGORY, TRUE);
- fields = g_list_append(fields, f);
- f = purple_roomlist_field_new(PURPLE_ROOMLIST_FIELD_STRING, "", QQ_ROOM_KEY_TITLE_UTF8, TRUE);
fields = g_list_append(fields, f);
purple_roomlist_set_fields(rl, fields);
@@ -142,43 +129,3 @@ void qq_roomlist_cancel(PurpleRoomlist *list)
purple_roomlist_set_in_progress(list, FALSE);
purple_roomlist_unref(list);
}
-
-/* this should be called upon signin, even when we did not open group chat window */
-void qq_group_init(PurpleConnection *gc)
-{
- PurpleAccount *account;
- PurpleChat *chat;
- PurpleGroup *purple_group;
- PurpleBlistNode *node;
- qq_group *group;
- gint count;
-
- account = purple_connection_get_account(gc);
-
- purple_group = purple_find_group(PURPLE_GROUP_QQ_QUN);
- if (purple_group == NULL) {
- purple_debug_info("QQ", "We have no QQ Qun\n");
- return;
- }
-
- count = 0;
- for (node = ((PurpleBlistNode *) purple_group)->child; node != NULL; node = node->next) {
- if ( !PURPLE_BLIST_NODE_IS_CHAT(node)) {
- continue;
- }
- /* got one */
- chat = (PurpleChat *) node;
- if (account != purple_chat_get_account(chat)) /* not qq account*/
- continue;
- group = qq_room_create_by_hashtable(gc, purple_chat_get_components(chat));
- if (group == NULL)
- continue;
-
- if (group->id <= 0)
- continue;
-
- count++;
- }
-
- purple_debug_info("QQ", "Load %d QQ Qun configurations\n", count);
-}