changeset 1086:5e2e647e781b

Add command /roster group_prev|group_next and update documentation
author Mikael Berthe <mikael@lilotux.net>
date Wed, 06 Dec 2006 22:14:41 +0100
parents 122114b00541
children ee85cff7dbab
files mcabber/doc/help/en/hlp_roster.txt mcabber/doc/help/fr/hlp_roster.txt mcabber/doc/help/pl/hlp_roster.txt mcabber/doc/mcabber.1.txt mcabber/src/commands.c mcabber/src/screen.c mcabber/src/screen.h
diffstat 7 files changed, 127 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/doc/help/en/hlp_roster.txt	Tue Dec 05 22:41:33 2006 +0100
+++ b/mcabber/doc/help/en/hlp_roster.txt	Wed Dec 06 22:14:41 2006 +0100
@@ -1,15 +1,35 @@
 
+ /ROSTER bottom|top|up|down|group_prev|group_next
+ /ROSTER alternate|unread_first|unread_next
+ /ROSTER search bud
  /ROSTER hide_offline|show_offline|toggle_offline
  /ROSTER item_lock|item_unlock
- /ROSTER bottom|top|up|down
- /ROSTER alternate|unread_first|unread_next
- /ROSTER search bud
  /ROSTER hide|show|toggle
  /ROSTER note [-|text]
 
 The 'roster' command manipulates the roster/buddylist.
 Here are the available parameters:
 
+/roster bottom
+ Jump to the bottom of the roster
+/roster top
+ Jump to the top of the roster
+/roster up
+ Move up in the roster
+/roster down
+ Move down in the roster
+/roster group_prev
+ Jump to the previous group in the roster
+/roster group_next
+ Jump to the next group in the roster
+/roster alternate
+ Jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode.  This command is thus especially useful after commands like "/roster unread_next" (Ctrl-q).
+/roster unread_first
+ Jump to the first unread message
+/roster unread_next
+ Jump to the next unread message
+/roster search bud
+ Search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
 /roster hide_offline
  Hide offline buddies
 /roster show_offline
@@ -20,22 +40,6 @@
  Lock the roster item so it remains visible regardless of its status
 /roster item_unlock [jid]
  Undo the effects of item_lock
-/roster bottom
- Jump to the bottom of the roster
-/roster top
- Jump to the top of the roster
-/roster up
- Move up in the roster
-/roster down
- Move down in the roster
-/roster alternate
- Jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode.  This command is thus especially useful after commands like "/roster unread_next" (Ctrl-q).
-/roster unread_first
- Jump to the first unread message
-/roster unread_next
- Jump to the next unread message
-/roster search bud
- Search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
 /roster hide
  Hide roster (full-width chat window)
 /roster show
--- a/mcabber/doc/help/fr/hlp_roster.txt	Tue Dec 05 22:41:33 2006 +0100
+++ b/mcabber/doc/help/fr/hlp_roster.txt	Wed Dec 06 22:14:41 2006 +0100
@@ -1,14 +1,34 @@
 
+ /ROSTER bottom|top|up|down|group_prev|group_next
+ /ROSTER alternate|unread_first|unread_next
+ /ROSTER search bud
  /ROSTER hide_offline|show_offline|toggle_offline
  /ROSTER item_lock|item_unlock
- /ROSTER bottom|top|up|down
- /ROSTER alternate|unread_first|unread_next
- /ROSTER search bud
  /ROSTER hide|show|toggle
  /ROSTER note [-|text]
 
 Cette commande permet de manipuler le roster (liste de contacts).
 
+/roster bottom
+ Va à la fin de la liste de contact
+/roster top
+ Va au début de la liste de contact
+/roster up
+ Monte dans le roster
+/roster down
+ Descend dans le roster
+/roster group_prev
+ Va au groupe précédent in the roster
+/roster group_next
+ Va au groupe suivant in the roster
+/roster alternate
+ Va au contact alternatif. Ce contact "alternatif" est le dernier contact quitté tout en étant en mode discussion (chat mode). Cette commande est donc particulièrement utile après des commandes comme "/roster unread_next" (Ctrl-q).
+/roster unread_first
+ Va au premier message non lu
+/roster unread_next
+ Va au prochain message non lu
+/roster search bud
+ Cherche un contact dont le nom ou le jid contient "bud" (seulement dans les contacts affichés)
 /roster hide_offline
  Cache les contacts non connectés
 /roster show_offline
@@ -19,22 +39,6 @@
  Affiche le contact dans le roster, même s'il est déconnecté
 /roster item_unlock [jid]
  Annule l'effet de /roster item_lock
