diff options
author | jcid <devnull@localhost> | 2008-10-02 16:57:58 +0200 |
---|---|---|
committer | jcid <devnull@localhost> | 2008-10-02 16:57:58 +0200 |
commit | 476f5e74c2a93b7893a44c34f5cd1e953242ea33 (patch) | |
tree | 7d6063a1d6e4ba4cc2823fcff3be99fba4116e54 /src/uicmd.cc | |
parent | ea461615f2b4a0a693aacd96435216b1dd2d53f9 (diff) |
- Made SHIFT + {Left, Right} work even with findbar focused.
Diffstat (limited to 'src/uicmd.cc')
-rw-r--r-- | src/uicmd.cc | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/uicmd.cc b/src/uicmd.cc index 0a7304dd..4be76e4d 100644 --- a/src/uicmd.cc +++ b/src/uicmd.cc @@ -70,10 +70,9 @@ public: int i = value(); if (k == LeftKey) {i = i ? i-1 : children()-1;} else {i++; if (i >= children()) i = 0;} - if (value(i)) do_callback(); + selected_child(child(i)); return 1; } - return 0; } } return TabGroup::handle(e); @@ -137,6 +136,20 @@ BrowserWindow *a_UIcmd_get_bw_by_widget(void *v_wid) } /* + * FLTK regards SHIFT + {LeftKey, Right} as navigation keys. + * Special handling is required to override it. Here we route + * these events directly to the recipient. + * TODO: focus is not remembered correctly. + */ +void a_UIcmd_send_event_to_tabs_by_wid(int e, void *v_wid) +{ + BrowserWindow *bw = a_UIcmd_get_bw_by_widget(v_wid); + UI *ui = (UI*)bw->ui; + if (ui->tabs()) + ui->tabs()->handle(e); +} + +/* * Create a new UI and its associated BrowserWindow data structure. * Use style from v_ui. If non-NULL it must be of type UI*. */ |