Mercurial > pidgin
comparison libpurple/protocols/qq/qq.c @ 24092:d4e0b7c484b1
2008.09.11 - csyfek <csyfek(at)gmail.com>
* Commit to Pidgin
2008.09.05 - ccpaging <ccpaging(at)gmail.com>
* Filter chars 0x01-0x20 in nickname
2008.09.05 - ccpaging <ccpaging(at)gmail.com>
* Fixed compilation even pidgin-udp-patch not applied
* Place and analysis 'before login packet' after login. packages will be updated slowly and server may send
lots of 'server command packet', while 'before login packet' is placed after 'finished update'
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Thu, 11 Sep 2008 13:34:33 +0000 |
parents | 5f964757f517 |
children | 22745e6a3136 |
comparison
equal
deleted
inserted
replaced
24091:5f964757f517 | 24092:d4e0b7c484b1 |
---|---|
155 purple_debug_info("QQ", "Server list has %d\n", g_list_length(qd->servers)); | 155 purple_debug_info("QQ", "Server list has %d\n", g_list_length(qd->servers)); |
156 | 156 |
157 qd->is_show_notice = purple_account_get_bool(account, "show_notice", TRUE); | 157 qd->is_show_notice = purple_account_get_bool(account, "show_notice", TRUE); |
158 qd->is_show_news = purple_account_get_bool(account, "show_news", TRUE); | 158 qd->is_show_news = purple_account_get_bool(account, "show_news", TRUE); |
159 | 159 |
160 qd->itv_config.resend = purple_account_get_int(account, "resend_interval", 10); | 160 qd->resend_times = purple_prefs_get_int("/plugins/prpl/qq/resend_times"); |
161 if (qd->itv_config.resend <= 0) qd->itv_config.resend = 10; | 161 if (qd->resend_times <= 1) qd->itv_config.resend = 4; |
162 | |
163 qd->itv_config.resend = purple_prefs_get_int("/plugins/prpl/qq/resend_interval"); | |
164 if (qd->itv_config.resend <= 0) qd->itv_config.resend = 3; | |
165 purple_debug_info("QQ", "Resend interval %d, retries %d\n", | |
166 qd->itv_config.resend, qd->resend_times); | |
162 | 167 |
163 qd->itv_config.keep_alive = purple_account_get_int(account, "keep_alive_interval", 60); | 168 qd->itv_config.keep_alive = purple_account_get_int(account, "keep_alive_interval", 60); |
164 if (qd->itv_config.keep_alive < 30) qd->itv_config.keep_alive = 30; | 169 if (qd->itv_config.keep_alive < 30) qd->itv_config.keep_alive = 30; |
165 qd->itv_config.keep_alive /= qd->itv_config.resend; | 170 qd->itv_config.keep_alive /= qd->itv_config.resend; |
166 qd->itv_count.keep_alive = qd->itv_config.keep_alive; | 171 qd->itv_count.keep_alive = qd->itv_config.keep_alive; |
516 _("Block"), G_CALLBACK(qq_block_buddy_with_gc_and_uid)); | 521 _("Block"), G_CALLBACK(qq_block_buddy_with_gc_and_uid)); |
517 } | 522 } |
518 */ | 523 */ |
519 | 524 |
520 /* show a brief summary of what we get from login packet */ | 525 /* show a brief summary of what we get from login packet */ |
521 static void _qq_menu_show_login_info(PurplePluginAction *action) | 526 static void _qq_menu_account_info(PurplePluginAction *action) |
522 { | 527 { |
523 PurpleConnection *gc = (PurpleConnection *) action->context; | 528 PurpleConnection *gc = (PurpleConnection *) action->context; |
524 qq_data *qd; | 529 qq_data *qd; |
525 GString *info; | 530 GString *info; |
526 | 531 |
532 | 537 |
533 g_string_append(info, "<hr>\n"); | 538 g_string_append(info, "<hr>\n"); |
534 | 539 |
535 g_string_append_printf(info, _("<b>Server</b>: %s<br>\n"), qd->curr_server); | 540 g_string_append_printf(info, _("<b>Server</b>: %s<br>\n"), qd->curr_server); |
536 g_string_append_printf(info, _("<b>Connection Mode</b>: %s<br>\n"), qd->use_tcp ? "TCP" : "UDP"); | 541 g_string_append_printf(info, _("<b>Connection Mode</b>: %s<br>\n"), qd->use_tcp ? "TCP" : "UDP"); |
537 g_string_append_printf(info, _("<b>My Public IP</b>: %s<br>\n"), inet_ntoa(qd->my_ip)); | 542 g_string_append_printf(info, _("<b>My Internet Address</b>: %s<br>\n"), inet_ntoa(qd->my_ip)); |
543 | |
544 g_string_append(info, "<hr>\n"); | |
545 g_string_append(info, "<i>Network Status</i><br>\n"); | |
546 g_string_append_printf(info, _("<b>Sent</b>: %lu<br>\n"), qd->net_stat.sent); | |
547 g_string_append_printf(info, _("<b>Resend</b>: %lu<br>\n"), qd->net_stat.resend); | |
548 g_string_append_printf(info, _("<b>Lost</b>: %lu<br>\n"), qd->net_stat.lost); | |
549 g_string_append_printf(info, _("<b>Received</b>: %lu<br>\n"), qd->net_stat.rcved); | |
550 g_string_append_printf(info, _("<b>Received Duplicate</b>: %lu<br>\n"), qd->net_stat.rcved_dup); | |
538 | 551 |
539 g_string_append(info, "<hr>\n"); | 552 g_string_append(info, "<hr>\n"); |
540 g_string_append(info, "<i>Information below may not be accurate</i><br>\n"); | 553 g_string_append(info, "<i>Information below may not be accurate</i><br>\n"); |
541 | 554 |
542 g_string_append_printf(info, _("<b>Login Time</b>: %s<br>\n"), ctime(&qd->login_time)); | 555 g_string_append_printf(info, _("<b>Login Time</b>: %s<br>\n"), ctime(&qd->login_time)); |
625 m = g_list_append(m, act); | 638 m = g_list_append(m, act); |
626 | 639 |
627 act = purple_plugin_action_new(_("Change Password"), _qq_menu_change_password); | 640 act = purple_plugin_action_new(_("Change Password"), _qq_menu_change_password); |
628 m = g_list_append(m, act); | 641 m = g_list_append(m, act); |
629 | 642 |
630 act = purple_plugin_action_new(_("Show Login Information"), _qq_menu_show_login_info); | 643 act = purple_plugin_action_new(_("Account Information"), _qq_menu_account_info); |
631 m = g_list_append(m, act); | 644 m = g_list_append(m, act); |
632 | 645 |
633 /* | 646 /* |
634 act = purple_plugin_action_new(_("Qun: Search a permanent Qun"), _qq_menu_search_or_add_permanent_group); | 647 act = purple_plugin_action_new(_("Qun: Search a permanent Qun"), _qq_menu_search_or_add_permanent_group); |
635 m = g_list_append(m, act); | 648 m = g_list_append(m, act); |
852 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); | 865 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
853 | 866 |
854 option = purple_account_option_bool_new(_("Show server news"), "show_news", TRUE); | 867 option = purple_account_option_bool_new(_("Show server news"), "show_news", TRUE); |
855 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); | 868 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
856 | 869 |
857 option = purple_account_option_int_new(_("Resend interval(s)"), "resend_interval", 10); | |
858 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); | |
859 | |
860 option = purple_account_option_int_new(_("Keep alive interval(s)"), "keep_alive_interval", 60); | 870 option = purple_account_option_int_new(_("Keep alive interval(s)"), "keep_alive_interval", 60); |
861 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); | 871 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
862 | 872 |
863 option = purple_account_option_int_new(_("Update interval(s)"), "update_interval", 300); | 873 option = purple_account_option_int_new(_("Update interval(s)"), "update_interval", 300); |
864 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); | 874 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options, option); |
865 | 875 |
866 purple_prefs_add_none("/plugins/prpl/qq"); | 876 purple_prefs_add_none("/plugins/prpl/qq"); |
867 purple_prefs_add_bool("/plugins/prpl/qq/show_status_by_icon", TRUE); | 877 purple_prefs_add_bool("/plugins/prpl/qq/show_status_by_icon", TRUE); |
868 purple_prefs_add_bool("/plugins/prpl/qq/show_fake_video", FALSE); | 878 purple_prefs_add_bool("/plugins/prpl/qq/show_fake_video", FALSE); |
869 purple_prefs_add_bool("/plugins/prpl/qq/show_room_when_newin", TRUE); | 879 purple_prefs_add_bool("/plugins/prpl/qq/show_room_when_newin", TRUE); |
870 | 880 purple_prefs_add_int("/plugins/prpl/qq/resend_interval", 3); |
881 purple_prefs_add_int("/plugins/prpl/qq/resend_times", 4); | |
871 } | 882 } |
872 | 883 |
873 PURPLE_INIT_PLUGIN(qq, init_plugin, info); | 884 PURPLE_INIT_PLUGIN(qq, init_plugin, info); |