Bo Peng [Fri, 28 Apr 2006 14:29:38 +0000 (14:29 +0000)]
Fix a few issues with session/lastopenedfiles, Bo Peng (ben.bob@gmail.com)
* src/bufferlist.C: save opened file list here, do not save slave document
* src/lyxfunc.C: not here
* src/session.[nC]: change to single file addition
* src/lyx_main.C: needed change because of single file addition
Bo Peng [Thu, 27 Apr 2006 18:19:14 +0000 (18:19 +0000)]
Add lyxrc.use_lastfilepos and load_session to the qt4 preference dialog.
* src/frontends/qt4/QPrefsDialog.C, connect checkboxes to lyxrc
* src/frontends/qt4/ui/QPrefUi.ui, add two checkboxes.
Bo Peng [Thu, 27 Apr 2006 18:14:36 +0000 (18:14 +0000)]
Remove USE_COMPRESSION and force the use of zlib, by Bo Peng (ben.bob@gmail.com)
* src/lyxlex_pimpl.[hC], src/buffer.C, src/tex2lyx/Makefile.am: remove USE_COMPRESSION
* configure.ac: check for zlib.h and libz.
Bo Peng [Tue, 25 Apr 2006 22:22:11 +0000 (22:22 +0000)]
Add lyxrc.use_lastfilepos and load_session to the preference dialog. Bo Peng (ben.bob@gmail.com)
* src/frontends/qt3/QPrefs.C, QPrefsDialog.C, ui/QPrefUIModule.ui: add two checkboxes
* src/lyxrc.C: turn off load_session by default (since we now can turn it on)
Bo Peng [Tue, 25 Apr 2006 04:48:06 +0000 (04:48 +0000)]
Remove unneeded bzip2 support Bo Peng (ben.bob@gmail.com)
* boost/libs/iostreams/src/bzip2.cpp remove since it requires bzip2.h
* boost/libs/iostreams/src/Makefile.am remove bzip2.cpp
* TocBackend.[Ch]: new files defining class TocBackend. This class contains adapted code from former toc.C
* 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);"
* 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.
* Add the iostreams and range libs to our copy of boost
* Make sure that no source files in boost are executable
* Make sure that all boost files are marked with eol-style native
* configure.ac: setup for new iostreams boost binary lib
* config/common.am: add boost iostreams variable
Georg Baum [Thu, 20 Apr 2006 09:55:45 +0000 (09:55 +0000)]
Make MathBigInset working
* src/cursor.C
(LCursor::plainInsert): combine the previous math atom with the new
one to a MathBigInset if possible
* src/mathed/math_biginset.[Ch]
(MathBigInset::name): implement
(MathBigInset::isBigInsetDelim): new, test whether a given token is
a valid MathBigInset delimiter
* src/mathed/math_biginset.C
(MathBigInset::size): handle Big, Bigg and Biggg
(MathBigInset::increase): ditto
(MathBigInset::draw): fix deco drawing
(MathBigInset::write): append space if necessary
Georg Baum [Thu, 20 Apr 2006 08:42:01 +0000 (08:42 +0000)]
Fix bug 2476:
* src/CutAndPaste.C
(resetOwnerAndChanges): rename to resetParagraph and reset the
language of ERT paragraphs, too
(copySelectionHelper): adapt to changes above
(cutSelection): ditto
(copySelection): ditto
* Toc.[Ch]: new function getCurrentTocItem()
* ControlToc.[Ch]: new function getCurrentTocItem()
* QToc.[Ch]: new function getCurrentIndex()
* QTocDialog.C
- QTocDialog::update() calls QToc::getCurrentIndex()
* ControlToc.[Ch]
- bool ControlToc::canOutline(): new method to test if outline is possible.
* TocModel: new class
* QToc is now the controller (inheriting ControlToc directly) and the model (using TocModel)
* QTocDialog is now only the view (inheriting Dialogs::View directly)
* Dialogs.C: updated toc controller and view correspondingly
Much better performance when using natbib (bug 2460):
* src/BufferView_pimpl.C
(bool BufferView::Pimpl::dispatch): update bibfiles cache after adding or
deleting a bib database
* src/buffer.C
(bool Buffer::readDocument): update bibfiles cache after the document
was read
* src/buffer.[Ch]
(void Buffer::updateBibfilesCache): new method to build or update a cached
vector with all used bibtex databases.
(void Buffer::getBibfilesCache): new method that returns the actual cache.
(Buffer * Buffer::getMasterBuffer): new (non-const) method to get the buffer
of the master document
* src/insets/insetbibtex.C
(void InsetBibtex::doDispatch): update the bibfiles cache after the inset has
been modified.
* src/insets/insetinclude.C.
(void Insetinclude::doDispatch): update the bibfiles cache after the inset
has Been modified.
* src/insets/insetinclude.[Ch]:
(void Insetinclude::updateBibfilesCache): new method to build or update
a cached vector with all used bibtex databases.
(void Insetinclude::getBibfilesCache): new method that returns the actual
cache.
* src/insets/insetcite.C
(string const getNatbibLabel): store a map of timestamps for all used bibtex
files (buffer's bibfiles cache) and rebuild the list of keys only if the timestamps
or the list of files have changed. This is the actual performance boost.
* BufferView.[Ch] (selectionRequested, selectionLost, workAreaResize,
workAreaKeyPress, workAreaDispatch): add forwarding functions to the pimpl
* BufferView_pimpl.C (Pimpl): Remove the setup of the now deleted signals,
also remove corresponding connection objects.
* frontends/xforms/XWorkArea.h:
* frontends/qt2/QWorkArea.h:
* frontends/qt4/QWorkArea.h:
* frontends/gtk/GWorkArea.h: add LyXView as class variable view_ (qt
classes also get view() medthod)
* frontends/qt2/QWorkArea.C:
* frontends/qt2/QContentPane.C:
* frontends/qt4/QWorkArea.C:
* frontends/xforms/XWorkArea.C:
* frontends/gtk/GWorkArea.C: Change from calling signals to call
the functions directly through view_.view()
* kbmap.h: include LyXKeysym.h and remove forward declaration of LyXKeySym,
and delete LyXKeySymPtr typedef
* kbsequence.h:
* frontends/WorkArea.h: delete LyXKeySymPtr typedef, include LyXKeySym.h
and don't include boost/shared_ptr.hpp, remove forward declaration of
LyXKeySym.
* frontends/LyXKeySym.h: include boost/shared_ptr.hpp, and add typedef
for LyXKeySymPtr
I have continued a bit on my track to do a real model view separation for the Citation Dialog. In this new scheme, QCitation is the controller and the model at the same time, it inherits ControlCitation and it doesn't know about the view. QCitationDialog is the view, it is using QCitation to get its model and for communication with the core; it is inheriting Dialog::View directly.
In frontend/qt4/Dialog.C, we use these class like this:
} else if (name == "citation") {
QCitation * ci = new QCitation(*dialog);
dialog->setController(ci);
dialog->setView(new QCitationDialog(*dialog, ci));
dialog->bc().bp(new NoRepeatedApplyReadOnlyPolicy);
Now, it should be possible to define another view like this:
} else if (name == "citation-inline") {
QCitation * ci = new QCitation(*dialog);
dialog->setController(ci);
dialog->setView(new QCitationInline(*dialog, ci));
All the citation functionalities are not there yet but the basic ones are there. There are still a few "intelligence" still to be transfered from the view to the dialog.
Bo Peng [Mon, 10 Apr 2006 16:27:59 +0000 (16:27 +0000)]
Update on view-source feature (r13610), from Bo Peng (ben.bob@gmail.com)
* src/text3.C, src/lyxfunc.C: no special treatment of view-source dialog now.
* src/frontends/controllers/ControlViewSource.h, .C:
handle everything (get source type, code) in the controller.
* src/insets/insetbibtex.C, insetexternal.C insetinclude.C:
add dryrun mode to file copying etc.
* src/frontends/qt2/QViewSource.C: small changes when calling the controller.
lib/Makefile.am: move math icons from no-install
QMathDialog.C: set icon paths
QMathUi.ui: set icon paths to lib/images/math for visual feedback in designer
Martin Vermeer [Sun, 9 Apr 2006 07:06:57 +0000 (07:06 +0000)]
Fix bug 2485 and crash on middle mouse paste on math
* math_nestinset.C
(MathNestInset::lfunMousePress): handle middle mouse here, use
editXY, not setScreenPos
(MathNestInset::lfunMouseRelease): don't handle here
Bo Peng [Sun, 9 Apr 2006 04:35:24 +0000 (04:35 +0000)]
First patch for auto-cls-layout feature, from Bo Peng (ben.bob@gmail.com)
layout file in the same directory as .lyx file will be used. .cls can also
be in this directory.
* src/buffer.C, bufferparams.C: move filepath to bufferparams so this
info will be available in getToken()
* src/lyxtextclasslist.h, .C: add addTextClass() that read a .layout file
from filepath.
* src/lyxtextclass.h, .C: pass filepath to LyXTextClass::load(). .layout
file in filepath will be loaded before system ones.