1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-09 19:23:13 +02:00

core: move option "scroll_unread" from command /input to /window

This commit is contained in:
Sebastien Helleu
2012-01-24 21:20:52 +01:00
parent 009925b9ac
commit d242f30950
26 changed files with 301 additions and 283 deletions
+1 -1
View File
@@ -138,7 +138,7 @@ gui_key_default_bindings (int context)
BIND(/* m-j,m-s */ "meta-jmeta-s", "/server jump");
BIND(/* m-h */ "meta-h", "/input hotlist_clear");
BIND(/* m-k */ "meta-k", "/input grab_key_command");
BIND(/* m-u */ "meta-u", "/input scroll_unread");
BIND(/* m-u */ "meta-u", "/window scroll_unread");
BIND(/* ^S^U */ "ctrl-Sctrl-U", "/input set_unread");
BIND(/* ^Cb */ "ctrl-Cb", "/input insert \\x02");
BIND(/* ^Cc */ "ctrl-Cc", "/input insert \\x03");
-38
View File
@@ -1418,44 +1418,6 @@ gui_input_grab_mouse (struct t_gui_buffer *buffer, int area)
gui_mouse_grab_init (area);
}
/*
* gui_input_scroll_unread: scroll to first unread line of buffer
* (default key: meta-u)
*/
void
gui_input_scroll_unread (struct t_gui_buffer *buffer)
{
struct t_gui_window *window;
window = gui_window_search_with_buffer (buffer);
if (window
&& (window->buffer->text_search == GUI_TEXT_SEARCH_DISABLED))
{
if (CONFIG_STRING(config_look_read_marker) &&
CONFIG_STRING(config_look_read_marker)[0] &&
(window->buffer->type == GUI_BUFFER_TYPE_FORMATTED) &&
(window->buffer->lines->first_line_not_read ||
(window->buffer->lines->last_read_line &&
window->buffer->lines->last_read_line != window->buffer->lines->last_line)))
{
if (window->buffer->lines->first_line_not_read)
window->scroll->start_line = window->buffer->lines->first_line;
else
window->scroll->start_line = window->buffer->lines->last_read_line->next_line;
if (window->scroll->start_line)
{
if (!gui_line_is_displayed (window->scroll->start_line))
window->scroll->start_line = gui_line_get_next_displayed (window->scroll->start_line);
}
window->scroll->start_line_pos = 0;
window->scroll->first_line_displayed =
(window->scroll->start_line == gui_line_get_first_displayed (window->buffer));
gui_buffer_ask_chat_refresh (window->buffer, 2);
}
}
}
/*
* gui_input_set_unread: set unread marker for all buffers
* (default key: ctrl-s, ctrl-u)
-1
View File
@@ -74,7 +74,6 @@ extern void gui_input_hotlist_clear (struct t_gui_buffer *buffer);
extern void gui_input_grab_key (struct t_gui_buffer *buffer, int command,
const char *delay);
extern void gui_input_grab_mouse (struct t_gui_buffer *buffer, int area);
extern void gui_input_scroll_unread (struct t_gui_buffer *buffer);
extern void gui_input_set_unread ();
extern void gui_input_set_unread_current (struct t_gui_buffer *buffer);
extern void gui_input_switch_active_buffer (struct t_gui_buffer *buffer);
+33
View File
@@ -1385,6 +1385,39 @@ gui_window_scroll_next_highlight (struct t_gui_window *window)
}
}
/*
* gui_window_scroll_unread: scroll to first unread line of buffer
*/
void
gui_window_scroll_unread (struct t_gui_window *window)
{
if (window->buffer->text_search == GUI_TEXT_SEARCH_DISABLED)
{
if (CONFIG_STRING(config_look_read_marker) &&
CONFIG_STRING(config_look_read_marker)[0] &&
(window->buffer->type == GUI_BUFFER_TYPE_FORMATTED) &&
(window->buffer->lines->first_line_not_read ||
(window->buffer->lines->last_read_line &&
window->buffer->lines->last_read_line != window->buffer->lines->last_line)))
{
if (window->buffer->lines->first_line_not_read)
window->scroll->start_line = window->buffer->lines->first_line;
else
window->scroll->start_line = window->buffer->lines->last_read_line->next_line;
if (window->scroll->start_line)
{
if (!gui_line_is_displayed (window->scroll->start_line))
window->scroll->start_line = gui_line_get_next_displayed (window->scroll->start_line);
}
window->scroll->start_line_pos = 0;
window->scroll->first_line_displayed =
(window->scroll->start_line == gui_line_get_first_displayed (window->buffer));
gui_buffer_ask_chat_refresh (window->buffer, 2);
}
}
}
/*
* gui_window_search_text: search text in a buffer
* return 1 if line has been found with text, otherwise 0
+1
View File
@@ -185,6 +185,7 @@ extern void gui_window_scroll (struct t_gui_window *window, char *scroll);
extern void gui_window_scroll_horiz (struct t_gui_window *window, char *scroll);
extern void gui_window_scroll_previous_highlight (struct t_gui_window *window);
extern void gui_window_scroll_next_highlight (struct t_gui_window *window);
extern void gui_window_scroll_unread (struct t_gui_window *window);
extern void gui_window_search_start (struct t_gui_window *window);
extern void gui_window_search_restart (struct t_gui_window *window);
extern void gui_window_search_stop (struct t_gui_window *window);