1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-10 11:43:13 +02:00

core: add function gui_buffer_new_props (issue #1759)

This function allows to create a buffer and set properties via a hashtable,
before the signal "buffer_opened" is sent.
This commit is contained in:
Sébastien Helleu
2022-03-07 21:37:25 +01:00
parent 310b4dd2a0
commit fbbed9fbf7
7 changed files with 165 additions and 50 deletions
+24 -9
View File
@@ -204,20 +204,35 @@ secure_buffer_assign ()
void
secure_buffer_open ()
{
struct t_hashtable *properties;
if (!secure_buffer)
{
secure_buffer = gui_buffer_new (NULL, SECURE_BUFFER_NAME,
&secure_buffer_input_cb, NULL, NULL,
&secure_buffer_close_cb, NULL, NULL);
if (secure_buffer)
properties = hashtable_new (
32,
WEECHAT_HASHTABLE_STRING,
WEECHAT_HASHTABLE_STRING,
NULL, NULL);
if (properties)
{
if (!secure_buffer->short_name)
secure_buffer->short_name = strdup (SECURE_BUFFER_NAME);
gui_buffer_set (secure_buffer, "type", "free");
gui_buffer_set (secure_buffer, "localvar_set_no_log", "1");
gui_buffer_set (secure_buffer, "key_bind_meta-v", "/secure toggle_values");
hashtable_set (properties, "type", "free");
hashtable_set (properties, "localvar_set_no_log", "1");
hashtable_set (properties,
"key_bind_meta-v", "/secure toggle_values");
}
secure_buffer = gui_buffer_new_props (
NULL, SECURE_BUFFER_NAME, properties,
&secure_buffer_input_cb, NULL, NULL,
&secure_buffer_close_cb, NULL, NULL);
if (secure_buffer && !secure_buffer->short_name)
secure_buffer->short_name = strdup (SECURE_BUFFER_NAME);
secure_buffer_display_values = 0;
if (properties)
hashtable_free (properties);
}
if (!secure_buffer)