pidgin.openq: 2634a141: 2009.02.08 - flos <lonicerae(at)gmail.co...
csyfek at gmail.com
csyfek at gmail.com
Sun Feb 8 05:10:28 EST 2009
-----------------------------------------------------------------
Revision: 2634a1410370cffba5172a684edbe1009b78107a
Ancestor: 5e26c110c15af7a9609cc97e2d5ac6333b841cb2
Author: csyfek at gmail.com
Date: 2009-02-08T10:09:34
Branch: im.pidgin.pidgin.openq
URL: http://d.pidgin.im/viewmtn/revision/info/2634a1410370cffba5172a684edbe1009b78107a
Modified files:
libpurple/protocols/qq/ChangeLog
libpurple/protocols/qq/buddy_info.c
libpurple/protocols/qq/buddy_info.h
libpurple/protocols/qq/group_im.c
libpurple/protocols/qq/qq.c libpurple/protocols/qq/qq.h
ChangeLog:
2009.02.08 - flos <lonicerae(at)gmail.com>
* Fixed showing message of chat room when message comes in
-------------- next part --------------
============================================================
--- libpurple/protocols/qq/ChangeLog eb1c0cc13c8613614d53a4c5a2a83b1f880c04bf
+++ libpurple/protocols/qq/ChangeLog d5544ef4b5e6fb2fc1eade7846367b5e716d9d37
@@ -1,3 +1,6 @@
+2009.02.08 - flos <lonicerae(at)gmail.com>
+ * Fixed showing message of chat room when message comes in
+
2008.12.28 - flos <lonicerae(at)gmail.com>
* Fixes #7908
============================================================
--- libpurple/protocols/qq/buddy_info.c d7651f40ec8cbc0247de4117fc89a0f35950bc38
+++ libpurple/protocols/qq/buddy_info.c 7cdeab7e7e95f3b5e6d3ad8ab32976ffc7a2bcca
@@ -108,41 +108,41 @@ static const QQ_FIELD_INFO field_infos[]
} QQ_FIELD_INFO;
static const QQ_FIELD_INFO field_infos[] = {
- { QQ_FIELD_BASE, QQ_FIELD_STRING, "uid", N_("QQ Number"), NULL, 0 },
- { QQ_FIELD_BASE, QQ_FIELD_STRING, "nick", N_("Nickname"), NULL, 0 },
- { QQ_FIELD_ADDR, QQ_FIELD_STRING, "country", N_("Country/Region"), NULL, 0 },
- { QQ_FIELD_ADDR, QQ_FIELD_STRING, "province", N_("Province/State"), NULL, 0 },
- { QQ_FIELD_ADDR, QQ_FIELD_STRING, "zipcode", N_("Zipcode"), NULL, 0 },
- { QQ_FIELD_ADDR, QQ_FIELD_STRING, "address", N_("Address"), NULL, 0 },
- { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "tel", N_("Phone Number"), NULL, 0 },
- { QQ_FIELD_BASE, QQ_FIELD_STRING, "age", N_("Age"), NULL, 0 },
- { QQ_FIELD_BASE, QQ_FIELD_CHOICE, "gender", N_("Gender"), genders, QQ_GENDER_SIZE },
- { QQ_FIELD_BASE, QQ_FIELD_STRING, "name", N_("Name"), NULL, 0 },
- { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "email", N_("Email"), NULL, 0 },
- { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_sn", "Pager Serial Num", NULL, 0 },
+ { QQ_FIELD_BASE, QQ_FIELD_STRING, "uid", N_("QQ Number"), NULL, 0 },
+ { QQ_FIELD_BASE, QQ_FIELD_STRING, "nick", N_("Nickname"), NULL, 0 },
+ { QQ_FIELD_ADDR, QQ_FIELD_STRING, "country", N_("Country/Region"), NULL, 0 },
+ { QQ_FIELD_ADDR, QQ_FIELD_STRING, "province", N_("Province/State"), NULL, 0 },
+ { QQ_FIELD_ADDR, QQ_FIELD_STRING, "zipcode", N_("Zipcode"), NULL, 0 },
+ { QQ_FIELD_ADDR, QQ_FIELD_STRING, "address", N_("Address"), NULL, 0 },
+ { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "tel", N_("Phone Number"), NULL, 0 },
+ { QQ_FIELD_BASE, QQ_FIELD_STRING, "age", N_("Age"), NULL, 0 },
+ { QQ_FIELD_BASE, QQ_FIELD_CHOICE, "gender", N_("Gender"), genders, QQ_GENDER_SIZE },
+ { QQ_FIELD_BASE, QQ_FIELD_STRING, "name", N_("Name"), NULL, 0 },
+ { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "email", N_("Email"), NULL, 0 },
+ { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_sn", "Pager Serial Num", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_num", "Pager Num", NULL, 0 },
- { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_sp", "Pager Serivce Provider", NULL, 0 },
- { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_sta", "Pager Station Num", NULL, 0 },
+ { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_sp", "Pager Serivce Provider", NULL, 0 },
+ { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_sta", "Pager Station Num", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "pg_type", "Pager Type", NULL, 0 },
- { QQ_FIELD_BASE, QQ_FIELD_STRING, "occupation", N_("Occupation"), NULL, 0 },
- { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "homepage", N_("Homepage"), NULL, 0 },
- { QQ_FIELD_BASE, QQ_FIELD_BOOL, "auth", N_("Authorize adding"), NULL, 0 },
+ { QQ_FIELD_BASE, QQ_FIELD_STRING, "occupation", N_("Occupation"), NULL, 0 },
+ { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "homepage", N_("Homepage"), NULL, 0 },
+ { QQ_FIELD_BASE, QQ_FIELD_BOOL, "auth", N_("Authorize adding"), NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "unknow1", "Unknow1", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "unknow2", "Unknow2", NULL, 0 },
- { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "face", "Face", NULL, 0 },
- { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "mobile", N_("Cellphone Number"), NULL, 0 },
- { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "mobile_type","Cellphone Type", NULL, 0 },
- { QQ_FIELD_BASE, QQ_FIELD_MULTI, "intro", N_("Personal Introduction"), NULL, 0 },
- { QQ_FIELD_ADDR, QQ_FIELD_STRING, "city", N_("City/Area"), NULL, 0 },
+ { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "face", "Face", NULL, 0 },
+ { QQ_FIELD_CONTACT, QQ_FIELD_STRING, "mobile", N_("Cellphone Number"), NULL, 0 },
+ { QQ_FIELD_UNUSED, QQ_FIELD_STRING, "mobile_type", "Cellphone Type", NULL, 0 },
+ { QQ_FIELD_BASE, QQ_FIELD_MULTI, "intro", N_("Personal Introduction"), NULL, 0 },
+ { QQ_FIELD_ADDR, QQ_FIELD_STRING, "city", N_("City/Area"), NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "unknow3", "Unknow3", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "unknow4", "Unknow4", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "unknow5", "Unknow5", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_CHOICE, "pub_mobile", N_("Publish Mobile"), publish_types, QQ_PUBLISH_SIZE },
- { QQ_FIELD_CONTACT, QQ_FIELD_CHOICE, "pub_contact", N_("Publish Contact"), publish_types, QQ_PUBLISH_SIZE },
- { QQ_FIELD_EXT, QQ_FIELD_STRING, "college", N_("College"), NULL, 0 },
- { QQ_FIELD_EXT, QQ_FIELD_CHOICE, "horoscope", N_("Horoscope"), horoscope_names, QQ_HOROSCOPE_SIZE },
- { QQ_FIELD_EXT, QQ_FIELD_CHOICE, "zodiac", N_("Zodiac"), zodiac_names, QQ_ZODIAC_SIZE },
- { QQ_FIELD_EXT, QQ_FIELD_CHOICE, "blood", N_("Blood"), blood_types, QQ_BLOOD_SIZE },
+ { QQ_FIELD_CONTACT, QQ_FIELD_CHOICE, "pub_contact", N_("Publish Contact"), publish_types, QQ_PUBLISH_SIZE },
+ { QQ_FIELD_EXT, QQ_FIELD_STRING, "college", N_("College"), NULL, 0 },
+ { QQ_FIELD_EXT, QQ_FIELD_CHOICE, "horoscope", N_("Horoscope"), horoscope_names, QQ_HOROSCOPE_SIZE },
+ { QQ_FIELD_EXT, QQ_FIELD_CHOICE, "zodiac", N_("Zodiac"), zodiac_names, QQ_ZODIAC_SIZE },
+ { QQ_FIELD_EXT, QQ_FIELD_CHOICE, "blood", N_("Blood"), blood_types, QQ_BLOOD_SIZE },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "qq_show", "QQ Show", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "unknow6", "Unknow6", NULL, 0 },
{ QQ_FIELD_UNUSED, QQ_FIELD_STRING, "LAST_2005", "LAST_2005", NULL, 0 }
@@ -196,7 +196,9 @@ static void info_display_only(PurpleConn
break;
case QQ_FIELD_CHOICE:
choice_num = strtol(segments[index], NULL, 10);
- if (choice_num < 0 || choice_num >= field_infos[index].choice_size) choice_num = 0;
+ if (choice_num < 0 || choice_num >= field_infos[index].choice_size) {
+ choice_num = 0;
+ }
purple_notify_user_info_add_pair(user_info, field_infos[index].text, field_infos[index].choice[choice_num]);
break;
============================================================
--- libpurple/protocols/qq/buddy_info.h 2c37eb65aceb72487ef763c8f503767f55a3552b
+++ libpurple/protocols/qq/buddy_info.h a1236727e369a43166a4f9283eaa1a4a81cf5da3
@@ -31,7 +31,7 @@
#include "buddy_opt.h"
#include "qq.h"
-/* use is openq2005
+/* use in qq2005
* ext_flag: (0-7)
* bit1 => qq space
* comm_flag: (0-7)
============================================================
--- libpurple/protocols/qq/group_im.c 263c53a2f53ec6f4ac06f25b5f050dc37f16450b
+++ libpurple/protocols/qq/group_im.c 7780cc5add63d1a8c296c6c13b31c835e266dc1e
@@ -165,6 +165,7 @@ void qq_room_got_chat_in(PurpleConnectio
guint32 room_id, guint32 uid_from, const gchar *msg, time_t in_time)
{
PurpleConversation *conv;
+ qq_data *qd;
qq_buddy_data *bd;
qq_room_data *rmd;
gchar *from;
@@ -172,15 +173,17 @@ void qq_room_got_chat_in(PurpleConnectio
g_return_if_fail(gc != NULL && room_id != 0);
g_return_if_fail(msg != NULL);
+ qd = (qq_data *)gc->proto_data;
conv = purple_find_chat(gc, room_id);
rmd = qq_room_data_find(gc, room_id);
g_return_if_fail(rmd != NULL);
- if (conv == NULL && purple_prefs_get_bool("/plugins/prpl/qq/auto_popup_conversation")) {
+ purple_debug_info("QQ", "is_show_chat:%d\n", qd->is_show_chat);
+ if (NULL == conv && qd->is_show_chat) {
conv = qq_room_conv_open(gc, rmd);
}
- if (conv == NULL) {
+ if (NULL == conv) {
purple_debug_info("QQ", "Conversion of %u is not open, missing from %d:/n%s/v",
room_id, uid_from, msg);
return;
============================================================
--- libpurple/protocols/qq/qq.c ea9c72516a5d6e8f7ce6e70319ac1fbfc72d05e0
+++ libpurple/protocols/qq/qq.c 9134229e4578b4cbbab8f856b5af33541408bdd2
@@ -173,6 +173,7 @@ static void qq_login(PurpleAccount *acco
qd->is_show_notice = purple_account_get_bool(account, "show_notice", TRUE);
qd->is_show_news = purple_account_get_bool(account, "show_news", TRUE);
+ qd->is_show_chat = purple_account_get_bool(account, "show_chat", TRUE);
qd->resend_times = purple_prefs_get_int("/plugins/prpl/qq/resend_times");
if (qd->resend_times <= 1) qd->itv_config.resend = 4;
@@ -1095,6 +1096,9 @@ static void init_plugin(PurplePlugin *pl
option = purple_account_option_bool_new(_("Show server news"), "show_news", TRUE);
prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
+ option = purple_account_option_bool_new(_("Show chat room when msg comes"), "show_chat", TRUE);
+ prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
+
option = purple_account_option_int_new(_("Keep alive interval (seconds)"), "keep_alive_interval", 60);
prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option);
@@ -1104,7 +1108,6 @@ static void init_plugin(PurplePlugin *pl
purple_prefs_add_none("/plugins/prpl/qq");
purple_prefs_add_bool("/plugins/prpl/qq/show_status_by_icon", TRUE);
purple_prefs_add_bool("/plugins/prpl/qq/show_fake_video", FALSE);
- purple_prefs_add_bool("/plugins/prpl/qq/auto_popup_conversation", TRUE);
purple_prefs_add_bool("/plugins/prpl/qq/auto_get_authorize_info", TRUE);
purple_prefs_add_int("/plugins/prpl/qq/resend_interval", 3);
purple_prefs_add_int("/plugins/prpl/qq/resend_times", 10);
============================================================
--- libpurple/protocols/qq/qq.h 623c434b69c2ba72260cbe5d684cf906b879779d
+++ libpurple/protocols/qq/qq.h 17374d17b733cd1891d4ce0e69ccdf3c0e2f7999
@@ -182,6 +182,7 @@ struct _qq_data {
gboolean is_show_notice;
gboolean is_show_news;
+ gboolean is_show_chat;
guint16 send_im_id; /* send IM sequence number */
};
More information about the Commits
mailing list