Mercurial > pidgin
comparison libpurple/protocols/qq/qq.c @ 24148:1bdf7b602684
2008.10.07 - ccpaging <ccpaging(at)gmail.com>
* Update qun conversation
* Drop group_conv.c and group_conv.h
author | SHiNE CsyFeK <csyfek@gmail.com> |
---|---|
date | Wed, 22 Oct 2008 14:58:32 +0000 |
parents | 0a92aa673a33 |
children | 818ab62006f5 |
comparison
equal
deleted
inserted
replaced
24147:0a92aa673a33 | 24148:1bdf7b602684 |
---|---|
372 } | 372 } |
373 | 373 |
374 /* we can show tiny icons on the four corners of buddy icon, */ | 374 /* we can show tiny icons on the four corners of buddy icon, */ |
375 static const char *qq_list_emblem(PurpleBuddy *b) | 375 static const char *qq_list_emblem(PurpleBuddy *b) |
376 { | 376 { |
377 /* each char** are refering to a filename in pixmaps/purple/status/default/ */ | 377 PurpleAccount *account; |
378 qq_buddy *q_bud; | 378 PurpleConnection *gc; |
379 | 379 qq_data *qd; |
380 if (!b || !(q_bud = b->proto_data)) { | 380 qq_buddy *buddy; |
381 | |
382 if (!b || !(account = b->account) || | |
383 !(gc = purple_account_get_connection(account)) || !(qd = gc->proto_data)) | |
381 return NULL; | 384 return NULL; |
382 } | 385 |
383 | 386 buddy = (qq_buddy *)b->proto_data; |
384 if (q_bud->comm_flag & QQ_COMM_FLAG_MOBILE) | 387 if (!buddy) { |
388 return "not-authorized"; | |
389 } | |
390 | |
391 if (buddy->comm_flag & QQ_COMM_FLAG_MOBILE) | |
385 return "mobile"; | 392 return "mobile"; |
386 if (q_bud->comm_flag & QQ_COMM_FLAG_VIDEO) | 393 if (buddy->comm_flag & QQ_COMM_FLAG_VIDEO) |
387 return "video"; | 394 return "video"; |
388 if (q_bud->comm_flag & QQ_COMM_FLAG_QQ_MEMBER) | 395 if (buddy->comm_flag & QQ_COMM_FLAG_QQ_MEMBER) |
389 return "qq_member"; | 396 return "qq_member"; |
390 | 397 |
391 return NULL; | 398 return NULL; |
392 } | 399 } |
393 | 400 |
510 | 517 |
511 static void action_update_all_rooms(PurplePluginAction *action) | 518 static void action_update_all_rooms(PurplePluginAction *action) |
512 { | 519 { |
513 PurpleConnection *gc = (PurpleConnection *) action->context; | 520 PurpleConnection *gc = (PurpleConnection *) action->context; |
514 qq_data *qd; | 521 qq_data *qd; |
522 | |
523 g_return_if_fail(NULL != gc && NULL != gc->proto_data); | |
515 qd = (qq_data *) gc->proto_data; | 524 qd = (qq_data *) gc->proto_data; |
516 | 525 |
517 if ( !qd->is_login ) { | 526 if ( !qd->is_login ) { |
518 return; | 527 return; |
519 } | 528 } |
524 static void action_modify_info_base(PurplePluginAction *action) | 533 static void action_modify_info_base(PurplePluginAction *action) |
525 { | 534 { |
526 PurpleConnection *gc = (PurpleConnection *) action->context; | 535 PurpleConnection *gc = (PurpleConnection *) action->context; |
527 qq_data *qd; | 536 qq_data *qd; |
528 | 537 |
538 g_return_if_fail(NULL != gc && NULL != gc->proto_data); | |
529 qd = (qq_data *) gc->proto_data; | 539 qd = (qq_data *) gc->proto_data; |
530 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_BASE); | 540 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_BASE); |
531 } | 541 } |
532 | 542 |
533 static void action_modify_info_ext(PurplePluginAction *action) | 543 static void action_modify_info_ext(PurplePluginAction *action) |
534 { | 544 { |
535 PurpleConnection *gc = (PurpleConnection *) action->context; | 545 PurpleConnection *gc = (PurpleConnection *) action->context; |
536 qq_data *qd; | 546 qq_data *qd; |
537 | 547 |
548 g_return_if_fail(NULL != gc && NULL != gc->proto_data); | |
538 qd = (qq_data *) gc->proto_data; | 549 qd = (qq_data *) gc->proto_data; |
539 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_EXT); | 550 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_EXT); |
540 } | 551 } |
541 | 552 |
542 static void action_modify_info_addr(PurplePluginAction *action) | 553 static void action_modify_info_addr(PurplePluginAction *action) |
543 { | 554 { |
544 PurpleConnection *gc = (PurpleConnection *) action->context; | 555 PurpleConnection *gc = (PurpleConnection *) action->context; |
545 qq_data *qd; | 556 qq_data *qd; |
546 | 557 |
558 g_return_if_fail(NULL != gc && NULL != gc->proto_data); | |
547 qd = (qq_data *) gc->proto_data; | 559 qd = (qq_data *) gc->proto_data; |
548 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_ADDR); | 560 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_ADDR); |
549 } | 561 } |
550 | 562 |
551 static void action_modify_info_contact(PurplePluginAction *action) | 563 static void action_modify_info_contact(PurplePluginAction *action) |
552 { | 564 { |
553 PurpleConnection *gc = (PurpleConnection *) action->context; | 565 PurpleConnection *gc = (PurpleConnection *) action->context; |
554 qq_data *qd; | 566 qq_data *qd; |
555 | 567 |
568 g_return_if_fail(NULL != gc && NULL != gc->proto_data); | |
556 qd = (qq_data *) gc->proto_data; | 569 qd = (qq_data *) gc->proto_data; |
557 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_CONTACT); | 570 qq_request_buddy_info(gc, qd->uid, 0, QQ_BUDDY_INFO_MODIFY_CONTACT); |
558 } | 571 } |
559 | 572 |
560 static void action_change_password(PurplePluginAction *action) | 573 static void action_change_password(PurplePluginAction *action) |
561 { | 574 { |
575 PurpleConnection *gc = (PurpleConnection *) action->context; | |
576 | |
577 g_return_if_fail(NULL != gc && NULL != gc->proto_data); | |
562 purple_notify_uri(NULL, "https://password.qq.com"); | 578 purple_notify_uri(NULL, "https://password.qq.com"); |
563 } | 579 } |
564 | 580 |
565 /* show a brief summary of what we get from login packet */ | 581 /* show a brief summary of what we get from login packet */ |
566 static void action_show_account_info(PurplePluginAction *action) | 582 static void action_show_account_info(PurplePluginAction *action) |
569 qq_data *qd; | 585 qq_data *qd; |
570 GString *info; | 586 GString *info; |
571 struct tm *tm_local; | 587 struct tm *tm_local; |
572 int index; | 588 int index; |
573 | 589 |
590 g_return_if_fail(NULL != gc && NULL != gc->proto_data); | |
574 qd = (qq_data *) gc->proto_data; | 591 qd = (qq_data *) gc->proto_data; |
575 info = g_string_new("<html><body>"); | 592 info = g_string_new("<html><body>"); |
576 | 593 |
577 tm_local = localtime(&qd->login_time); | 594 tm_local = localtime(&qd->login_time); |
578 g_string_append_printf(info, _("<b>Login time</b>: %d-%d-%d, %d:%d:%d<br>\n"), | 595 g_string_append_printf(info, _("<b>Login time</b>: %d-%d-%d, %d:%d:%d<br>\n"), |