Mercurial > pidgin-audacious
comparison pidgin-audacious.c @ 29:c1e5ff55f1b4 default tip
now /song command can be followed by plain text message.
| author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
|---|---|
| date | Fri, 23 Oct 2009 01:37:07 +0900 |
| parents | 72c95262fd1b |
| children |
comparison
equal
deleted
inserted
replaced
| 28:72c95262fd1b | 29:c1e5ff55f1b4 |
|---|---|
| 504 { | 504 { |
| 505 gchar *song = NULL, *tmp = NULL, *tmp2 = NULL; | 505 gchar *song = NULL, *tmp = NULL, *tmp2 = NULL; |
| 506 PurpleConversationType type = purple_conversation_get_type(conv); | 506 PurpleConversationType type = purple_conversation_get_type(conv); |
| 507 size_t dummy; | 507 size_t dummy; |
| 508 const gchar *template = NULL; | 508 const gchar *template = NULL; |
| 509 gchar *msg; | |
| 509 | 510 |
| 510 /* audacious isn't playing */ | 511 /* audacious isn't playing */ |
| 511 if(!is_app_playing()) { | 512 if(!is_app_playing()) { |
| 512 return PURPLE_CMD_RET_OK; | 513 return PURPLE_CMD_RET_OK; |
| 513 } | 514 } |
| 538 } | 539 } |
| 539 else | 540 else |
| 540 song = tmp2; | 541 song = tmp2; |
| 541 } | 542 } |
| 542 | 543 |
| 544 if(*args) { | |
| 545 msg = g_strdup_printf("%s %s", song, *args); | |
| 546 g_free(song); | |
| 547 } | |
| 548 else { | |
| 549 msg = song; | |
| 550 } | |
| 551 | |
| 543 if(type == PURPLE_CONV_TYPE_CHAT) { | 552 if(type == PURPLE_CONV_TYPE_CHAT) { |
| 544 PurpleConvChat *chat = purple_conversation_get_chat_data(conv); | 553 PurpleConvChat *chat = purple_conversation_get_chat_data(conv); |
| 545 if (chat && song) | 554 if (chat && msg) |
| 546 purple_conv_chat_send(chat, song); | 555 purple_conv_chat_send(chat, msg); |
| 547 } | 556 } |
| 548 else if(type == PURPLE_CONV_TYPE_IM) { | 557 else if(type == PURPLE_CONV_TYPE_IM) { |
| 549 PurpleConvIm *im = purple_conversation_get_im_data(conv); | 558 PurpleConvIm *im = purple_conversation_get_im_data(conv); |
| 550 if(im && song) | 559 if(im && msg) |
| 551 purple_conv_im_send(im, song); | 560 purple_conv_im_send(im, msg); |
| 552 } | 561 } |
| 553 | 562 |
| 554 g_free(song); | 563 g_free(msg); |
| 555 return PURPLE_CMD_RET_OK; | 564 return PURPLE_CMD_RET_OK; |
| 556 } | 565 } |
| 557 | 566 |
| 558 static gboolean | 567 static gboolean |
| 559 is_app_playing(void) | 568 is_app_playing(void) |
| 718 /* clear status */ | 727 /* clear status */ |
| 719 status_signal_cb(NULL, -1, NULL); | 728 status_signal_cb(NULL, -1, NULL); |
| 720 | 729 |
| 721 /* register /song command */ | 730 /* register /song command */ |
| 722 cmdid_paste_current_song = | 731 cmdid_paste_current_song = |
| 723 purple_cmd_register("song", "", PURPLE_CMD_P_DEFAULT, | 732 purple_cmd_register("song", "s", PURPLE_CMD_P_DEFAULT, |
| 724 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_CHAT, | 733 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_CHAT | |
| 734 PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS, | |
| 725 NULL, paste_current_song, | 735 NULL, paste_current_song, |
| 726 "song: Paste currently plaing song", NULL); | 736 "song: Paste currently plaing song", NULL); |
| 727 | 737 |
| 728 return TRUE; | 738 return TRUE; |
| 729 } | 739 } |
