diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/gui-history.c | 26 | ||||
-rw-r--r-- | src/gui/gui-history.h | 5 |
2 files changed, 30 insertions, 1 deletions
diff --git a/src/gui/gui-history.c b/src/gui/gui-history.c index 6c32626f6..e8e316b25 100644 --- a/src/gui/gui-history.c +++ b/src/gui/gui-history.c @@ -28,6 +28,7 @@ #include "../core/weechat.h" #include "../core/wee-config.h" +#include "../core/wee-infolist.h" #include "../core/wee-string.h" #include "gui-history.h" #include "gui-buffer.h" @@ -185,3 +186,28 @@ gui_history_buffer_free (struct t_gui_buffer *buffer) buffer->ptr_history = NULL; buffer->num_history = 0; } + +/* + * gui_history_add_to_infolist: add history of commands in an infolist + * if buffer is NULL, global history is returned + * return 1 if ok, 0 if error + */ + +int +gui_history_add_to_infolist (struct t_infolist *infolist, + struct t_gui_history *history) +{ + struct t_infolist_item *ptr_item; + + if (!infolist || !history) + return 0; + + ptr_item = infolist_new_item (infolist); + if (!ptr_item) + return 0; + + if (!infolist_new_var_string (ptr_item, "text", history->text)) + return 0; + + return 1; +} diff --git a/src/gui/gui-history.h b/src/gui/gui-history.h index 501c201e2..e51c0072d 100644 --- a/src/gui/gui-history.h +++ b/src/gui/gui-history.h @@ -33,9 +33,12 @@ extern struct t_gui_history *history_global; extern struct t_gui_history *last_history_global; extern struct t_gui_history *history_global_ptr; -extern void gui_history_buffer_add (struct t_gui_buffer *buffer, const char *string); +extern void gui_history_buffer_add (struct t_gui_buffer *buffer, + const char *string); extern void gui_history_global_add (const char *string); extern void gui_history_global_free (); extern void gui_history_buffer_free (struct t_gui_buffer *buffer); +extern int gui_history_add_to_infolist (struct t_infolist *infolist, + struct t_gui_history *history); #endif /* gui-history.h */ |