On Thu, Sep 18, 2008 at 11:22:24PM -0400, Jorge Arellano Cid wrote:
On Thu, Sep 18, 2008 at 05:39:43PM +0200, Johannes Hofmann wrote:
Hi Jorge,
On Wed, Sep 17, 2008 at 06:14:58PM -0400, Jorge Arellano Cid wrote:
Hi there,
The tabs patch has grown to a quite usable state, so it was committed for you to test. I know we're close to the release so we can still rollback. It's just that I'd much like to have it in the main tree before dillo2 goes out.
The patch comes with several assorted cleanups and normalizations. For instance: derived widgets now use the "Cust" prefix instead of "New", the window->user_data() holds a pointer to the current UI, and child widgets get it from there, etc.
OK, so to the tabs...
This implementation uses one UI per tab, and it's quite fast. You can switch tabs with the mouse, Shift+{Left, Right} or {Ctrl,Ctrl+Shift}+TAB. Use Ctrl+N, or middle click over a link to open a new tab (just as it was with new windows). Ctrl+Q closes the tab.
The idea is that in the future the user can dillo2rc-choose whether to use windows or tabs, and windows with tabs.
Very nice!
The whole tabs or the future dillo2rc idea? ;-)
The whole tabs. I'm not sure I understand the dillo2rc idea correctly (see below).
Some issues:
1.- Tab Tooltips are commented out because FLTK has problems with them. 2.- Shift+{Left, Right} work even when the location is focused. In the latter case you may need to click the right key twice for it to focus and work (don't know why, the Left key works OK). 3.- Currently there's no hidden tabs widget, when there's only one tab (haven't even tried, it may be as simple as hiding the group).
Attached patch implements that. I don't like the global DilloTabs variable in uicmd.cc, but the static one a_UIcmd_browser_window_new() was not better. Perhaps DilloTabs should become member of some new class?
Committed.
The good thing of it being a simple variable is that no-tabs windows is straightforward to implement.
I'd say we should support multiple windows with one or more tabs each. In that case DilloTabs can not be a single global variable, as we need one tab widget per window. Cheers, Johannes