[no subject]
* There is a lot of duplicated code in your patch; in particular
the focus-sort stuff and the F10 handling duplication between
GtkWindow and GtkToolbar.
This is fairly easy to fix, what I think needs to be done is:
- Export _gtk_container_focus_sort() privately
- Move the F10 handling into GtkWindow and then have that
call back to GtkMenuBar, GtkToolbar to do the widget specific
work.
* The code organization feels funny - having GtkMenuBar call a bunch
of calls in GtkToolbar isn't really the way I'd want to set it
up.
I think the right (but still rather hacky) thing to do is a
private API on the lines of:
void _gtk_window_bar_focus_add (GtkWindow *window,
GtkWidget *focus_bar);
void _gtk_window_bar_focus_remove (GtkWindow *window,
GtkWidget *focus_bar);
void _gtk_window_bar_focus_begin (GtkWindow *window,
GtkWidget *start);
void _gtk_window_bar_focus_end (GtkWindow *window);
void _gtk_window_bar_focus_cycle (GtkWindow *window,
GtkWidget *start,
GtkDirectionType direction);
* I don't have a good feeling about changing the way that grabs/focus
works for menu bars at this point. It's tricky stuff.
Your patch seems to work quite well, but I tried moving to a
_gtk_window_bar_* style API as mentioned above, everything fell all
over itself even though I tried to do things pretty similiarly
to how you had them set up.
While this says that you probably understand things how the code
works in this area better I do :-) it also says I'm not in a good
position to review the change and make sure that it isn't going
to produce a bunch of problems elsewhere.
What I'm going to do is:
a) Add a small standalone patch to make Control-Tab cycle focus
between menu bars before 2.0.0. (But after 1.3.15.)
b) Leave the full toolbar focusing issue and focus save/restore
issues until after 2.0.0, probably for 2.2.0.
Sorry for not being able to get to this earlier; it's certainly my
fault that this patch hasn't gotten enough iterations to go in at
this point.
Regards,
Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]