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 } |