--- a/mcabber/doc/help/de/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/de/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search bud
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|text]
@@ -45,6 +45,7 @@
Anzeige von dem Buddy mit der jid sichern, sodass man ihn immer sieht, egal wie sein Status ist
/roster item_unlock [jid]
"/roster item_lock" rückgängig machen
+/roster item_toggle_lock [jid]
/roster hide
Den Roster verstecken, sodass das Chatfenster die ganze Breite bekommt
/roster show
--- a/mcabber/doc/help/en/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/en/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search bud
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|text]
@@ -45,6 +45,8 @@
Lock the roster item so it remains visible regardless of its status
/roster item_unlock [jid]
Undo the effects of item_lock
+/roster item_toggle_lock [jid]
+ Invert the current lock flag
/roster hide
Hide roster (full-width chat window)
/roster show
--- a/mcabber/doc/help/fr/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/fr/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search bud
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|text]
@@ -44,6 +44,8 @@
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 item_toggle_lock [jid]
+ Inverse le verrou (lock)
/roster hide
Cache le roster (fenêtre de discussion en pleine largeur)
/roster show
--- a/mcabber/doc/help/it/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/it/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search bud
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|testo]
@@ -45,6 +45,7 @@
Blocca un elemento del roster in modo che rimanga visibile a prescindere dal suo stato
/roster item_unlock [jid]
Cancella gli effetti di item_lock
+/roster item_toggle_lock [jid]
/roster hide
Nasconde il roster (chat a finestra piena)
/roster show
--- a/mcabber/doc/help/nl/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/nl/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search bud
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|text]
@@ -45,6 +45,7 @@
Bevries jid zodat deze zichtbaar blijft ongeacht diens status
/roster item_unlock [jid]
Maak het effect van 'item_lock' ongedaan
+/roster item_toggle_lock [jid]
/roster hide
Verberg het roster zodat het chat venster de volle breedte kan beslaan
/roster show
--- a/mcabber/doc/help/pl/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/pl/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search bud
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|text]
@@ -41,6 +41,7 @@
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 item_toggle_lock [jid]
/roster hide
Ukrywa całą liste kontaktów
/roster show
--- a/mcabber/doc/help/ru/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/ru/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search bud
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|text]
@@ -45,6 +45,7 @@
Закрепить пользователя из списка контактов и всегда отображать независимо от его статуса
/roster item_unlock [jid]
Отменить функцию /roster item_lock
+/roster item_toggle_lock [jid]
/roster hide
Скрыть список контактов (окно чата на весь экран)
/roster show
--- a/mcabber/doc/help/uk/hlp_roster.txt Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/doc/help/uk/hlp_roster.txt Sat Nov 10 22:14:57 2007 +0100
@@ -3,7 +3,7 @@
/ROSTER alternate|unread_first|unread_next
/ROSTER search ім'я
/ROSTER display|hide_offline|show_offline|toggle_offline
- /ROSTER item_lock|item_unlock
+ /ROSTER item_lock|item_unlock|item_toggle_lock
/ROSTER hide|show|toggle
/ROSTER note [-|текст]
@@ -44,6 +44,7 @@
Закріплює вказаний об'єкт списку так, що він завжди відображується, незважаючи на свій статус.
/roster item_unlock [jid]
Відміняє дію item_lock.
+/roster item_toggle_lock [jid]
/roster hide
Сховати список.
/roster show
--- a/mcabber/src/commands.c Fri Nov 09 23:42:41 2007 +0100
+++ b/mcabber/src/commands.c Sat Nov 10 22:14:57 2007 +0100
@@ -184,6 +184,7 @@
compl_add_category_word(COMPL_ROSTER, "toggle_offline");
compl_add_category_word(COMPL_ROSTER, "item_lock");
compl_add_category_word(COMPL_ROSTER, "item_unlock");
+ compl_add_category_word(COMPL_ROSTER, "item_toggle_lock");
compl_add_category_word(COMPL_ROSTER, "alternate");
compl_add_category_word(COMPL_ROSTER, "search");
compl_add_category_word(COMPL_ROSTER, "unread_first");
@@ -457,8 +458,9 @@
return process_command(line, FALSE);
}
-// Helper routine for buffer item_{lock,unlock}
-static void roster_buddylock(char *bjid, bool lock)
+// Helper routine for buffer item_{lock,unlock,toggle_lock}
+// "lock" values: 1=lock 0=unlock -1=invert
+static void roster_buddylock(char *bjid, int lock)
{
gpointer bud = NULL;
bool may_need_refresh = FALSE;
@@ -491,10 +493,13 @@
// Update the ROSTER_FLAG_USRLOCK flag
if (bud) {
+ if (lock == -1)
+ lock = !(buddy_getflags(bud) & ROSTER_FLAG_USRLOCK);
buddy_setflags(bud, ROSTER_FLAG_USRLOCK, lock);
- if (may_need_refresh)
+ if (may_need_refresh) {
buddylist_build();
update_roster = TRUE;
+ }
}
}
@@ -657,9 +662,11 @@
} else if (!strcasecmp(subcmd, "display")) {
scr_RosterDisplay(arg);
} else if (!strcasecmp(subcmd, "item_lock")) {
- roster_buddylock(arg, TRUE);
+ roster_buddylock(arg, 1);
} else if (!strcasecmp(subcmd, "item_unlock")) {
- roster_buddylock(arg, FALSE);
+ roster_buddylock(arg, 0);
+ } else if (!strcasecmp(subcmd, "item_toggle_lock")) {
+ roster_buddylock(arg, -1);
} else if (!strcasecmp(subcmd, "unread_first")) {
scr_RosterUnreadMessage(0);
} else if (!strcasecmp(subcmd, "unread_next")) {