From 6f84e00ee73a7fff5a1a05ba925bdcbd0cd7cb24 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sun, 21 Mar 2010 10:00:47 +0100 Subject: [PATCH] Use buffer local variable "nick" for default item "input_prompt" --- src/gui/gui-bar-item.c | 14 +++++++++++--- src/gui/gui-buffer.h | 2 ++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/gui/gui-bar-item.c b/src/gui/gui-bar-item.c index afee0d9a6..996bff803 100644 --- a/src/gui/gui-bar-item.c +++ b/src/gui/gui-bar-item.c @@ -583,12 +583,20 @@ char * gui_bar_item_default_input_prompt (void *data, struct t_gui_bar_item *item, struct t_gui_window *window) { + struct t_gui_buffer_local_var *local_var_nick; + /* make C compiler happy */ (void) data; (void) item; - (void) window; - return NULL; + if (!window) + window = gui_current_window; + + local_var_nick = gui_buffer_local_var_search (window->buffer, "nick"); + if (!local_var_nick || !local_var_nick->value) + return NULL; + + return strdup (local_var_nick->value); } /* @@ -1329,7 +1337,7 @@ gui_bar_item_init () gui_bar_item_new (NULL, gui_bar_item_names[GUI_BAR_ITEM_INPUT_PROMPT], &gui_bar_item_default_input_prompt, NULL); - gui_bar_item_hook_signal ("input_prompt_changed", + gui_bar_item_hook_signal ("buffer_localvar_*", gui_bar_item_names[GUI_BAR_ITEM_INPUT_PROMPT]); /* input search */ diff --git a/src/gui/gui-buffer.h b/src/gui/gui-buffer.h index 4ff35726d..4d6afa482 100644 --- a/src/gui/gui-buffer.h +++ b/src/gui/gui-buffer.h @@ -186,6 +186,8 @@ extern char *gui_buffer_notify_string[]; /* buffer functions */ +extern struct t_gui_buffer_local_var *gui_buffer_local_var_search (struct t_gui_buffer *buffer, + const char *name); extern void gui_buffer_notify_set_all (); extern struct t_gui_buffer *gui_buffer_new (struct t_weechat_plugin *plugin, const char *name,