comparison libpurple/protocols/jabber/jabber.c @ 25692:a8224eb86581

Show statuses per resource before other info the jabber prpl adds to the tooltip
author Marcus Lundblad <ml@update.uu.se>
date Fri, 06 Feb 2009 22:07:50 +0000
parents 65f2c84f122f
children e3f2b16f75da
comparison
equal deleted inserted replaced
25691:65f2c84f122f 25692:a8224eb86581
1702 GList *l; 1702 GList *l;
1703 const char *mood; 1703 const char *mood;
1704 gboolean multiple_resources = 1704 gboolean multiple_resources =
1705 jb->resources && g_list_next(jb->resources); 1705 jb->resources && g_list_next(jb->resources);
1706 1706
1707 if (full) {
1708 PurpleStatus *status;
1709
1710 if(jb->subscription & JABBER_SUB_FROM) {
1711 if(jb->subscription & JABBER_SUB_TO)
1712 sub = _("Both");
1713 else if(jb->subscription & JABBER_SUB_PENDING)
1714 sub = _("From (To pending)");
1715 else
1716 sub = _("From");
1717 } else {
1718 if(jb->subscription & JABBER_SUB_TO)
1719 sub = _("To");
1720 else if(jb->subscription & JABBER_SUB_PENDING)
1721 sub = _("None (To pending)");
1722 else
1723 sub = _("None");
1724 }
1725
1726 purple_notify_user_info_add_pair(user_info, _("Subscription"), sub);
1727
1728 status = purple_presence_get_active_status(presence);
1729 mood = purple_status_get_attr_string(status, "mood");
1730 if(mood != NULL) {
1731 const char *moodtext;
1732 moodtext = purple_status_get_attr_string(status, "moodtext");
1733 if(moodtext != NULL) {
1734 char *moodplustext = g_strdup_printf("%s (%s)", mood, moodtext);
1735
1736 purple_notify_user_info_add_pair(user_info, _("Mood"), moodplustext);
1737 g_free(moodplustext);
1738 } else
1739 purple_notify_user_info_add_pair(user_info, _("Mood"), mood);
1740 }
1741 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
1742 PurpleStatus *tune = purple_presence_get_status(presence, "tune");
1743 const char *title = purple_status_get_attr_string(tune, PURPLE_TUNE_TITLE);
1744 const char *artist = purple_status_get_attr_string(tune, PURPLE_TUNE_ARTIST);
1745 const char *album = purple_status_get_attr_string(tune, PURPLE_TUNE_ALBUM);
1746 char *playing = purple_util_format_song_info(title, artist, album, NULL);
1747 if (playing) {
1748 purple_notify_user_info_add_pair(user_info, _("Now Listening"), playing);
1749 g_free(playing);
1750 }
1751 }
1752 }
1753
1754 for(l=jb->resources; l; l = l->next) { 1707 for(l=jb->resources; l; l = l->next) {
1755 char *text = NULL; 1708 char *text = NULL;
1756 char *res = NULL; 1709 char *res = NULL;
1757 char *label, *value; 1710 char *label, *value;
1758 const char *state; 1711 const char *state;
1803 g_free(label); 1756 g_free(label);
1804 } 1757 }
1805 1758
1806 g_free(res); 1759 g_free(res);
1807 } 1760 }
1808 1761
1762 if (full) {
1763 PurpleStatus *status;
1764
1765
1766 status = purple_presence_get_active_status(presence);
1767 mood = purple_status_get_attr_string(status, "mood");
1768 if(mood != NULL) {
1769 const char *moodtext;
1770 moodtext = purple_status_get_attr_string(status, "moodtext");
1771 if(moodtext != NULL) {
1772 char *moodplustext = g_strdup_printf("%s (%s)", mood, moodtext);
1773
1774 purple_notify_user_info_add_pair(user_info, _("Mood"), moodplustext);
1775 g_free(moodplustext);
1776 } else
1777 purple_notify_user_info_add_pair(user_info, _("Mood"), mood);
1778 }
1779 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
1780 PurpleStatus *tune = purple_presence_get_status(presence, "tune");
1781 const char *title = purple_status_get_attr_string(tune, PURPLE_TUNE_TITLE);
1782 const char *artist = purple_status_get_attr_string(tune, PURPLE_TUNE_ARTIST);
1783 const char *album = purple_status_get_attr_string(tune, PURPLE_TUNE_ALBUM);
1784 char *playing = purple_util_format_song_info(title, artist, album, NULL);
1785 if (playing) {
1786 purple_notify_user_info_add_pair(user_info, _("Now Listening"), playing);
1787 g_free(playing);
1788 }
1789 }
1790
1791 if(jb->subscription & JABBER_SUB_FROM) {
1792 if(jb->subscription & JABBER_SUB_TO)
1793 sub = _("Both");
1794 else if(jb->subscription & JABBER_SUB_PENDING)
1795 sub = _("From (To pending)");
1796 else
1797 sub = _("From");
1798 } else {
1799 if(jb->subscription & JABBER_SUB_TO)
1800 sub = _("To");
1801 else if(jb->subscription & JABBER_SUB_PENDING)
1802 sub = _("None (To pending)");
1803 else
1804 sub = _("None");
1805 }
1806
1807 purple_notify_user_info_add_pair(user_info, _("Subscription"), sub);
1808
1809 }
1810
1809 if(!PURPLE_BUDDY_IS_ONLINE(b) && jb->error_msg) { 1811 if(!PURPLE_BUDDY_IS_ONLINE(b) && jb->error_msg) {
1810 purple_notify_user_info_add_pair(user_info, _("Error"), jb->error_msg); 1812 purple_notify_user_info_add_pair(user_info, _("Error"), jb->error_msg);
1811 } 1813 }
1812 } 1814 }
1813 } 1815 }