There don't seem to be many of these.
[EMAIL PROTECTED] src]$ srcgrep 'tocBackend().update()'
buffer_funcs.cpp:704:   cbuf.tocBackend().update();
frontends/controllers/ControlToc.cpp:120:
kernel().buffer().getMasterBuffer()->tocBackend().update();
MenuBackend.cpp:708:    const_cast<Buffer*>(buf)->tocBackend().update();
(I checked for 'update()', too.) So we just need to delete the one in
buffer_funcs.cpp, which is in updateLabels().

After we figure out how to 'update on use', these can be removed.

Again, absolutely correct, I think. But if so, then I also think the
update button should be made more prominent, maybe even put at the top,
because people are otherwise going to expect the outline to update
automatically. (That's what got all of this started.) And the
update-on-use feature is critical, anyway, and even more so though if
we're not regularly updating. As I said in another thread, I've caused
crashes without it, though I can't seem to find a recipe.

How about:

1. keep a copy of old Toc in the outline panel
2. when a user clicks in the outline panel, update Toc
3. compare the old and new Toc,
 a. if there is no change, proceed as usual
 b. if there are changes, update outline panel,
    - handle user request if we can still complete the user's request
(item name etc),
    - otherwise, let the user know he has to click again

Of course, repositioning of the refresh button is also needed.

Cheers,
Bo

Reply via email to