core: add buffer property "day_change" to hide messages for the day change in specific buffers

v2.8-utf8proc
Sebastien Helleu 2013-12-04 09:38:57 +01:00
parent 267eeffa0a
commit 1d7466032d
7 changed files with 48 additions and 6 deletions

View File

@ -11,6 +11,8 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes]
== Version 0.4.3 (under dev)
* core: add buffer property "day_change" to hide messages for the day change in
specific buffers
* core: replace default key key[ctrl-c,r] by key[ctrl-c,v] for reverse video in
messages
* core: replace default key key[ctrl-c,u] by key[ctrl-c,_] for underlined text

View File

@ -9890,6 +9890,7 @@ Arguments:
** 'num_displayed': number of windows displaying buffer
** 'active': 1 if buffer is active, 0 if buffer is merged and not selected
** 'print_hooks_enabled': 1 if print hooks are enabled, otherwise 0
** 'day_change': 1 if messages for the day change are displayed, otherwise 0
** 'lines_hidden': 1 if at least one line is hidden on buffer (filtered), or 0
if all lines are displayed
** 'prefix_max_length': max length for prefix in this buffer
@ -10101,6 +10102,10 @@ Arguments:
highlights only, "2" = add for highlights and messages, "3" = add for all
messages
| day_change | "0" or "1" |
"0" to hide messages for the day change, "1" to see them
(default for a new buffer)
| title | any string |
Set new title for buffer

View File

@ -10058,6 +10058,7 @@ Paramètres :
** 'active' : 1 si le tampon est actif, 0 si le tampon est mélangé et n'est pas
sélectionné
** 'print_hooks_enabled' : 1 si les hooks "print" sont activés, sinon 0
** 'day_change' : 1 si les messages de changement de jour sont affichés, sinon 0
** 'lines_hidden' : 1 si au moins une ligne est cachée dans le tampon
(filtrée), ou 0 si toutes les lignes sont affichées
** 'prefix_max_length' : longueur maximale du préfixe dans ce tampon
@ -10275,6 +10276,10 @@ Paramètres :
hotlist, "1" = ajouter pour les highlights seulement, "2" = ajouter pour les
highlights et les messages, "3" = ajouter pour tous les messages
| day_change | "0" ou "1" |
"0" pour cacher les messages de changement de jour, "1" pour les voir
(par défaut pour un nouveau tampon)
| title | toute chaîne |
Change le titre du tampon

View File

@ -10041,6 +10041,8 @@ Argomenti:
** 'active': 1 se il buffer è attivo, 0 se il buffer è unito e non selezionato
** 'print_hooks_enabled': 1 se gli hook sulla stampa sono abilitati,
altrimenti 0
// TRANSLATION MISSING
** 'day_change': 1 if messages for the day change are displayed, otherwise 0
** 'lines_hidden': 1 se almeno una riga è nascosta sul buffer (filtrata),
oppure 0 se vengono visualizzate tutte le righe
** 'prefix_max_length': lunghezza massima del prefisso in questo buffer
@ -10260,6 +10262,11 @@ Argomenti:
"1" = aggiungere solo per gli eventi, "2" = aggiungere per eventi e
messaggi, "3" = aggiungere per tutti i messaggi
// TRANSLATION MISSING
| day_change | "0" oppure "1" |
"0" to hide messages for the day change, "1" to see them
(default for a new buffer)
| title | qualsiasi stringa |
Imposta nuovo titolo per il buffer

View File

