New treeview
by Michael Drake
Since the old treeview was inefficient, a bit flaky, and difficult to
maintain, we've been planning to replace it for some time.
I have a treeview rewrite in progress which is quite advanced, and I've
just pushed what I have done so far. Currently this is a new generic
treeview module, a partial new global history module, and a hack in the
old treeview for testing the new one.
To see the new treeview in action, either set temp_treeview_test:1 in the
Chocies file, or pass --temp_treeview_test=1 when you execute NetSurf.
With this option set, the global history treeview test can be found in the
hotlist/bookmarks/favourites window. You can have the old and new global
history treeviews open side-by-side.
Any feedback welcome.
A few more notes follow.
Performance
-----------
On a 600MHz XScale, the new global history treeview builds much faster
with my current 326kB of URL file.
New treeview:
(2.440000) desktop/global_history.c global_history_init 657: Loading
global history
(2.600000) desktop/global_history.c global_history_init 709: Loaded
global history
Old treeview:
(2.690000) desktop/history_global_core.c history_global_initialise 281:
Building history tree
(4.020000) desktop/history_global_core.c history_global_initialise 288:
History tree built
That's 0.16s vs. 1.33s. The new one is probably fast enough that we could
get away with making the global history treeview when the global history
window is opened, rather than generating on startup.
RISC OS treeview drags
----------------------
Seems that the RISC OS front end doesn't pass the mouse coordinate to the
core during drags in the treeview window, which is making the drag
behaviour there a bit peculiar.
Treeview behaviour
------------------
Single click on the expand/contract arrow toggles its expansion.
Single click on text/icon selects it.
Double click on a directory toggles its expansion.
Double click on an entry will "launch" it.*
Drag from an empty area starts a selection.
Drag from text/icon region will start a move drag.
Drag from anywhere in a selection will start a move drag.
First mouse button creates new selection.
Second mouse button modifies a selection.
Keyboard shortcuts for select all, clear selection, and delete selection
are implemented.
* Global history doesn't implement the launch callback msg yet.
Global history TODO
-------------------
- Need to implement launch message handling
- Need to implement node deletion message handling (so the delete actually
affects URLdb)
- Need to make browser window update the new global history code as you
visit pages.
What next
---------
1. Get some feedback.
2. Address feedback.
3. Finish new global history.
4. Change global history to use new treeview, removing temp test option.
5. Implement bookmarks, ssl cert chain viewer and cookie manager
with new treeview. Need to add various features to the treeview,
such as read-only mode, node movement drags, etc.
Up to and including step 5, there will be no changes in the front ends...
the old tree stuff will be wrapper layers for the new stuff.
6. Change front ends to use new treeview stuff directly.
Somewhere before step 6, I intend to change the interface for the using
the new treeview features a bit (core_window stuff).
Cheers,
--
Michael Drake (tlsa) http://www.netsurf-browser.org/
10 years
Re: netsurf: branch master updated. release/3.0-321-g0a0e786
by Michael Drake
In article <E1V0Dqg-00079Z-Vo(a)flounder.pepperfish.net>,
NetSurf Browser Project (Commit Mailer) <no-reply(a)netsurf-browser.org>
wrote:
> commitdiff http://git.netsurf-browser.org/netsurf.git/commit/?id=a479e8d18a464280fdf...
> commit a479e8d18a464280fdf85aebd7cbf74a3fba301f
[...]
> -en.all.HistGlobalNS:Show global history...
> -de.all.HistGlobalNS:Zeige globale History...
> -fr.all.HistGlobalNS:Show global history...
> -it.all.HistGlobalNS:Mostra cronologia globale...
> -nl.all.HistGlobalNS:Show global history...
> -en.all.HistLocalNS:Show local history...
> -de.all.HistLocalNS:Zeige lokale History...
> -fr.all.HistLocalNS:Show local history...
> -it.all.HistLocalNS:Mostra cronologia locale...
> -nl.all.HistLocalNS:Show local history...
> +en.all.HistGlobalNS:Show global history
> +de.all.HistGlobalNS:Zeige globale History
> +fr.all.HistGlobalNS:Show global history
> +it.all.HistGlobalNS:Mostra cronologia globale
> +nl.all.HistGlobalNS:Show global history
> +en.all.HistLocalNS:Show local history
> +de.all.HistLocalNS:Zeige lokale History
> +fr.all.HistLocalNS:Show local history
> +it.all.HistLocalNS:Mostra cronologia locale
> +nl.all.HistLocalNS:Show local history
There were several changes like that, removing ellipsis. For RISC OS it
is correct to have ellipsis on the end of menu entries that open a window
or dialogue box. A quick look around the apps on my Ubuntu box suggests
that it is correct there too, although there is considerable inconsistency.
--
Michael Drake (tlsa) http://www.netsurf-browser.org/
10 years, 2 months
NetSurf Society membership and AGM, 2013
by Daniel Silverstone
Greetings.
This mail is to establish the society membership (and thus voting rights) and
to indicate the AGM for 2013 along with asking for any business to be brought
up at the meeting.
Last year's society committee consisted of:
Michael Drake, Chair
John-Mark Bell, Treasurer
Daniel Silverstone, Secretary
Last year's non-committee membership consisted of:
Rob Kendrick
Chris Young
Vincent Sanders
François Revol
Steve Fryatt
By constitutional point 2.1, anyone who has committed code in the past 12
months (or had code committed on their behalf) is eligible for membership of
the society. By point 7.2, anyone ceasing to qualify to be a member of the
society is automatically removed from the list.
Based on the last year of commits, nobody was removed from membership and the
following people are eligible to join the society if they so choose:
Ole Loots
Vivek Dasmohapatra
Anthony J. Bentley
Adrien Destugues
Craig Barnes
John Tytgat
If any of the above wish to attend the AGM and be able to vote/raise issues
then they should contact me directly (not on list) to indicate such as per
constitutional point 5. A simple "I wish to be part of the NetSurf Society"
type statement will be sufficient.
The AGM this year is to be held on August 10th at 11:00 UK time (which will be
10:00 UTC). As with previous AGMs it will be held on the NetSurf IRC channel
and as such will be open for all to attend. Please do not actively say
anything in-channel unless you are part of the membership of the society
however. (We may moderate the channel for the duration if necessary).
Since the agenda rarely, if ever, changes, I hereby state that unless anyone
actively objects, it will be:
1. Welcome
2. Secretary's Report
2. Treasurer's Report
3. Chairman's Report
4. Committee Election
5. Project steering
6. A.O.B
7. Closing
If you have any input on the 'Project steering' section, feel free to pass it
on to a committee member or a society member so that they can prepare a
statement for the meeting.
We also require nominations and seconds for committee positions. I personally
nominate Michael to remain as Chair and John-Mark to remain as Treasurer.
Nominations and seconds should be sent to the list in response to this message
such that we can all see what is going on. Nominations will close one week
before the meeting is due to take place. At that point, votes may be
registered directly with me for any society member unable to attend the
meeting.
I apologise for the confusion about this year's AGM. Mea culpa.
Regards,
Daniel Silverstone
Secretary, NetSurf Project Society
--
Daniel Silverstone http://www.netsurf-browser.org/
PGP mail accepted and encouraged. Key Id: 3CCE BABE 206C 3B69
10 years, 2 months
Additional charset aliases for libparserutils
by Aaron Crane
The two attached patches add additional charset aliases to
libparserutils. Each of them was needed for handling at least one
real-world URL:
cp1255 (alias for windows-1255)
big5-eten (alias for Big5)
Please let me know if there's anything else you need from me.
Thanks.
--
Aaron Crane ** http://aaroncrane.co.uk/
10 years, 2 months