Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/screen.c @ 721:9cf31c9b1dc4
Use room topic as a description in the chat status line
Thanks to Salvador for the idea.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 05 Mar 2006 00:17:12 +0100 |
parents | e5269eb416bb |
children | 23068490d063 |
comparison
equal
deleted
inserted
replaced
720:e5269eb416bb | 721:9cf31c9b1dc4 |
---|---|
714 // Refresh current buddy window | 714 // Refresh current buddy window |
715 if (chatmode) | 715 if (chatmode) |
716 scr_ShowBuddyWindow(); | 716 scr_ShowBuddyWindow(); |
717 } | 717 } |
718 | 718 |
719 // update_chat_status_window(forceupdate) | 719 // scr_UpdateChatStatus(forceupdate) |
720 // Redraw the buddy status bar. | 720 // Redraw the buddy status bar. |
721 // Set forceupdate to TRUE if doupdate() must be called. | 721 // Set forceupdate to TRUE if doupdate() must be called. |
722 static void update_chat_status_window(int forceupdate) | 722 void scr_UpdateChatStatus(int forceupdate) |
723 { | 723 { |
724 unsigned short btype, isgrp, ismuc; | 724 unsigned short btype, isgrp, ismuc; |
725 const char *fullname; | 725 const char *fullname; |
726 const char *msg = NULL; | 726 const char *msg = NULL; |
727 char status; | 727 char status; |
769 // No status message for groups & MUC rooms | 769 // No status message for groups & MUC rooms |
770 if (!isgrp && !ismuc) { | 770 if (!isgrp && !ismuc) { |
771 GSList *resources = buddy_getresources(BUDDATA(current_buddy)); | 771 GSList *resources = buddy_getresources(BUDDATA(current_buddy)); |
772 if (resources) | 772 if (resources) |
773 msg = buddy_getstatusmsg(BUDDATA(current_buddy), resources->data); | 773 msg = buddy_getstatusmsg(BUDDATA(current_buddy), resources->data); |
774 } else if (ismuc) { | |
775 msg = buddy_gettopic(BUDDATA(current_buddy)); | |
774 } | 776 } |
775 if (!msg) | 777 if (!msg) |
776 msg = ""; | 778 msg = ""; |
777 | 779 |
778 buf = g_strdup_printf("[%c] Buddy: %s -- %s", status, fullname, msg); | 780 buf = g_strdup_printf("[%c] Buddy: %s -- %s", status, fullname, msg); |
819 } | 821 } |
820 | 822 |
821 if (!buddylist) | 823 if (!buddylist) |
822 offset = 0; | 824 offset = 0; |
823 else | 825 else |
824 update_chat_status_window(FALSE); | 826 scr_UpdateChatStatus(FALSE); |
825 | 827 |
826 // Leave now if buddylist is empty or the roster is hidden | 828 // Leave now if buddylist is empty or the roster is hidden |
827 if (!buddylist || !Roster_Width) { | 829 if (!buddylist || !Roster_Width) { |
828 update_panels(); | 830 update_panels(); |
829 doupdate(); | 831 doupdate(); |
1381 // scr_set_chatmode() | 1383 // scr_set_chatmode() |
1382 // Public function to (un)set chatmode... | 1384 // Public function to (un)set chatmode... |
1383 inline void scr_set_chatmode(int enable) | 1385 inline void scr_set_chatmode(int enable) |
1384 { | 1386 { |
1385 chatmode = enable; | 1387 chatmode = enable; |
1386 update_chat_status_window(TRUE); | 1388 scr_UpdateChatStatus(TRUE); |
1387 } | 1389 } |
1388 | 1390 |
1389 // scr_get_multimode() | 1391 // scr_get_multimode() |
1390 // Public function to get multimode status... | 1392 // Public function to get multimode status... |
1391 inline int scr_get_multimode() | 1393 inline int scr_get_multimode() |
1911 currentWindow = NULL; | 1913 currentWindow = NULL; |
1912 chatmode = FALSE; | 1914 chatmode = FALSE; |
1913 if (current_buddy) | 1915 if (current_buddy) |
1914 buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, FALSE); | 1916 buddy_setflags(BUDDATA(current_buddy), ROSTER_FLAG_LOCK, FALSE); |
1915 scr_RosterVisibility(1); | 1917 scr_RosterVisibility(1); |
1916 update_chat_status_window(FALSE); | 1918 scr_UpdateChatStatus(FALSE); |
1917 top_panel(chatPanel); | 1919 top_panel(chatPanel); |
1918 top_panel(inputPanel); | 1920 top_panel(inputPanel); |
1919 update_panels(); | 1921 update_panels(); |
1920 break; | 1922 break; |
1921 case 12: // Ctrl-l | 1923 case 12: // Ctrl-l |