The problem was that pit is a reference to cur.pit() and was set to lastpit() + 1 before calling recordUndo(cur, ...). thus an invalid cursor position was stored in the undo buffer.
A side effect of the attached patch is that now the cursor keeps staying in the moved section header on undo (which is not the case in current trunk)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17410 a592a061-630c-0410-9148-cb99ea01b6c8
- new pimpled TocBackend member and associated accessors.
* toc.[Ch]: delete all toc related methods except outline.
* TocBackend:
- goTo(): deleted, this gets rid of the LyXView dependency
- made all accessors const.
* ControlToc:
- rework the controller to work exclusively with TocBackend.
- goTo(): now call LyXView::dispatch() directly
all other files: update with the TocBackend or ControlToc API changes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15852 a592a061-630c-0410-9148-cb99ea01b6c8
* delete some comments
* use lyxerr instead of cout in PanelStack
* move PanelStack into lyx::frontend namespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15623 a592a061-630c-0410-9148-cb99ea01b6c8
export (e.g. the ToC) and the navigate menu.
* src/insets/insetbase.h
(InsetBase::plaintext): output to a docstream
(InsetBase::textString): ditto
* src/mathed/TextPainter.h
(TextPainter::show): ditto
* src/support/docstream.[Ch] New file and string streams for
docstring. The file streams convert to UTF8 on the fly.
* many more files: Adjust to the changes above
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
* BufferView
- layoutChanged: new boost signal.
- LyXView owner(), owner_: deleted
* text3.C
- emit BufferView::layoutChanged instead of calling LyXView::setLayout directly
- LFUN_MOUSE_RELEASE: delete LyXView updateMenubar() and updateToolbars() direct calls.
The update is of both bars is done in WorkArea::dispatch().
* WorkArea.C
- dispatch(): add LyXView updateMenubar() call.
* LyXView
- connects to BufferView::layoutChanged directly to Toolbars::setLayout()
- setLayout(): deleted.
* qt4/GuiImplementation: modify BufferView construction (without LyXView).
All other files: cleanup header declaration of LyXView.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15153 a592a061-630c-0410-9148-cb99ea01b6c8
* toc.[Ch]:
- rewritten to take advantage of new TocBackend class. The toc
cache is implemented as a static variable:
static map<Buffer const *, lyx::TocBackend> toc_backend_;
* buffer_funcs.C:
updateLabels(Buffer const & buf) now calls
"lyx::toc::updateToc(buf);"
* pariterator.h: added default constructor
ParConstIterator(): DocIterator() {}
* insetfloat.C: added pit parameter to TocItem construction
* insetwrap.C: added pit parameter to TocItem construction
* MenuBackend.C: use a const ref instead of a copy of TocList
* ControlToc.[Ch]: optimisation of the API by using const reference instead of copy.
* qt4/TocPanel.[Ch]:
- optimisation of the API by using const reference instead of
copy
- directly use of TocBackend::TocIterator instead of identification by paragraph contents.
* qt4/QToc.C:
- optimisation of the API by using const reference instead of
copy
- makes use of TocBackend::Item::uid()
* qt2/QToc.C:
- use TocItem::depth() and TocItem::str() instead of public member access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13713 a592a061-630c-0410-9148-cb99ea01b6c8
* Toc.[Ch]: new function getCurrentTocItem()
* ControlToc.[Ch]: new function getCurrentTocItem()
* QToc.[Ch]: new function getCurrentIndex()
* QTocDialog.C
- QTocDialog::update() calls QToc::getCurrentIndex()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13695 a592a061-630c-0410-9148-cb99ea01b6c8
capitalized to have first letter lowercased.
* Adjust all affected files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13605 a592a061-630c-0410-9148-cb99ea01b6c8
For one, it still contains a few things that are already in CVS (the
'brown paperbag' changes).
Secondly, this changes the ParagraphList to a std::vector but does not
yet take full advantage of it except removing LyXText::parOffset() and
similar.
I had an extensive talk with my profiler and we are happy nevertheless.
This also moves almost all Cut&Paste specific stuff from text.C to
CutAndPaste.C. Much smaller interface now... Namespace CutAndPaste is
now lyx::cap::. Was inconsistent with the rest....
Make ParagraphList a proper class. We'll need this later for a
specialized erase/insert.
Remove some unneeded prototypes and function declarations
Use ParameterStruct directly instead of ShareContainer<ParameterStruct>
Inline a few accesses to CursorSlice members as suggested by the profiler.
Fix commandline conversion crash reported by Kayvan.
Replace PosIterator by DocumentIterator. The latter can also iterate
through math and nested text in math...
Remove math specific hack from Documentiterator
Derive InsetCollapsable from InsetText instead of using an InsetText
member. This give us the opportunity to get rid of the InsetOld::owner_
backpointer.
Cosmetics in CutAndPaste.C and cursor.C. Fix nasty crash (popping slices
off an empty selection anchor). Add a few asserts.
Remove all 'manual' update calls. We do now one per user interaction which
is completely sufficient.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8527 a592a061-630c-0410-9148-cb99ea01b6c8
* text.C (isLastRow, isFirstRow): new functions
* paragraph.h: new width cache member
* rowpainter.C: replace RowList::iterator with Row & where possible
* lyxfunc.C: replace several view()->text with a single call
* toc.C: fix 'unused' warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7960 a592a061-630c-0410-9148-cb99ea01b6c8
Reorder #includes in lots of files into some semblence of a coherent order.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7695 a592a061-630c-0410-9148-cb99ea01b6c8
Remove paragraph.h from buffer.h, paragraph_funcs.h.
Add paragraph.h to a heap of .C files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7694 a592a061-630c-0410-9148-cb99ea01b6c8