-/roster bottom
- Va à la fin de la liste de contact
-/roster top
- Va au début de la liste de contact
-/roster up
- Monte dans le roster
-/roster down
- Descend dans le roster
-/roster alternate
- Va au contact alternatif. Ce contact "alternatif" est le dernier contact quitté tout en étant en mode discussion (chat mode). Cette commande est donc particulièrement utile après des commandes comme "/roster unread_next" (Ctrl-q).
-/roster unread_first
- Va au premier message non lu
-/roster unread_next
- Va au prochain message non lu
-/roster search bud
- Cherche un contact dont le nom ou le jid contient "bud" (seulement dans les contacts affichés)
 /roster hide
  Cache le roster (fenêtre de discussion en pleine largeur)
 /roster show
--- a/mcabber/doc/help/pl/hlp_roster.txt	Tue Dec 05 22:41:33 2006 +0100
+++ b/mcabber/doc/help/pl/hlp_roster.txt	Wed Dec 06 22:14:41 2006 +0100
@@ -1,15 +1,35 @@
 
+ /ROSTER bottom|top|up|down|group_prev|group_next
+ /ROSTER alternate|unread_first|unread_next
+ /ROSTER search bud
  /ROSTER hide_offline|show_offline|toggle_offline
  /ROSTER item_lock|item_unlock
- /ROSTER bottom|top|up|down
- /ROSTER alternate|unread_first|unread_next
- /ROSTER search bud
  /ROSTER hide|show|toggle
  /ROSTER note [-|text]
 
 Komenda służy do zarządzania listą kontaktów.
 Dostępne parametry:
 
+/roster bottom
+ Skacze na koniec listy kontaktów
+/roster top
+ Skacze na początek listy kontaktów
+/roster up
+ Porusza się w górę w liście kontaktów
+/roster down
+ Porusza się w dół w liście kontaktów
+/roster group_prev
+ Przejdź do poprzedniej grupy w rosterze
+/roster group_next
+ Przejdź do następnej grupy w rosterze
+/roster alternate
+ Skacze do ostatniej osoby, która zmieniła stan z dostępnego na niedostępny (jest szczególnie przydatna po komendach typu "/roster unread_first")
+/roster unread_first
+ Skacze do pierwszej nieprzeczytanej wiadomości
+/roster unread_next
+ Skacze do następnej nieprzeczytanej wiadomości
+/roster search "osoba"
+ Szuka osoby "osoba", lub osoby której nazwa zawiera słowo "osoba"
 /roster hide_offline
  Ukrywa niedostępnych
 /roster show_offline
@@ -20,22 +40,6 @@
  Zablokuj wyświetlanie elementu rostera, tak aby był widoczny cały czas (bez względu na jego status)
 /roster item_unlock [jid]
  Odblokuj wyświetlanie elementu rostera, element będzie widoczny ze względu na jego status
-/roster bottom
- Skacze na koniec listy kontaktów
-/roster top
- Skacze na początek listy kontaktów
-/roster up
- Porusza się w górę w liście kontaktów
-/roster down
- Porusza się w dół w liście kontaktów
-/roster alternate
- Skacze do ostatniej osoby, która zmieniła stan z dostępnego na niedostępny (jest szczególnie przydatna po komendach typu "/roster unread_first")
-/roster unread_first
- Skacze do pierwszej nieprzeczytanej wiadomości
-/roster unread_next
- Skacze do następnej nieprzeczytanej wiadomości
-/roster search "osoba"
- Szuka osoby "osoba", lub osoby której nazwa zawiera słowo "osoba"
 /roster hide
  Ukrywa całą liste kontaktów
 /roster show
--- a/mcabber/doc/mcabber.1.txt	Tue Dec 05 22:41:33 2006 +0100
+++ b/mcabber/doc/mcabber.1.txt	Wed Dec 06 22:14:41 2006 +0100
@@ -330,10 +330,12 @@
         'affil' jid affil [reason];; change jid's affiliation (affil can be "none", "member", "admin", "owner")
         'bookmark'              add/update/remove a room bookmark, set/unset autojoin
 
-/roster bottom|top|hide_offline|show_offline|toggle_offline::
-/roster hide|show|toggle::
+/roster bottom|top|up|down|group_prev|group_next::
 /roster alternate|unread_first|unread_next::
 /roster search bud::
+/roster hide_offline|show_offline|toggle_offline::
+/roster item_lock|item_unlock::
+/roster hide|show|toggle::
 /roster note [-|text]::
         The 'roster' command manipulates the roster/buddylist.  Here are the available parameters:
 
@@ -341,18 +343,20 @@
         'top';;          jump to the top of the roster
         'up';;           move up in the roster
         'down';;         move down in the roster
