• Colomban Wendling's avatar
    Update the symbol list rather than clearing and re-building it · 57d00f48
    Colomban Wendling yazdı
    The main advantages of not clearing and rebuilding the whole list is
    that it doesn't loose the folding and selection (as far as the selected
    row(s) still exist after the update, of course), and it reduces
    flickering upon update.
    
    The current implementation works in 3-steps:
    1) mark all rows as invalid;
    2) insert/update the rows, according to the new tag list, marking them
       as valid;
    3) remove all rows that are still invalid.
    This walks (rows) the first time, (tags*rows) the second and (rows) the
    third. This also uses an extra column to store the row's validity.
    
    A (probably) better implementation would be to:
    1) walk the current rows, updating them if necessary, or removing them;
    2) add the remaining tags that weren't there before.
    This is probably faster in theory (and probably also in practice), but
    it needs to refactor a lot the code to easily update *or* create a row,
    what the current code does not provide.
    Basically this is would be a two-pass update, walking (rows*tags) in
    the first pass, and only the remaining non-added tags in the second.
    
    
    git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5562 ea778897-0a13-0410-b9d1-a72fbfd435f5
    57d00f48
Adı
Son kayıt (commit)
Son güncelleme
data Loading commit data...
doc Loading commit data...
icons Loading commit data...
plugins Loading commit data...
po Loading commit data...
scintilla Loading commit data...
scripts Loading commit data...
src Loading commit data...
tagmanager Loading commit data...
AUTHORS Loading commit data...
COMMITTERS Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
ChangeLog.pre-0-17 Loading commit data...
HACKING Loading commit data...
INSTALL Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
README Loading commit data...
README.I18N Loading commit data...
README.Packagers Loading commit data...
THANKS Loading commit data...
TODO Loading commit data...
autogen.sh Loading commit data...
configure.ac Loading commit data...
geany.desktop.in Loading commit data...
geany.glade Loading commit data...
geany.gladep Loading commit data...
geany.nsi Loading commit data...
geany.pc.in Loading commit data...
geany.spec.in Loading commit data...
geany_private.rc Loading commit data...
makefile.win32 Loading commit data...
waf Loading commit data...
win32-config.h Loading commit data...
wscript Loading commit data...