Bo Peng wrote:
Dear all,
Attached patch re-organize the bookmarks feature.
Changes:
1. change related menu items to
save-bookmark 1 (add a bookmark)
Bookmarks: auto-expanded bookmark list
2. Bookmarks are saved/handled in session.h/C. saved_positions is
removed from BufferView.h/C.
Please rename that to moveCursor() instead of restorePosition() as this
could be used for something else than the bookmark feature.
3. LFUN_BOOKMARK_SAVE stays in BufferView.C
It makes sense yes.
4. LFUN_BOOKMARK_GOTO moves to lyxfunc.C. It is available even if
there is no opened documents.
Good.
PROBLEMS (Please help):
1. a strange bug in MenuBackends. If I change return to break (see
patch), I will get a TOC after Bookmarks. I am out of idea now.
I think this is because expandFormats() is called recursively or
something like that. JMarc will know.
2. To keep saved_positions[0], I have to add temp_bookmark in the
BookmarkSection class. This makes the code ugly but I have no better
idea. Note that bookmarks is now a deque so I can not use the first
item as saved_position[0].
Why don't you create a new LFUN for that instead of misusing the
bookmark stuff? Then you could also use the (renamed) moveCursor().
3. I see Assertion failed: lyx_view_->buffer()->fileName() !=
bm.filename void lyx::LyXFunc::dispatch(const lyx::FuncRequest&)
src/lyxfunc.C 1679 when lyx exits. No idea what is going on.
Maybe because lyx_view_ is set to zero when exiting. You have to save
the stuff before the effective exiting procedure is started. We can fix
that later if you want.
Abdel.