aboutsummaryrefslogtreecommitdiff
path: root/src/uicmd.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/uicmd.cc')
-rw-r--r--src/uicmd.cc17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/uicmd.cc b/src/uicmd.cc
index 08f9f70b..190b9e7e 100644
--- a/src/uicmd.cc
+++ b/src/uicmd.cc
@@ -142,7 +142,11 @@ int CustTabs::handle(int e)
UI *ui = (UI*)wizard()->value();
BrowserWindow *bw = a_UIcmd_get_bw_by_widget(ui);
KeysCommand_t cmd = Keys::getKeyCmd();
- if (cmd == KEYS_NOP) {
+ if (Fl::event_key() == FL_Escape) {
+ // Hide findbar if present
+ ui->findbar_toggle(0);
+ ret = 1;
+ } else if (cmd == KEYS_NOP) {
// Do nothing
} else if (cmd == KEYS_NEW_TAB) {
a_UIcmd_open_url_nt(bw, NULL, 1);
@@ -435,6 +439,9 @@ static BrowserWindow *UIcmd_tab_new(CustTabs *tabs, int focus)
// Copy the layout pointer into the bw data
new_bw->render_layout = (void*)layout;
+ // WORKAROUND: see findbar_toggle()
+ new_ui->findbar_toggle(0);
+
return new_bw;
}
@@ -1231,6 +1238,14 @@ void a_UIcmd_findtext_reset(BrowserWindow *bw)
}
/*
+ * Tell the UI to hide/show the findbar
+ */
+void a_UIcmd_findbar_toggle(BrowserWindow *bw, int on)
+{
+ BW2UI(bw)->findbar_toggle(on);
+}
+
+/*
* Focus the rendered area.
*/
void a_UIcmd_focus_main_area(BrowserWindow *bw)