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

Jump to next server now saves current channel buffer for each server

This commit is contained in:
Sebastien Helleu
2005-07-31 11:32:28 +00:00
parent 9e328d3fef
commit 38fa7c93ac
6 changed files with 46 additions and 6 deletions
+2 -1
View File
@@ -1,10 +1,11 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-07-30
ChangeLog - 2005-07-31
Version 0.1.5 (under dev!):
* jump to next server now saves current channel buffer for each server
* ctrl-up/ctrl-down keys added to call previous/next command in global
history (common to all buffers)
+18 -2
View File
@@ -224,6 +224,8 @@ gui_buffer_new (t_gui_window *window, void *server, void *channel, int dcc,
new_buffer->ptr_history = NULL;
new_buffer->num_history = 0;
new_buffer->old_channel_buffer = NULL;
/* add buffer to buffers queue */
new_buffer->prev_buffer = last_gui_buffer;
if (gui_buffers)
@@ -426,6 +428,12 @@ gui_buffer_free (t_gui_buffer *buffer, int switch_to_another)
if (buffer_before_dcc == buffer)
buffer_before_dcc = NULL;
for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer)
{
if (ptr_buffer->old_channel_buffer == buffer)
ptr_buffer->old_channel_buffer = NULL;
}
if (switch_to_another)
{
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
@@ -1547,8 +1555,16 @@ gui_input_jump_next_server ()
}
if (ptr_server != SERVER(gui_current_window->buffer))
{
ptr_buffer = (ptr_server->channels) ?
ptr_server->channels->buffer : ptr_server->buffer;
/* save current buffer */
SERVER(gui_current_window->buffer)->buffer->old_channel_buffer =
gui_current_window->buffer;
/* come back to memorized chan if found */
if (ptr_server->buffer->old_channel_buffer)
ptr_buffer = ptr_server->buffer->old_channel_buffer;
else
ptr_buffer = (ptr_server->channels) ?
ptr_server->channels->buffer : ptr_server->buffer;
gui_switch_to_buffer (gui_current_window, ptr_buffer);
gui_redraw_buffer (gui_current_window->buffer);
}
+3
View File
@@ -201,6 +201,9 @@ struct t_gui_buffer
t_history *ptr_history; /* current command in history */
int num_history; /* number of commands in history */
/* channel buffer before jumping to next server */
t_gui_buffer *old_channel_buffer; /* only used for server buffer */
/* link to previous/next buffer */
t_gui_buffer *prev_buffer; /* link to previous buffer */
t_gui_buffer *next_buffer; /* link to next buffer */
+2 -1
View File
@@ -1,10 +1,11 @@
WeeChat - Wee Enhanced Environment for Chat
===========================================
ChangeLog - 2005-07-30
ChangeLog - 2005-07-31
Version 0.1.5 (under dev!):
* jump to next server now saves current channel buffer for each server
* ctrl-up/ctrl-down keys added to call previous/next command in global
history (common to all buffers)
+18 -2
View File
@@ -224,6 +224,8 @@ gui_buffer_new (t_gui_window *window, void *server, void *channel, int dcc,
new_buffer->ptr_history = NULL;
new_buffer->num_history = 0;
new_buffer->old_channel_buffer = NULL;
/* add buffer to buffers queue */
new_buffer->prev_buffer = last_gui_buffer;
if (gui_buffers)
@@ -426,6 +428,12 @@ gui_buffer_free (t_gui_buffer *buffer, int switch_to_another)
if (buffer_before_dcc == buffer)
buffer_before_dcc = NULL;
for (ptr_buffer = gui_buffers; ptr_buffer; ptr_buffer = ptr_buffer->next_buffer)
{
if (ptr_buffer->old_channel_buffer == buffer)
ptr_buffer->old_channel_buffer = NULL;
}
if (switch_to_another)
{
for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window)
@@ -1547,8 +1555,16 @@ gui_input_jump_next_server ()
}
if (ptr_server != SERVER(gui_current_window->buffer))
{
ptr_buffer = (ptr_server->channels) ?
ptr_server->channels->buffer : ptr_server->buffer;
/* save current buffer */
SERVER(gui_current_window->buffer)->buffer->old_channel_buffer =
gui_current_window->buffer;
/* come back to memorized chan if found */
if (ptr_server->buffer->old_channel_buffer)
ptr_buffer = ptr_server->buffer->old_channel_buffer;
else
ptr_buffer = (ptr_server->channels) ?
ptr_server->channels->buffer : ptr_server->buffer;
gui_switch_to_buffer (gui_current_window, ptr_buffer);
gui_redraw_buffer (gui_current_window->buffer);
}
+3
View File
@@ -201,6 +201,9 @@ struct t_gui_buffer
t_history *ptr_history; /* current command in history */
int num_history; /* number of commands in history */
/* channel buffer before jumping to next server */
t_gui_buffer *old_channel_buffer; /* only used for server buffer */
/* link to previous/next buffer */
t_gui_buffer *prev_buffer; /* link to previous buffer */
t_gui_buffer *next_buffer; /* link to next buffer */