(Buffer::errorList): simplify
* src/buffer.h
emptyErrorList_ move to buffer.C and make it static const
* src/lyx_main.C
(LyX::exec2): Use for_each instead of for loop
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14667 a592a061-630c-0410-9148-cb99ea01b6c8
I had no choice but to use string for the map key. This is
because the only information that could be passed to the controller is a
string.
With this new architecture, persistent error lists are now possible.
* Buffer
- errorList_, addError(), : deleted
- std::map<std::string, ErrorList> errorLists_ : new member
- errorList(std::string const & type): associated accessors
* buffer_funcs.C
- bufferErrors(Buffer const & buf, TeXErrors const & terr): now needs a third errorList argument
- bufferErrors(Buffer const & buf, ErrorList const & el): deleted.
* Converter
- convert(): now needs an ErrorList argument instead of filling the Buffer errorList member directly.
- runLaTeX(): ditto
- scanLog(): ditto
* CutAndPaste.C
- pasteParagraphList(): ditto
- pasteSelection(): ditto
* lyxtext.h/text.C
- readParagraph(): ditto
- LyXText::read(): ditto
* importer:
- Importer::Import(): ditto
* BufferView_pimpl.C
- loadLyXFile(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly.
* exporter.C
- Export(): send the Buffer::errors() signal instead of calling LyXView::showErrorList() directly in lyxfunc.C
* ControlErrorList.C
- initialiseParams(): translation operation transfered here from LyXView::showErrorList().
* LyXView.C
- LoadLyXFile(): add a showErrorList("Parse") call.
- showErrorList(): simplified due to code transferred to the ControlErrorList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14652 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_cb.C
(newFile): Only set the new buffer if it is valid
* src/BufferView_pimpl.C
(BufferView::Pimpl::loadLyXFile): Test whether newFile succeeded
* src/lyxfunc.C
(LyXFunc::menuNew): Only set the new buffer if it is valid
(LyXFunc::open): ditto
* src/importer.C
(Importer::Import): ditto
* src/lyx_main.C
(LyX::exec2): Only use the new buffer if newFile succeeded
* src/buffer_funcs.C
(newFile): discard the buffer and return 0 if the template is invalid
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14474 a592a061-630c-0410-9148-cb99ea01b6c8
TODO 1: All occurrences of "LyXView::showErrorList()" in the "kernel" should be replaced by a boost signal emission (Buffer::errors()). This signal is already connected to this showErrorList() slot.
TODO 2: The ErrorList mechanism is used wrongly in a number of place, most notably in "Converter.C". Instead of replacing the ErrorList in the "Buffer" class, the "Converter" class should maintain its own list instead and connect directly to the LyXView::showErrorList() slot.
Buffer:
* errorList_: new private member and associated access methods.
* setErrorList(): new accessor method.
* addError(): apend an error to the errorList_.
* error(): deleted.
* errors(): new boost signal, unused for now. Shall be used instead of LyXView::showErrorList().
LyXView:
* getErrorList(), addError(), errorlist_, errorConnection_: deleted.
* errorsConnection_: new boost connection for the Buffer::errors() signal.
lyx_main.C:
* LyX::exec2(): manually print all errors.
BufferView.h: remove unneeded ErrorList forward declaration.
BufferView::pimpl::menuInsertLyXFile(): delete Buffer::error() connection and add a FIXME comment
text.C: Use Buffer::addError() instead of Buffer::error() signal emission.
ControlErrorList.C: get the ErrorList from the Buffer instead of LyXView
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14467 a592a061-630c-0410-9148-cb99ea01b6c8
* src/main.C
(main): return LyX::exec()
* src/frontends/{gtk,qt3,qt4}/lyx_gui.C
(lyx_gui::exec): Change return value to int
(lyx_gui::start): ditto
* src/frontends/qt[3,4]/lyx_gui.C
(lyx_gui::exit): Call QApplication::exit instead of ::exit, this
hack is not needed anymore
* src/frontends/lyx_gui.h
(lyx_gui::exec): Change return value to int
(lyx_gui::start): ditto
* src/lyxtextclasslist.[Ch]
(LyXSetStyle): SChange return value to bool and don't call ::exit
* src/lyx_main.C
(showFileError): Don't exit anymore
* src/lyx_main.[Ch]
(LyX::exec): Change return value to int
(LyX::priv_exec): ditto
(LyX::exec2): ditto
(LyX::init): Change return value to bool
(LyX::readRcFile): ditto
(LyX::readUIFile): ditto
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14339 a592a061-630c-0410-9148-cb99ea01b6c8
* lyx_main.C set width and height to 0
* frontends/qt3/lyx_gui.C test on 0
* frontends/qt4/lyx_gui.C test on 0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14235 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_cb.C
(quitLyX): lyx_gui::exit takes now an argument
* src/frontends/{gtk,xforms}/lyx_gui.C
(lyx_gui::parse_init): rename to lyx_gui::exec and call LyX::exec2
(void lyx_gui::exit): add exit status argument
* src/frontends/qt{3,4}/lyx_gui.C
(cleanup): new function for pointer cleanup
(lyx_gui::parse_init): rename to lyx_gui::exec and call LyX::exec2,
turn static variables into automatic variables
(void lyx_gui::exit): add exit status argument
(start): Use cleanup()
(exit): ditto
* src/frontends/lyx_gui.h
(parse_init): remove
(exec): new
(exit): Take exist status argument
* src/lyx_main.[Ch]
(LyX::priv_exec): split into LyX::priv_exec and LyX::exec2
* src/lyx_main.C
(lyx_exit): New, choose the right exit function
(showFileError): call lyx_exit
(LyX::queryUserLyXDir): ditto
(LyX::init): ditto
(LyX::priv_exec): ditto
(LyX::priv_exec): Replace want_gui by lyx_gui::use_gui
(LyX::priv_exec): replace lyx_gui::parse_init by lyx_gui::exec and
exec2
(LyX::init): Replace gui argument by lyx_gui::use_gui
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14036 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/ALLFRONTENDS/lyx_gui.C: use passed width/height/posx/posy in lyx_gui::start
* src/frontends/lyx_gui.h: prototype change for lyx_gui::start
* src/lyx_main.C: determine windows size and position from lyxrc or session.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13953 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_main.C (init): call Formats::setAutoOpen.
* src/lyxrc.C (read): do not reset editor/viewer values of "none".
* src/format.C (fixCommand): helper function: tweak command depending
of the availability of OS viewer/editor.
(setAutoOpen): run fixCommand over all the formats.
* src/support/Makefile.am: under win32, link against shlwapi.dll.
* src/support/os_*.C (canAutoOpenFile, autoOpenFile): new
functions, used to let the OS handle viewers and editors it knows about.
* configure.ac: improve check for shlwapi.
* lib/configure.py: remove check for native windows viewers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13855 a592a061-630c-0410-9148-cb99ea01b6c8
lyxrc.dist, but before reading lyxrc.defaults; add extra_prefix to
the PATH before reconfiguring.
(needsUpdate): new helper function; returns true if file does not
exist or is older than configure.py.
(queryUserLyXDir): check textclass.lst and packages.lst in
addition to lyxrc.defaults.
(reconfigureUserLyXDir): use SystemCall, since system() does not
wait on windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13816 a592a061-630c-0410-9148-cb99ea01b6c8
adjust some commands according to the LyX naming conventions
(toggle-tooltip => tooltip-toggle, *-change(s) => change(s)-*)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13811 a592a061-630c-0410-9148-cb99ea01b6c8
found.
(init): read lyxrc.dist before lyxrc.defaults; remove code to read
lyxrc (LyX 1.1.5 compatibility code).
* src/encoding.C (read):
* src/language.C (read): set debug to the INFO channel.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13788 a592a061-630c-0410-9148-cb99ea01b6c8
* 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
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13777 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
letter start with a lower letter.
* All other .C and .h in the cs: adjust for above change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13603 a592a061-630c-0410-9148-cb99ea01b6c8
session support that
* handle recent opened files (previously lastfile)
* save/load bookmarks when quit lyx
* save/load buffer cursor location whan a file is closed
* save/load windows position and size when a file is closed
* add rc entries load_session, use_lastfilepos,
screen_geometry_height, screen_geometry_width,
screen_geometry_xysaved.
* trigger LFUN_QUIT when Alt-F4 or close-button is used to close lyx.
* remove lastfile.h lastfile.C (merged in session.h, session.C)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13561 a592a061-630c-0410-9148-cb99ea01b6c8
a better chance to inline things
* lyx_cb.[Ch]: Add 'force' argument to QuitLyX suppressing
questions on unsaved docs for better scritability
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10236 a592a061-630c-0410-9148-cb99ea01b6c8