summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/gui-history.c26
-rw-r--r--src/gui/gui-history.h5
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 */