aboutsummaryrefslogtreecommitdiff
path: root/src/uicmd.cc
diff options
context:
space:
mode:
authorjcid <devnull@localhost>2008-10-02 16:57:58 +0200
committerjcid <devnull@localhost>2008-10-02 16:57:58 +0200
commit476f5e74c2a93b7893a44c34f5cd1e953242ea33 (patch)
tree7d6063a1d6e4ba4cc2823fcff3be99fba4116e54 /src/uicmd.cc
parentea461615f2b4a0a693aacd96435216b1dd2d53f9 (diff)
- Made SHIFT + {Left, Right} work even with findbar focused.
Diffstat (limited to 'src/uicmd.cc')
-rw-r--r--src/uicmd.cc17
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*.
*/