diff options
author | Ole Loots <ole@monochrom.net> | 2011-11-29 21:51:18 +0000 |
---|---|---|
committer | Ole Loots <ole@monochrom.net> | 2011-11-29 21:51:18 +0000 |
commit | dbffd36e1430872671602812408e18c253f045af (patch) | |
tree | d60f69042843bb67bc7a59f7b9cdfbc9cce633f9 /atari | |
parent | 4313de05845b79d3887603af6aacfff0f327636c (diff) | |
download | netsurf-dbffd36e1430872671602812408e18c253f045af.tar.gz netsurf-dbffd36e1430872671602812408e18c253f045af.tar.bz2 |
Handle focus event within window_set_focus, select all when url input gets focus
svn path=/trunk/netsurf/; revision=13206
Diffstat (limited to 'atari')
-rwxr-xr-x | atari/browser_win.c | 12 | ||||
-rwxr-xr-x | atari/toolbar.c | 4 |
2 files changed, 12 insertions, 4 deletions
diff --git a/atari/browser_win.c b/atari/browser_win.c index 664affbe7..6fde647db 100755 --- a/atari/browser_win.c +++ b/atari/browser_win.c @@ -57,6 +57,7 @@ #include "atari/search.h"
#include "atari/osspec.h" #include "atari/encoding.h" +#include "atari/toolbar.h" extern void * h_gem_rsrc;
extern struct gui_window *input_window;
@@ -351,7 +352,16 @@ void window_set_focus( struct gui_window * gw, enum focus_element_type type, voi if( gw->root->focus.type != type || gw->root->focus.element != element ) {
LOG(("Set focus: %p (%d)\n", element, type));
gw->root->focus.type = type;
- gw->root->focus.element = element;
+ gw->root->focus.element = element; + switch( type ){ + + case URL_WIDGET: + textarea_keypress( ((struct s_url_widget*)(element))->textarea, KEY_SELECT_ALL ); + break; + + default: break; + + }
}
}
diff --git a/atari/toolbar.c b/atari/toolbar.c index 0b7af6f37..79754b268 100755 --- a/atari/toolbar.c +++ b/atari/toolbar.c @@ -312,12 +312,10 @@ void __CDECL evnt_url_click( COMPONENT *c, long buff[8] ) /* TODO: reset mouse state of browser window? */
/* select whole text when newly focused, otherwise set caret to end of text */
if( !window_url_widget_has_focus(gw) ) {
- // TODO select all ( needs textarea change )
window_set_focus( gw, URL_WIDGET, (void*)&tb->url ); - textarea_mouse_action( tb->url.textarea, BROWSER_MOUSE_PRESS_1, mx, my );
} else {
if( mb & 1 ) {
- /* TODO: if the button is dragging, report draw event */ + /* TODO: if the button is dragging, report drag event */ } else {
/* TODO: recognize click + shift key */ int mstate = BROWSER_MOUSE_PRESS_1; |