diff options
author | Daniel Carl <danielcarl@gmx.de> | 2013-07-04 23:51:48 +0200 |
---|---|---|
committer | Daniel Carl <danielcarl@gmx.de> | 2013-07-04 23:51:48 +0200 |
commit | 04cbd6dc550e1759d1a473064e7cca187f41fcc8 (patch) | |
tree | d0bd3a0dbf4c76167258dc9937af265dd6029a8f /src | |
parent | ca1bee0a48beb81c123e8222dd0a6e8f36f6a622 (diff) |
Write completion content direct to inputbox (#38).
This prevent the cropping of completed content which leads to the new
generation of completion which in fact does only find a single item.
Diffstat (limited to 'src')
-rw-r--r-- | src/completion.c | 2 | ||||
-rw-r--r-- | src/config.h | 5 | ||||
-rw-r--r-- | src/main.c | 3 | ||||
-rw-r--r-- | src/main.h | 4 |
4 files changed, 6 insertions, 8 deletions
diff --git a/src/completion.c b/src/completion.c index 5f94cc2..99321ef 100644 --- a/src/completion.c +++ b/src/completion.c @@ -271,7 +271,7 @@ static gboolean tree_selection_func(GtkTreeSelection *selection, comp.text = g_strdup_printf("%s%s", comp.prefix, value); } /* print the text also into inputbox */ - vb_echo_force(VB_MSG_NORMAL, false, "%s", comp.text); + PUT_TEXT(comp.text); g_free(value); } diff --git a/src/config.h b/src/config.h index 9e39796..6601d37 100644 --- a/src/config.h +++ b/src/config.h @@ -27,11 +27,6 @@ #define MESSAGE_TIMEOUT 5 const unsigned int SETTING_MAX_CONNS = 25; const unsigned int SETTING_MAX_CONNS_PER_HOST = 5; - -/* number of chars in inputbox - if completion or stepping through history - * print values longer this value, the cursor will be placed to the beginning - * so that the command part will be visible */ -const unsigned int INPUT_LENGTH = 120; const unsigned int MAXIMUM_HINTS = 500; const char *default_config[] = { @@ -589,8 +589,7 @@ static void inputbox_print(gboolean force, const MessageType type, gboolean hide vb.state.input_type = type; vb_update_input_style(); } - gtk_entry_set_text(GTK_ENTRY(vb.gui.inputbox), message); - gtk_editable_set_position(GTK_EDITABLE(vb.gui.inputbox), strlen(message) > INPUT_LENGTH ? 0 : -1); + PUT_TEXT(message); if (hide) { g_timeout_add_seconds(MESSAGE_TIMEOUT, (GSourceFunc)hide_message, NULL); } @@ -55,6 +55,10 @@ #endif #define GET_TEXT() (gtk_entry_get_text(GTK_ENTRY(vb.gui.inputbox))) +#define PUT_TEXT(x) { \ + gtk_entry_set_text(GTK_ENTRY(vb.gui.inputbox), x); \ + gtk_editable_set_position(GTK_EDITABLE(vb.gui.inputbox), -1); \ +} #define GET_URI() (webkit_web_view_get_uri(vb.gui.webview)) #define CLEAN_MODE(mode) ((mode) & ~(VB_MODE_COMPLETE | VB_MODE_SEARCH | VB_MODE_HINTING)) #define CLEAR_INPUT() (vb_echo(VB_MSG_NORMAL, "")) |