changeset 130:60694c9ddde3

[/trunk] Changeset 143 by mikael * Add "/group toggle". * Commands parameters are case-insensitive.
author mikael
date Thu, 28 Apr 2005 14:10:46 +0000
parents 03be1cc94560
children 6efdcd9346dd
files mcabber/src/TODO.txt mcabber/src/commands.c
diffstat 2 files changed, 16 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/TODO.txt	Thu Apr 28 12:22:34 2005 +0000
+++ b/mcabber/src/TODO.txt	Thu Apr 28 14:10:46 2005 +0000
@@ -19,7 +19,7 @@
 
 * Commands! :-)
   - /roster <hide_offline|show_offline|top|bottom>
-  - /group <expand|shrink>
+  - /group <expand|shrink|toggle>
   - /say blabla
   - /say_to <jid> blabla
   - /add <jid> [Name]
--- a/mcabber/src/commands.c	Thu Apr 28 12:22:34 2005 +0000
+++ b/mcabber/src/commands.c	Thu Apr 28 14:10:46 2005 +0000
@@ -98,6 +98,7 @@
   // Group category
   compl_add_category_word(COMPL_GROUP, "expand");
   compl_add_category_word(COMPL_GROUP, "shrink");
+  compl_add_category_word(COMPL_GROUP, "toggle");
 }
 
 //  cmd_get
@@ -250,15 +251,15 @@
     return;
   }
 
-  if (!strcmp(arg, "offline"))        st = offline;
-  else if (!strcmp(arg, "online"))    st = available;
-  else if (!strcmp(arg, "avail"))     st = available;
-  else if (!strcmp(arg, "away"))      st = away;
-  else if (!strcmp(arg, "invisible")) st = invisible;
-  else if (!strcmp(arg, "dnd"))       st = dontdisturb;
-  else if (!strcmp(arg, "busy"))      st = occupied;
-  else if (!strcmp(arg, "notavail"))  st = notavail;
-  else if (!strcmp(arg, "free"))      st = freeforchat;
+  if (!strcasecmp(arg, "offline"))        st = offline;
+  else if (!strcasecmp(arg, "online"))    st = available;
+  else if (!strcasecmp(arg, "avail"))     st = available;
+  else if (!strcasecmp(arg, "away"))      st = away;
+  else if (!strcasecmp(arg, "invisible")) st = invisible;
+  else if (!strcasecmp(arg, "dnd"))       st = dontdisturb;
+  else if (!strcasecmp(arg, "busy"))      st = occupied;
+  else if (!strcasecmp(arg, "notavail"))  st = notavail;
+  else if (!strcasecmp(arg, "free"))      st = freeforchat;
   else {
     scr_LogPrint("Unrecognized parameter!");
     return;
@@ -298,10 +299,13 @@
                  "before using /group");
     return;
   }
-  if (!strcmp(arg, "expand")) {
+  if (!strcasecmp(arg, "expand")) {
     buddy_setflags(group, ROSTER_FLAG_HIDE, FALSE);
-  } else if (!strcmp(arg, "shrink")) {
+  } else if (!strcasecmp(arg, "shrink")) {
     buddy_setflags(group, ROSTER_FLAG_HIDE, TRUE);
+  } else if (!strcasecmp(arg, "toggle")) {
+    buddy_setflags(group, ROSTER_FLAG_HIDE,
+            !(buddy_getflags(group) & ROSTER_FLAG_HIDE));
   } else {
     scr_LogPrint("Unrecognized parameter!");
     return;