* src/paragraph_pimpl.C: in method erase(),
set the character to DELETED if
a) it was previously unchanged or
b) it was inserted by a co-author
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15573 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph_pimpl.C: only reject an inset's content
if the inset itself is UNCHANGED
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15572 a592a061-630c-0410-9148-cb99ea01b6c8
* src/paragraph_pimpl.C: do not propagate changes
to nested insets of the change type is DELETED
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15571 a592a061-630c-0410-9148-cb99ea01b6c8
Better change time handling. Quote from Changes.C:
Class Change has a changetime field that specifies the exact time at which
a specific change was made. The change time is used as a guidance for the
user while editing his document. Presently, it is not considered for LaTeX
export. To avoid that every keystroke results in a separate change, a
tolerance interval of 5 minutes is used. That means if there are two adjacent
changes that only differ in their change time with abs(ct1 - ct2) < 300 sec,
they will be merged (and the later change time is preserved).
Technically, the check for equality (or similarity) is made in
operator==(...). The merging of similar changes happens in method merge().
Resolve FIXMEs for LyX & LaTeX output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15569 a592a061-630c-0410-9148-cb99ea01b6c8
I accidentally used data() which is not yet in the standard.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15565 a592a061-630c-0410-9148-cb99ea01b6c8
* src/encoding.h
(encoding_table): remove, this is no longer needed with unicode
(iconvName_): new member: name of the encoding in iconv syntax
* src/exporter.C
(Exporter::Export): Use return value of Buffer::makeLaTeXFile
* src/buffer.[Ch]
(Buffer::makeLaTeXFile): return whether the file has been created
successfully
* src/buffer.C
(Buffer::makeLaTeXFile): Use a docstream that converts to the correct
encoding
Display an error dialog is something went wrong
* src/bufferparams.C
(BufferParams::writeLaTeX): Undo the utf8 inputenc hack
* src/frontends/qt4/QDocumentDialog.C: Add some FIXMEs
* src/support/unicode.[Ch]
(eightbit_to_ucs4): New conversion function
(ucs4_to_eightbit): New conversion function
* src/support/docstream.[Ch]
(utf8_codecvt_facet_exception): Move to header and rename to
iconv_codecvt_facet_exception
(odocfstream): Take the encoding as argument
* src/support/docstream.C
(utf8_codecvt_facet): Generalize to other encodings than utf8 and
rename to iconv_codecvt_facet
* src/encoding.C: Remove obsolete tables
* src/output_latex.C
(TeXOnePar): Convert the paragraph to different encoding if needed
* lib/encodings: Remove obsolete tables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15564 a592a061-630c-0410-9148-cb99ea01b6c8
1) crash in GuiWorkArea::paintEvent(), this one is solved by by encapsulating the file loading in LyXView by busy(true)/busy(false) and by disabling/enabling the work area update in GuiView::busy().
2) crash in the cursor blinking because the cursor is timed out at the moment you click on "Revert". So the blinking cursor is now disabled/enabled in GuiView::busy().
3) crash in BufferView::setBuffer() because the current buffer was already closed folling the "revert" command.
* BufferView::loadLyXFile(): set buffer_ to 0 in case of a reload (when document is reverted)
* LyXView:
- busy() is not const anymore (work_area_ is modified in GuiView)
- loadLyXFile(): encapsulate the file loading with busy(true)/busy(false)
- setBuffer(): encapsulate the buffer-switching with busy(true)/busy(false)
* GuiView::busy()
- disable/enable workarea updates.
- disable/enable blinking cursor.
* WorkArea: new startBlinkingCursor() and stopBlinkingCursor() methods.
* rowpainter.C:
- paintText(): make sure there is a Buffer from which to paint.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15556 a592a061-630c-0410-9148-cb99ea01b6c8
use position returned by BufferView
src/bufferview_funcs.C:
adjust cursor x-position by hand
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15555 a592a061-630c-0410-9148-cb99ea01b6c8
* src/*.C:
* src/insets/*.C: implement rejectChanges() in analogy to
acceptChanges();
* src/paragraph_pimpl.C: add assertions for pos, start, and
end parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15542 a592a061-630c-0410-9148-cb99ea01b6c8
* qt4/Alert_pimpl.C: make sure the proper Qt attributes are set.
* GuiApplication::quitLyx(): add the "force" argument to the funcRequest.
* GuiImplementation:
- GuiImplementation(): remove the signal connection. This was triggered after the LastWindowClosed signal so was not useful.
- cleanupViews(): renamed to unregisterView() and handle the WorkAreas as well.
- closeAll(): new method (from LyXView).
* GuiView.C
- clean up the includes order.
- closeEvent(): make sure that theBufferList().quitWriteAll() is called if last window closed.
* lyx_main.C / LyX::quit():
- remove noAsk argument
- delete bufferList::quitWriteAll() call (this is handled in the frontend).
- delete Session stuff (ditto)
* LyXFunc::dispatch()
- LFUN_LYX_EXIT: close all window before exiting from user command (as opposed to last window closed).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15535 a592a061-630c-0410-9148-cb99ea01b6c8
* LyXFunc:
- dispatch(): transfer assertion on lyx_view_ to each LFUN on a case by case basis.
- dispatch(): new LFUN_WINDOW_CLOSE
- getStatus(): special treatment for LFUN_LYX_QUIT
* LyX:
- views_, addLyXView(): deleted
- quit(): call saveGeometry() on each LyXView before exiting.
* GuiApplication:
- is now a QObject.
- quitLyX(): new Qt slot for lastWindowClosed signal.
* Gui.h:
- destroyView(), destroyWorkArea(): deleted
- viewIds(): new method
* GuiImplementation:
- implement above changes.
- GuiImplementation is now a QObject
- cleanupViews(): new private slot.
- buildViewIds(): new helper method
- views_ and work_areas_ are now maps of raw pointers instead of schared_ptr.
* LyXView
- now stores its id.
- dispatch(): special treatment for LFUN_WINDOW_CLOSE.
- workAreaIds(): new method.
- close(): new pure virtual method.
- saveGeometry(): new pure virtual method.
* GuiView:
- implements above changes.
- GuiView(): set WA_DeleteOnClose and Qt::WA_QuitOnClose to let Qt manage the destruction on close().
- closeEvent(): session stuff transfered to saveGeometry()
* WorkArea
- now store its id.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15514 a592a061-630c-0410-9148-cb99ea01b6c8
- Various micro-optimisations
- Revert Abdel's repaint instead of update for QPainter
- Get rid of unused methods in GuiWorkArea
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15491 a592a061-630c-0410-9148-cb99ea01b6c8
correctly.
The floatlist type is now stored in the InsetCommand parameter "type".
Formerly it was stored in the command name, which is not possible anymore
because all command names need to be known.
The file format of .lyx files is still the same.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15489 a592a061-630c-0410-9148-cb99ea01b6c8