The LaTeX font information are now centralized and outsourced. This removes a lot of hardcoding and duplication and makes it easier to support new LaTeX fonts.
The goal here is to get rid of the old code that modified variables
LANGUAGE and LC_ALL, therefore creating the problems mentionned
in the ticket.
In the new system, there is no explicit "GUI" message handler, that
needs to be reset at each language change. Instead, getGuiMessages
calls getMessages with the correct parameter. This allows to simplify
greatly the code and to remove a lot of old cruft.
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
* do not use it++ for iterators, ++it is better
* do not use size() to test for emptyness, empty() is here
* do not use "const T" as a function parameter, "const & T" is better
I doubt that any of these is a real performance problem, but the code is cleaner anyway.
The PreviewLoader is created directly by Buffer on demand. The PreviewLoader cache was complex and unneeded because there is one and only one PreviewLoader per Buffer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39276 a592a061-630c-0410-9148-cb99ea01b6c8
By default, if the lyxpipe is set up and working, loading of documents
is deferred to an already running instance. Note that an already running
instance is only used for loading, such that export from command line
still works as usual.
The default behavior can be changed through a preference setting, and,
whatever the default is, it can be overridden by command line options.
Unticking the "Single instance" check box in the preferences, LyX behaves
exactly as before the introduction of this feature.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36278 a592a061-630c-0410-9148-cb99ea01b6c8
Make sure that Package can be initialized several time.s
Make sure that Package is not used before being initialized.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35080 a592a061-630c-0410-9148-cb99ea01b6c8
behavior through the environment variable LYX_FORCE_OVERWRITE.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34946 a592a061-630c-0410-9148-cb99ea01b6c8
During the deletion of pimpl_, one don't want the assert LASSERT(singleton_) to fire in one of the the***() functions. In this case it is theBufferList(), which is needed by the dtor of BibItem?.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34623 a592a061-630c-0410-9148-cb99ea01b6c8
Solution: don't use boost::bind for msvc10 (could also be extended to several GCC versions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34257 a592a061-630c-0410-9148-cb99ea01b6c8
Using "-f all", or simply "-f", all files are silently overwritten.
Using "-f main", only the main file is overwritten.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34224 a592a061-630c-0410-9148-cb99ea01b6c8
no text classes for some reason (e.g., a corrupt textclass.lst). We
still give the user a chance to reconfigure (Bo's idea).
I wonder if we still really need to "restart LyX to make use of any
updated document class specifications". What would happen if we just
reloaded?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34081 a592a061-630c-0410-9148-cb99ea01b6c8
Things are still bit inconsistent due to the existence of
additional -- switches, but the correct fix is not so easy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34005 a592a061-630c-0410-9148-cb99ea01b6c8
a lot of simplification is possible. Except some instability period...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33389 a592a061-630c-0410-9148-cb99ea01b6c8
Split LyXFunc::dispatch into a wrapper that does the actual screen updates and
a worker method that updates a DispatchResult object.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33226 a592a061-630c-0410-9148-cb99ea01b6c8
handler functions are called after processing shutdown events.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31027 a592a061-630c-0410-9148-cb99ea01b6c8
This also solve the problem of the rc entry that was not acknowledged.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30931 a592a061-630c-0410-9148-cb99ea01b6c8
There are two new rc preference:
* spellchecker: can now be "aspell" or "hunspell", this is selectable in the SpellChecker preference dialog
* hunspelldir_path: needed for hunspell dictionaries which are defined to be in a fixed location. This can be modified in the path preference dialog.
The SpellChecker classes could be instanciated on the fly whenerver they are needed if we want that.
Please test and help me finish this hunspell integration...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30927 a592a061-630c-0410-9148-cb99ea01b6c8
A problem occurs when we write the ConverterCache index file. This action is instantiated in the destructor of the 'static ConverterCache' object. The use of QFileInfo at that point leads to a crash.
It is maybe not a good idea at all to put part of the functionality in a destructor, especially not when we do not delete the object ourselves and when this functionality uses external libraries etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29602 a592a061-630c-0410-9148-cb99ea01b6c8
Introduces a "--batch" command line flag, so you can do this:
lyx --batch -x "buffer-print printer default dvips" myfile.lyx
The "--batch" flag basically means: no gui.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29126 a592a061-630c-0410-9148-cb99ea01b6c8
This patch enhances the Buffer::dispatch() method to make it a full-fledged
member of the dispatch sequence. The most immediate payoff is that LFUNs that
are handled in Buffer::dispatch() can be used from the command line.
We make better use of the DispatchResult object and return error information
through it, rather than using return values. (This was JMarc's suggestion.) We
also introduce a corresponding Buffer::getStatus() method, and modify
BufferView::getStatus() to return a flag indicating whether a decision has been
made, as is already done in some other cases.
Finally, some LFUNs are moved to Buffer::dispatch(), including LFUN_BUFFER_PRINT.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29125 a592a061-630c-0410-9148-cb99ea01b6c8
* Simplify Aspell construction as the object is capable of supporting multiple languages at the same time.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28974 a592a061-630c-0410-9148-cb99ea01b6c8
Move the special handling of -geometry command option from LyX to GuiApplication,
where it belongs
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26823 a592a061-630c-0410-9148-cb99ea01b6c8
* GuiApplication: delay locale loading until setGuiLanguage() is called.
* Messages: memorize default locale for current environment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25930 a592a061-630c-0410-9148-cb99ea01b6c8
- move Previews singleton to LyX
- LyX.cpp: set singleton to zero at destruction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25594 a592a061-630c-0410-9148-cb99ea01b6c8
Merge env_gui_language into gui_language. "auto" now means that the language will be retrieved from the environment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25380 a592a061-630c-0410-9148-cb99ea01b6c8
- env_gui_language: set to true (default) if the language is to be retrieved from current environment variable.
- gui_language: specify language for GUI strings. Only used if env_gui_language is false
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25379 a592a061-630c-0410-9148-cb99ea01b6c8
Prevent deletion of LyX temporary directory is this is not a LyX created directory.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25199 a592a061-630c-0410-9148-cb99ea01b6c8
These have been added to BufferView::dispatch() and BufferView::getStatus() for now. Shortly, we'll be making wider use of Buffer::dispatch() and introducing Buffer::getStatus() and moving these and some other LFUNs there.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24979 a592a061-630c-0410-9148-cb99ea01b6c8