1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-30 06:46:38 +02:00

core: add option -all for command /buffer unmerge

This commit is contained in:
Sebastien Helleu
2011-08-04 17:24:53 +02:00
parent d7a46135ee
commit 6442302f3f
18 changed files with 84 additions and 48 deletions
+17 -10
View File
@@ -651,15 +651,22 @@ COMMAND_CALLBACK(buffer)
number = -1;
if (argc >= 3)
{
error = NULL;
number = strtol (argv[2], &error, 10);
if (!error || error[0])
if (string_strcasecmp (argv[2], "-all") == 0)
{
/* invalid number */
gui_chat_printf (NULL,
_("%sError: incorrect buffer number"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return WEECHAT_RC_OK;
gui_buffer_unmerge_all ();
}
else
{
error = NULL;
number = strtol (argv[2], &error, 10);
if (!error || error[0])
{
/* invalid number */
gui_chat_printf (NULL,
_("%sError: incorrect buffer number"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return WEECHAT_RC_OK;
}
}
}
gui_buffer_unmerge (buffer, (int) number);
@@ -5159,7 +5166,7 @@ command_init ()
N_("list"
" || clear [<number>|-merged|-all]"
" || move|merge <number>"
" || unmerge [<number>]"
" || unmerge [<number>|-all]"
" || close [<n1>[-<n2>]|<name>]"
" || notify <level>"
" || localvar"
@@ -5217,7 +5224,7 @@ command_init ()
"clear -merged|-all|%(buffers_numbers)"
" || move %(buffers_numbers)"
" || merge %(buffers_numbers)"
" || unmerge %(buffers_numbers)"
" || unmerge %(buffers_numbers)|-all"
" || close %(buffers_plugins_names)"
" || list"
" || notify reset|none|highlight|message|all"
+27
View File
@@ -2580,6 +2580,33 @@ gui_buffer_unmerge (struct t_gui_buffer *buffer, int number)
WEECHAT_HOOK_SIGNAL_POINTER, buffer);
}
/*
* gui_buffer_unmerge_all: unmerge all merged buffers
*/
void
gui_buffer_unmerge_all ()
{
int number, count_merged, i;
struct t_gui_buffer *ptr_buffer;
number = 1;
while (number <= last_gui_buffer->number)
{
count_merged = gui_buffer_count_merged_buffers (number);
if (count_merged > 1)
{
for (i = 0; i < count_merged - 1; i++)
{
ptr_buffer = gui_buffer_search_by_number (number);
if (ptr_buffer)
gui_buffer_unmerge (ptr_buffer, -1);
}
}
number++;
}
}
/*
* gui_buffer_undo_snap: do a "snapshot" of buffer input (save content and
* position)
+1
View File
@@ -278,6 +278,7 @@ extern void gui_buffer_move_to_number (struct t_gui_buffer *buffer, int number);
extern void gui_buffer_merge (struct t_gui_buffer *buffer,
struct t_gui_buffer *target_buffer);
extern void gui_buffer_unmerge (struct t_gui_buffer *buffer, int number);
extern void gui_buffer_unmerge_all ();
extern void gui_buffer_undo_snap (struct t_gui_buffer *buffer);
extern void gui_buffer_undo_snap_free (struct t_gui_buffer *buffer);
extern void gui_buffer_undo_add (struct t_gui_buffer *buffer);