From: Daniel Carl Date: Sat, 23 Mar 2013 21:57:49 +0000 (+0100) Subject: Added function to echo also if input is focused. X-Git-Url: https://git.owens.tech/rss.xml/rss.xml/git?a=commitdiff_plain;h=3ee861e796045472de58f42fd4f333abdf6c63af;p=vimb.git Added function to echo also if input is focused. Removed none used vb_clear_input function. --- diff --git a/src/command.c b/src/command.c index 2ac7915..285b023 100644 --- a/src/command.c +++ b/src/command.c @@ -389,9 +389,7 @@ gboolean command_yank(const Arg* arg) text = gtk_clipboard_wait_for_text(SECONDARY_CLIPBOARD()); } if (text) { - /* TODO is this the rigth place to switch the focus */ - gtk_widget_grab_focus(GTK_WIDGET(vb.gui.webview)); - vb_echo(VB_MSG_NORMAL, FALSE, "Yanked: %s", text); + vb_echo_force(VB_MSG_NORMAL, "Yanked: %s", text); g_free(text); return TRUE; @@ -409,9 +407,7 @@ gboolean command_yank(const Arg* arg) } if (a.s) { vb_set_clipboard(&a); - /* TODO is this the rigth place to switch the focus */ - gtk_widget_grab_focus(GTK_WIDGET(vb.gui.webview)); - vb_echo(VB_MSG_NORMAL, FALSE, "Yanked: %s", a.s); + vb_echo_force(VB_MSG_NORMAL, "Yanked: %s", a.s); g_free(a.s); return TRUE; diff --git a/src/hints.c b/src/hints.c index 5515c47..5bdaed0 100644 --- a/src/hints.c +++ b/src/hints.c @@ -178,9 +178,8 @@ static void hints_observe_input(gboolean observe) vb.hints.change_handler = vb.hints.keypress_handler = 0; - /* clear the input box - TODO move this to a better place */ - gtk_widget_grab_focus(GTK_WIDGET(vb.gui.webview)); - gtk_entry_set_text(GTK_ENTRY(vb.gui.inputbox), ""); + /* clear the input box */ + vb_echo_force(VB_MSG_NORMAL, FALSE, ""); } } diff --git a/src/main.c b/src/main.c index 90946fd..87d4972 100644 --- a/src/main.c +++ b/src/main.c @@ -78,19 +78,25 @@ static gboolean vb_hide_message(); static void vb_set_status(const StatusType status); static void vb_destroy_client(); -void vb_clean_input() +void vb_echo_force(const MessageType type, const char *error, ...) { - /* move focus from input box to clean it */ - gtk_widget_grab_focus(GTK_WIDGET(vb.gui.webview)); - vb_echo(VB_MSG_NORMAL, FALSE, ""); + char message[255]; + va_list arg_list; + + va_start(arg_list, error); + vsnprintf(message, 255, error, arg_list); + va_end(arg_list); + + vb_update_input_style(type); + gtk_entry_set_text(GTK_ENTRY(vb.gui.inputbox), message); } void vb_echo(const MessageType type, gboolean hide, const char *error, ...) { + char message[255]; va_list arg_list; va_start(arg_list, error); - char message[255]; vsnprintf(message, 255, error, arg_list); va_end(arg_list); diff --git a/src/main.h b/src/main.h index f62a21c..7f22567 100644 --- a/src/main.h +++ b/src/main.h @@ -325,7 +325,7 @@ typedef struct { extern VbCore core; /* functions */ -void vb_clean_input(void); +void vb_echo_force(const MessageType type, const char *error, ...); void vb_echo(const MessageType type, gboolean hide, const char *error, ...); gboolean vb_eval_script(WebKitWebFrame* frame, char* script, char* file, char** value); gboolean vb_load_uri(const Arg* arg);