--- a/mcabber/doc/help/de/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/de/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Leere das gerade offene Chatfenster
-/buffer close
+/buffer close [jid]
Leert den Inhalt des Puffers und schließt das momentan geöffnete Chatfenster
/buffer close_all
Leert alle Chatpuffer und schließt alle Chatfenster
-/buffer purge
+/buffer purge [jid]
Leere das Chatfenster und lösche den Inhalt des Chatpuffers
/buffer top
Springe zum Anfang des momentanen Chat Puffers
--- a/mcabber/doc/help/en/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/en/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Clear the current buddy chat window
-/buffer close
+/buffer close [jid]
Empty all contents of the buffer and close the current buddy chat window
/buffer close_all
Empty all contents of the chat buffers and close the chat windows
-/buffer purge
+/buffer purge [jid]
Clear the current buddy chat window and empty all contents of the chat buffer
/buffer top
Jump to the top of the current buddy chat buffer
--- a/mcabber/doc/help/fr/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/fr/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Efface la fenêtre du contact sélectionné
-/buffer close
+/buffer close [jid]
Ferme la fenêtre du contact sélectionné après avoir vidé le contenu du tampon associé
/buffer close_all
Ferme les fenêtres dde tous les contacts après avoir vidé le contenu des tampons associés
-/buffer purge
+/buffer purge [jid]
Efface la fenêtre du contact sélectionné et vide le contenu du tampon associé
/buffer top
Va au début du tampon
--- a/mcabber/doc/help/it/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/it/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Pulisce la finestra di chat del contatto corrente
-/buffer close
+/buffer close [jid]
Svuota tutti contenuti presenti nel buffer e chiude la finestra di chat del contatto corrente
/buffer close_all
Svuota tutti i contenuti presenti in tutti i buffer e chiude le finestre di chat
-/buffer purge
+/buffer purge [jid]
Pulisce la finestra di chat del contatto corrente e svuota tutti i contenuti del buffer
/buffer top
Salta all'inizio del buffer di chat del contatto corrente
--- a/mcabber/doc/help/nl/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/nl/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Wis het chat venster van de actieve buddy
-/buffer close
+/buffer close [jid]
Wis de volledige inhoud van de chat buffer en sluit het venster van de actieve buddy
/buffer close_all
Wis de volledige inhoud van alle chat buffers en sluit alle chat vensters
-/buffer purge
+/buffer purge [jid]
Wis het chat venster van de actieve buddy en verwijder de volledige inhoud van de chat buffer
/buffer top
Spring naar het begin van de chat buffer van de actieve buddy
--- a/mcabber/doc/help/pl/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/pl/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Czyści okno rozmowy
-/buffer close
+/buffer close [jid]
Czyści cały bufor rozmowy i zamyka aktualne okno z rozmową
/buffer close_all
Czyści wszystkie bufory rozmów i zamyka okna z rozmowami
-/buffer purge
+/buffer purge [jid]
Czyści okno rozmowy i usuwa całą zawartość bufora rozmowy
/buffer top
Skacze na sam początek bufora rozmowy
--- a/mcabber/doc/help/ru/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/ru/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Отчищает текущее окно чата
-/buffer close
+/buffer close [jid]
Отчищает весь контент текущего буфера и закрывает окно чата с текущим пользователем
/buffer close_all
Отчищает весь контент буфера чата и закрывает окно чата
-/buffer purge
+/buffer purge [jid]
Очищает текущее окно чата и очищает все содержимое буфера (истории переписки)
/buffer bottom
Перемещает к концу буфера (истории переписки) с текущим пользователем
--- a/mcabber/doc/help/uk/hlp_buffer.txt Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/doc/help/uk/hlp_buffer.txt Sat Aug 25 12:05:12 2007 +0200
@@ -7,11 +7,11 @@
/buffer clear
Очистити поточне вікно діалогу.
-/buffer close
+/buffer close [jid]
Закрити вікно діалогу і витерти вміст буферу на додачу.
/buffer close_all
Потерти всі буфери з пам'яті і позакривати вікна діалогу.
-/buffer purge
+/buffer purge [jid]
Очистити вікно діалогу а також потерти його вміст з пам'яті.
/buffer top
Перейти до початку буферу.
--- a/mcabber/src/commands.c Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/src/commands.c Sat Aug 25 12:05:12 2007 +0200
@@ -947,7 +947,7 @@
}
// Close the buffer
- scr_BufferPurge(1);
+ scr_BufferPurge(1, NULL);
scr_LogPrint(LPRINT_LOGNORM, "Removing <%s>...", bjid);
jb_delbuddy(bjid);
@@ -1325,11 +1325,11 @@
} else if (!strcasecmp(subcmd, "clear")) {
scr_BufferClear();
} else if (!strcasecmp(subcmd, "close")) {
- scr_BufferPurge(1);
+ scr_BufferPurge(1, arg);
} else if (!strcasecmp(subcmd, "close_all")) {
scr_BufferPurgeAll(1);
} else if (!strcasecmp(subcmd, "purge")) {
- scr_BufferPurge(0);
+ scr_BufferPurge(0, arg);
} else if (!strcasecmp(subcmd, "scroll_lock")) {
scr_BufferScrollLock(1);
} else if (!strcasecmp(subcmd, "scroll_unlock")) {
--- a/mcabber/src/screen.c Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/src/screen.c Sat Aug 25 12:05:12 2007 +0200
@@ -2098,25 +2098,32 @@
}
}
-// scr_BufferPurge(closebuf)
-// Purge/Drop the current buddy buffer
+// scr_BufferPurge(closebuf, jid)
+// Purge/Drop the current buddy buffer or jid's buffer if jid != NULL.
// If closebuf is 1, close the buffer.
-void scr_BufferPurge(int closebuf)
+void scr_BufferPurge(int closebuf, const char *jid)
{
winbuf *win_entry;
guint isspe;
guint *p_closebuf;
-
- // Get win_entry
- if (!current_buddy) return;
- isspe = buddy_gettype(BUDDATA(current_buddy)) & ROSTER_TYPE_SPECIAL;
- win_entry = scr_SearchWindow(CURRENT_JID, isspe);
+ const char *cjid;
+
+ if (jid) {
+ cjid = jid;
+ isspe = FALSE;
+ } else {
+ // Get win_entry
+ if (!current_buddy) return;
+ cjid = CURRENT_JID;
+ isspe = buddy_gettype(BUDDATA(current_buddy)) & ROSTER_TYPE_SPECIAL;
+ }
+ win_entry = scr_SearchWindow(cjid, isspe);
if (!win_entry) return;
if (!isspe) {
p_closebuf = g_new(guint, 1);
*p_closebuf = closebuf;
- buffer_purge((gpointer)CURRENT_JID, win_entry, p_closebuf);
+ buffer_purge((gpointer)cjid, win_entry, p_closebuf);
g_free(p_closebuf);
if (closebuf) {
scr_set_chatmode(FALSE);
--- a/mcabber/src/screen.h Sat Aug 25 11:06:28 2007 +0200
+++ b/mcabber/src/screen.h Sat Aug 25 12:05:12 2007 +0200
@@ -148,7 +148,7 @@
void scr_BufferTopBottom(int topbottom);
void scr_BufferClear(void);
void scr_BufferScrollLock(int lock);
-void scr_BufferPurge(int);
+void scr_BufferPurge(int, const char*);
void scr_BufferPurgeAll(int);
void scr_BufferSearch(int direction, const char *text);
void scr_BufferPercent(int pc);