comparison mcabber/src/commands.c @ 1525:68580b6be895

Display more information in /room bookmark (autojoin, nick...) With this patch /room bookmark adds a '*' prefix when autojoin is set in the bookmark list. It also displays the nick and the room name contained in the bookmarks.
author Mikael Berthe <mikael@lilotux.net>
date Thu, 02 Oct 2008 20:00:11 +0200
parents 63dc211a4c1a
children ac87eef9050f
comparison
equal deleted inserted replaced
1524:935289bf02ea 1525:68580b6be895
2808 2808
2809 static void display_all_bookmarks(void) 2809 static void display_all_bookmarks(void)
2810 { 2810 {
2811 GSList *bm, *bmp; 2811 GSList *bm, *bmp;
2812 GString *sbuf; 2812 GString *sbuf;
2813 struct bookmark *bm_elt;
2813 2814
2814 bm = jb_get_all_storage_bookmarks(); 2815 bm = jb_get_all_storage_bookmarks();
2815 2816
2816 if (!bm) 2817 if (!bm)
2817 return; 2818 return;
2820 2821
2821 scr_WriteIncomingMessage(NULL, "List of MUC bookmarks:", 2822 scr_WriteIncomingMessage(NULL, "List of MUC bookmarks:",
2822 0, HBB_PREFIX_INFO, 0); 2823 0, HBB_PREFIX_INFO, 0);
2823 2824
2824 for (bmp = bm; bmp; bmp = g_slist_next(bmp)) { 2825 for (bmp = bm; bmp; bmp = g_slist_next(bmp)) {
2825 g_string_printf(sbuf, "<%s>", (char*)bmp->data); 2826 bm_elt = bmp->data;
2827 g_string_printf(sbuf, "%c <%s>",
2828 (bm_elt->autojoin ? '*' : ' '), bm_elt->roomjid);
2829 if (bm_elt->nick)
2830 g_string_append_printf(sbuf, " (%s)", bm_elt->nick);
2831 if (bm_elt->name)
2832 g_string_append_printf(sbuf, " %s", bm_elt->name);
2833 g_free(bm_elt->roomjid);
2834 g_free(bm_elt->name);
2835 g_free(bm_elt->nick);
2836 g_free(bm_elt);
2826 scr_WriteIncomingMessage(NULL, sbuf->str, 2837 scr_WriteIncomingMessage(NULL, sbuf->str,
2827 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); 2838 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0);
2828 } 2839 }
2829 2840
2830 scr_setmsgflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE); 2841 scr_setmsgflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE);