The core treeview code behaves a bit better now. The main improvements
are to mouse input handling, textarea editing and tree rendering.
The GTK and RISC OS front ends passing of browser_mouse_state has also
been fixed for various faults. I believe Chris has updated the Amiga
front end's browser_mouse_state setup too.
There are still some remaining issues. Key ones are:
CORE1: The core now supports arbitrary line heights, but this is
currently set to a fixed 20px instead of being based on the
font size. This is because in the GTK front end, the desktop
dpi is not available at the time the trees are initialised and
generated at startup. See GTK1.
CORE2: Selected nodes aren't updated as you drag.
CORE3: The core draws its own caret instead of calling the front end
to draw its own caret.
CORE4: The path to the icon directory is stored in a Choices option.
If this gets saved to the Choices file, and the location
of the icons changes, it will never find them and there is no
way to update the option. Maybe it should use the resources
path and add the icons sub directory to that or something.
RISC OS1: If you start editing a hotlist entry by selecting it and then
using the Selection > Edit menu, if you press the SHIFT key, it
ends the edit as if you'd pressed escape. If you type some
text before pressing SHIFT, it behaves correctly. The core
does not seem to get given the SHIFT keypress when it fails.
I don't know enough about RISC OS to know what might be
happening here. If you start the edit by CTRL+Clicking or
ALT+Clicking the text, SHIFT behaves correctly.
RISC OS2: While editing text in a treeview textarea, text selection
drag redraws are a bit broken. This could well be the core,
but it works on the GTK front end.
GTK1: The GTK front end doesn't set up the dpi until a browser window
is opened. The treeview code needs it when its initialised,
which happens before this.
With respect to NetSurf 2.7 release, my evaluation is:
NetSurf 2.7 Blockers:
+ RISC OS1
NetSurf 2.7 Blockers if not too difficult
+ GTK1
+ CORE1 (trivial, after GTK1 is done)
+ CORE4
Any comments?
If GTK1 is fixed, I'll fix CORE1. I will also do CORE2 if it doesn't look
like too much work.
--
Michael Drake (tlsa) http://www.netsurf-browser.org/