forked from mirror/OpenTTD
(svn r2385) - Feature: shortcut CTRL + U that clears the commandline of the current input-box. As requested by Tron.
This commit is contained in:
15
misc_gui.c
15
misc_gui.c
@@ -783,6 +783,17 @@ bool DeleteTextBufferChar(Textbuf *tb, int delmode)
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete every character in the textbuffer
|
||||
* @param tb @Textbuf buffer to be emptied
|
||||
*/
|
||||
void DeleteTextBufferAll(Textbuf *tb)
|
||||
{
|
||||
memset(tb->buf, 0, tb->maxlength);
|
||||
tb->length = tb->width = 0;
|
||||
tb->caretpos = tb->caretxoffs = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert a character to a textbuffer. If maxlength is zero, we don't care about
|
||||
* the screenlength but only about the physical length of the string
|
||||
@@ -875,6 +886,10 @@ int HandleEditBoxKey(Window *w, int wid, WindowEvent *we)
|
||||
if (InsertTextBufferClipboard(&WP(w, querystr_d).text))
|
||||
InvalidateWidget(w, wid);
|
||||
break;
|
||||
case (WKC_CTRL | 'U'):
|
||||
DeleteTextBufferAll(&WP(w, querystr_d).text);
|
||||
InvalidateWidget(w, wid);
|
||||
break;
|
||||
case WKC_BACKSPACE: case WKC_DELETE:
|
||||
if (DeleteTextBufferChar(&WP(w, querystr_d).text, we->keypress.keycode))
|
||||
InvalidateWidget(w, wid);
|
||||
|
Reference in New Issue
Block a user