+        'group_prev';;   jump to the previous group in the roster
+        'group_next';;   jump to the next group in the roster
+        'alternate';;    jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode (this command is thus especially useful after commands like "/roster unread_first")
+        'unread_first';; jump to the first unread message
+        'unread_next';;  jump to the next unread message
+        'search' bud;;   search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
         'hide_offline';; hide offline buddies
         'show_offline';; show offline buddies
         'toggle_offline';; toggle display of offline buddies
+        'item_lock' jid;;   lock the roster item so it remains visible regardless of its status
+        'item_unlock' jid;; undo the effects of item_lock
         'hide';;         hide roster (full-width chat window)
         'show';;         show roster
         'toggle';;       toggle roster visibility
-        'item_lock' jid;;   lock the roster item so it remains visible regardless of its status
-        'item_unlock' jid;; undo the effects of item_lock
-        'search' bud;;   search for a buddy with a name or jid containing "bud" (only in the displayed buddylist)
-        'alternate';;    jump to alternate buddy.  The "alternate" buddy is the last buddy left while being in chat mode (this command is thus especially useful after commands like "/roster unread_first")
-        'unread_first';; jump to the first unread message
-        'unread_next';;  jump to the next unread message
         'note' [text];;  display or set an annotation (if text is "-", the annotation is deleted).  In the "status" buffer, it will display all annotations.
 
 /say text::
--- a/mcabber/src/commands.c	Tue Dec 05 22:41:33 2006 +0100
+++ b/mcabber/src/commands.c	Wed Dec 06 22:14:41 2006 +0100
@@ -147,6 +147,8 @@
   compl_add_category_word(COMPL_ROSTER, "top");
   compl_add_category_word(COMPL_ROSTER, "up");
   compl_add_category_word(COMPL_ROSTER, "down");
+  compl_add_category_word(COMPL_ROSTER, "group_prev");
+  compl_add_category_word(COMPL_ROSTER, "group_next");
   compl_add_category_word(COMPL_ROSTER, "hide");
   compl_add_category_word(COMPL_ROSTER, "show");
   compl_add_category_word(COMPL_ROSTER, "toggle");
@@ -656,6 +658,10 @@
     scr_RosterUp();
   } else if (!strcasecmp(subcmd, "down")) {
     scr_RosterDown();
+  } else if (!strcasecmp(subcmd, "group_prev")) {
+    scr_RosterPrevGroup();
+  } else if (!strcasecmp(subcmd, "group_next")) {
+    scr_RosterNextGroup();
   } else if (!strcasecmp(subcmd, "note")) {
     roster_note(arg);
   } else
--- a/mcabber/src/screen.c	Tue Dec 05 22:41:33 2006 +0100
+++ b/mcabber/src/screen.c	Wed Dec 06 22:14:41 2006 +0100
@@ -1557,6 +1557,44 @@
     scr_ShowBuddyWindow();
 }
 
+//  scr_RosterPrevGroup()
+// Go to the previous group in the buddylist
+void scr_RosterPrevGroup(void)
+{
+  GList *bud;
+
+  for (bud = current_buddy ; bud ; ) {
+    bud = g_list_previous(bud);
+    if (!bud)
+      break;
+    if (buddy_gettype(BUDDATA(bud)) & ROSTER_TYPE_GROUP) {
+      set_current_buddy(bud);
+      if (chatmode)
+        scr_ShowBuddyWindow();
+      break;
+    }
+  }
+}
+
+//  scr_RosterNextGroup()
+// Go to the next group in the buddylist
+void scr_RosterNextGroup(void)
+{
+  GList *bud;
+
+  for (bud = current_buddy ; bud ; ) {
+    bud = g_list_next(bud);
+    if (!bud)
+      break;
+    if (buddy_gettype(BUDDATA(bud)) & ROSTER_TYPE_GROUP) {
+      set_current_buddy(bud);
+      if (chatmode)
+        scr_ShowBuddyWindow();
+      break;
+    }
+  }
+}
+
 //  scr_RosterSearch(str)
 // Look forward for a buddy with jid/name containing str.
 void scr_RosterSearch(char *str)
--- a/mcabber/src/screen.h	Tue Dec 05 22:41:33 2006 +0100
+++ b/mcabber/src/screen.h	Wed Dec 06 22:14:41 2006 +0100
@@ -110,6 +110,8 @@
 void scr_RosterBottom(void);
 void scr_RosterUp(void);
 void scr_RosterDown(void);
+void scr_RosterPrevGroup(void);
+void scr_RosterNextGroup(void);
 void scr_RosterSearch(char *);
 void scr_RosterJumpJid(char *);
 void scr_BufferTopBottom(int topbottom);