@ -30,6 +30,7 @@
#include "../../core/weechat.h"
#include "../../core/wee-config.h"
#include "../../core/wee-eval.h"
#include "../../core/wee-hashtable.h"
#include "../../core/wee-hook.h"
#include "../../core/wee-string.h"
#include "../../core/wee-utf8.h"
@ -1255,7 +1256,9 @@ gui_chat_display_line (struct t_gui_window *window, struct t_gui_line *line,
lines_displayed = 0;
/* display message before first line of buffer if date is not today */
if ((line->data->date != 0) && CONFIG_BOOLEAN(config_look_day_change))
if ((line->data->date != 0)
&& CONFIG_BOOLEAN(config_look_day_change)
&& window->buffer->day_change)
{
ptr_time = NULL;
ptr_prev_line = gui_line_get_prev_displayed (line);
@ -1443,7 +1446,9 @@ gui_chat_display_line (struct t_gui_window *window, struct t_gui_line *line,
}
/* display message if day has changed after this line */
if ((line->data->date != 0) && CONFIG_BOOLEAN(config_look_day_change))
if ((line->data->date != 0)
&& CONFIG_BOOLEAN(config_look_day_change)
&& window->buffer->day_change)
{
ptr_time = NULL;
ptr_next_line = gui_line_get_next_displayed (line);

View File

@ -75,8 +75,8 @@ char *gui_buffer_notify_string[GUI_BUFFER_NUM_NOTIFY] =
char *gui_buffer_properties_get_integer[] =
{ "number", "layout_number", "layout_number_merge_order", "type", "notify",
"num_displayed", "active", "print_hooks_enabled", "lines_hidden",
"prefix_max_length", "time_for_each_line", "nicklist",
"num_displayed", "active", "print_hooks_enabled", "day_change",
"lines_hidden", "prefix_max_length", "time_for_each_line", "nicklist",
"nicklist_case_sensitive", "nicklist_max_length", "nicklist_display_groups",
"nicklist_count", "nicklist_groups_count", "nicklist_nicks_count",
"nicklist_visible_count", "input", "input_get_unknown_commands",
@ -96,8 +96,8 @@ char *gui_buffer_properties_get_pointer[] =
NULL
};
char *gui_buffer_properties_set[] =
{ "unread", "display", "print_hooks_enabled", "number", "name", "short_name",
"type", "notify", "title", "time_for_each_line", "nicklist",
{ "unread", "display", "print_hooks_enabled", "day_change", "number", "name",
"short_name", "type", "notify", "title", "time_for_each_line", "nicklist",
"nicklist_case_sensitive", "nicklist_display_groups", "highlight_words",
"highlight_words_add", "highlight_words_del", "highlight_regex",
"highlight_tags", "hotlist_max_level_nicks", "hotlist_max_level_nicks_add",
@ -475,6 +475,7 @@ gui_buffer_new (struct t_weechat_plugin *plugin,
new_buffer->num_displayed = 0;
new_buffer->active = 1;
new_buffer->print_hooks_enabled = 1;
new_buffer->day_change = 1;
/* close callback */
new_buffer->close_callback = close_callback;
@ -859,6 +860,8 @@ gui_buffer_get_integer (struct t_gui_buffer *buffer, const char *property)
return buffer->active;
else if (string_strcasecmp (property, "print_hooks_enabled") == 0)
return buffer->print_hooks_enabled;
else if (string_strcasecmp (property, "day_change") == 0)
return buffer->day_change;
else if (string_strcasecmp (property, "lines_hidden") == 0)
return buffer->lines->lines_hidden;
else if (string_strcasecmp (property, "prefix_max_length") == 0)
@ -1542,6 +1545,16 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property,
if (error && !error[0])
buffer->print_hooks_enabled = (number) ? 1 : 0;
}
else if (string_strcasecmp (property, "day_change") == 0)
{
error = NULL;
number = strtol (value, &error, 10);
if (error && !error[0])
{
buffer->day_change = (number) ? 1 : 0;
gui_buffer_ask_chat_refresh (buffer, 2);
}
}
else if (string_strcasecmp (property, "number") == 0)
{
error = NULL;
@ -3203,6 +3216,7 @@ gui_buffer_hdata_buffer_cb (void *data, const char *hdata_name)
HDATA_VAR(struct t_gui_buffer, num_displayed, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_buffer, active, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_buffer, print_hooks_enabled, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_buffer, day_change, INTEGER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_buffer, close_callback, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_buffer, close_callback_data, POINTER, 0, NULL, NULL);
HDATA_VAR(struct t_gui_buffer, title, STRING, 0, NULL, NULL);
@ -3374,6 +3388,8 @@ gui_buffer_add_to_infolist (struct t_infolist *infolist,
return 0;
if (!infolist_new_var_integer (ptr_item, "print_hooks_enabled", buffer->print_hooks_enabled))
return 0;
if (!infolist_new_var_integer (ptr_item, "day_change", buffer->day_change))
return 0;
if (!infolist_new_var_integer (ptr_item, "first_line_not_read", buffer->lines->first_line_not_read))
return 0;
if (!infolist_new_var_integer (ptr_item, "lines_hidden", buffer->lines->lines_hidden))
@ -3576,6 +3592,7 @@ gui_buffer_print_log ()
log_printf (" num_displayed . . . . . : %d", ptr_buffer->num_displayed);
log_printf (" active. . . . . . . . . : %d", ptr_buffer->active);
log_printf (" print_hooks_enabled . . : %d", ptr_buffer->print_hooks_enabled);
log_printf (" day_change. . . . . . . : %d", ptr_buffer->day_change);
log_printf (" close_callback. . . . . : 0x%lx", ptr_buffer->close_callback);
log_printf (" close_callback_data . . : 0x%lx", ptr_buffer->close_callback_data);
log_printf (" title . . . . . . . . . : '%s'", ptr_buffer->title);

View File

@ -92,6 +92,7 @@ struct t_gui_buffer
/* 1 = active (merged or not) */
/* 2 = the only active (merged) */
int print_hooks_enabled; /* 1 if print hooks are enabled */
int day_change; /* 1 if "day change" displayed */
/* close callback */
int (*close_callback)(void *data, /* called when buffer is closed */