Mercurial > hg
changeset 1410:0cb4361c85a7
Pressing enter when a group is selected will toggle the fold status (franky)
Patch from franky, suggestion by "annihilator" in the MUC room.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 13 Jan 2008 16:11:40 +0100 |
parents | 754626d32c54 |
children | 4029e3447f2b |
files | mcabber/src/commands.c |
diffstat | 1 files changed, 9 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/commands.c Sun Jan 13 12:00:54 2008 +0100 +++ b/mcabber/src/commands.c Sun Jan 13 16:11:40 2008 +0100 @@ -442,9 +442,13 @@ return 0; } if (current_buddy) { - // Enter chat mode - scr_set_chatmode(TRUE); - scr_ShowBuddyWindow(); + if (buddy_gettype(BUDDATA(current_buddy)) & ROSTER_TYPE_GROUP) + do_group("toggle"); + else { + // Enter chat mode + scr_set_chatmode(TRUE); + scr_ShowBuddyWindow(); + } } return 0; } @@ -997,7 +1001,7 @@ guint leave_buddywindow; char **paramlst; char *subcmd; - enum { group_unfold = 0, group_fold, group_toggle } group_state = 0; + enum { group_toggle = -1, group_unfold = 0, group_fold = 1 } group_state = 0; if (!*arg) { scr_LogPrint(LPRINT_NORMAL, "Missing parameter."); @@ -1051,13 +1055,7 @@ if (group_state != group_unfold && leave_buddywindow) scr_RosterPrevGroup(); - if (group_state == group_unfold) - buddy_setflags(group, ROSTER_FLAG_HIDE, FALSE); - else if (group_state == group_fold) - buddy_setflags(group, ROSTER_FLAG_HIDE, TRUE); - else if (group_state == group_toggle) - buddy_setflags(group, ROSTER_FLAG_HIDE, - !(buddy_getflags(group) & ROSTER_FLAG_HIDE)); + buddy_hide_group(group, group_state); buddylist_build(); update_roster = TRUE;