We want to do all the excluding before we do any of the adding.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27278 a592a061-630c-0410-9148-cb99ea01b6c8
isn't already added, that its requirements are satisfied, and that
it doesn't conflict with any loaded modules. Mostly, this just
moves existing code into a new routine where we can get at it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26995 a592a061-630c-0410-9148-cb99ea01b6c8
sure that default modules do not exclude loaded modules and also that loaded
modules do not exclude them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26922 a592a061-630c-0410-9148-cb99ea01b6c8
** fix bug 5343 (patch from Richard, prerequisite for the other fix)
* Buffer.cpp:
- increment format to 343
* src/BufferParams.{cpp,h}:
- new param \use_default_options that allows to select/deselect
the "Other" class options defined in the layout file.
* src/frontends/qt4/GuiDocument.cpp:
* src/frontends/qt4/ui/LaTeXUi.ui:
- add GUI to set \use_default_options, display predefined options in the dialog
- update dialog correctly on class change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26860 a592a061-630c-0410-9148-cb99ea01b6c8
theorems-ams module, which is what most users will want. A later commit will allow users also
to "exclude" this module, in case they wanted to do that.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25880 a592a061-630c-0410-9148-cb99ea01b6c8
* src/TextClass.h[.cpp]: add addLayoutIfNeeded() and createDefaultLayout()
* src/Layout.h[.cpp]: add unknown_ to mark if a layout is a default layout for an unknown one.
* src/LayoutFile.cpp: add addDefaultClass and change addLayoutFile to addLocalLayout.
* src/Text.cpp: add unknown layouts that are not recognizable by a new textclass.
* src/frontends/qt4/GuiToolbar.cpp: display (unknown) for unknown layouts.
* src/frontends/qt4/GuiDocument.cpp: restore 'browse layout' button.
* src/frontends/qt4/ui/LaTeXUi.ui: restore 'browse layout' button.
* src/CutAndPaste.cpp: do not convert unknown layouts from pasted text
* src/BufferParams.cpp: add a default textclass when a document with unknown textclass is loaded.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25555 a592a061-630c-0410-9148-cb99ea01b6c8
have to check whether \makeatletter has already been added or not.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24713 a592a061-630c-0410-9148-cb99ea01b6c8
file format change.
This is the last feature for today. Promised.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24540 a592a061-630c-0410-9148-cb99ea01b6c8
For the record, this developer is sorry that the problems with this code were not noticed much earlier. It's not fun to do so much work and then have it all reverted.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24373 a592a061-630c-0410-9148-cb99ea01b6c8
Provide only one Japanese language that is encoding independent, patch partly by Koji Yokata.
This fixes http://bugzilla.lyx.org/show_bug.cgi?id=4597
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24053 a592a061-630c-0410-9148-cb99ea01b6c8
* src/EmbeddedFiles.h|cpp: add validate() function to validate loaded .lyx file.
* src/LayoutFile.h|cpp: add Layout_Type parameter to addLayoutFile to load an embedded layout.
* src/BufferParams.h|cpp: read layout from temp directory, then local directory.
* src/frontends/qt4/GuiDocument.cpp: handle embedded layout type
* src/LyXFunc.cpp: handle embedded layout when a layout is re-read.
* src/Buffer.cpp: validate after a buffer is read. handle exceptions properly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23667 a592a061-630c-0410-9148-cb99ea01b6c8
LyX file format to 318. The Embedded files panel of document settings has
been simplied, with working add and remove buttons. Note that bease BufferParams
lacks buffer path information, extraEmbeddedFiles are vector<string>, instead
of EmbeddedFileList (as previously planned).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23606 a592a061-630c-0410-9148-cb99ea01b6c8
At this point, there are no simple TextClass objects in the main LyX code, and it is impossible to create them, since the TextClass constructor is protected. Only LayoutFile and DocumentClass objects can be constructed, and for the most part these are constructed only by their respective containers: BaseClassList and DocumentClassBundle. There is an exception: LayoutFile does have a public default constructor, but if anyone knows how to make it go away, please do.
There will be one or two more commits along these lines, but these will be simple renamings. For example, BaseClassList should be LayoutFileList.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23343 a592a061-630c-0410-9148-cb99ea01b6c8
Note that we no longer rely upon BaseClassList to be sorted. This would allow layout descriptions---such as "article (AMS)"---to be translated, and the ordering of the list in Document>Settings will then follow the translations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23334 a592a061-630c-0410-9148-cb99ea01b6c8
I've left the typedef in TextClassPtr.h. At the moment, it's kind of silly. But I've left it mostly because it helps to identify where the TextClass's stored in the TextClassBundle are used, and maybe it'd be worth having some sort of strong typedef like the one for BaseClassIndex here.
I need to check whether the textClass_ member of InsetCollapsable is needed now. I think not.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23232 a592a061-630c-0410-9148-cb99ea01b6c8
Sorry, Andre, but this broke not only the modules stuff but the general handling of TextClasses. I'm not opposed to doing this sort of thing, but it's going to be a little more complicated. I'll do it when I get a bit of time, or I can explain what the issue is here if you want to do it.
I'll separately re-commit some of the cleanup here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23189 a592a061-630c-0410-9148-cb99ea01b6c8
Also a few cosmetical changes where I xould not resist.
Would be nice if the 'modules people' could verify that their baby
is strill alive...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23154 a592a061-630c-0410-9148-cb99ea01b6c8
* src/frontends/qt4/GuiDocument.cpp:
- disallow input of defskip length without actual length value.
* src/BufferParams.cpp (readToken):
- there might be documents with the invalif "\defskip defskip" param. Reset this to "\defskip medskip".
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23022 a592a061-630c-0410-9148-cb99ea01b6c8
- (paperSizeName): add missing paper sizes. Add an argument to the function
that returns context-sensitive information (depending on the purpose)
- (paperSizeName): Do not hardcode "letter" for default paper size (bug 2098).
- (dvips_options): pass purpose DVIPS to paperSizeName
* src/Converter.cpp:
- (dvipdfm_options): pass purpose DVIPDFM to paperSizeName.
* src/Format.cpp:
- (view): pass purpose XDVI to paperSizeName (fix bug 4432).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22664 a592a061-630c-0410-9148-cb99ea01b6c8
* LaTeXFeatures.cpp (getPackages): remove some specific spacing code;
move listings support to simplefeatures array.
* src/Spacing.cpp (writeEnvirBegin, writeEnvirEnd): code factorization
(writePreamble): new method containing former code from LaTeXFeatures;
use \setSpacing instead of \setSingleSpacing.
* src/BufferParams.cpp (validate, writeLaTeX): handle spacing here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22644 a592a061-630c-0410-9148-cb99ea01b6c8
* src/BufferParams.cpp:
- always require hyperref if it's used.
- only call PDFOptions::writeLaTeX if hyperref is required
(and not provided by textclass).
* src/PDFOptions.{cpp,h}:
- (writeLaTeX): remove unneeded hyper_required argument
* src/LaTeXFeatures.cpp:
- special definition for pdflatex ct markup when hyperref is used
(fix bug 4504).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22629 a592a061-630c-0410-9148-cb99ea01b6c8
None of the extant modules require any other modules, but the Theorem modules all exclude one another. (See the screenshot.) When I modularize the AMS classes---that is the next task---we'll have requires.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22456 a592a061-630c-0410-9148-cb99ea01b6c8
* src/TextClass{cpp,h}:
- implement Requires tag for class and InsetLayout.
* src/Layout.{cpp,h}:
- implement Requires tag for layouts.
- increase layouts format to 6.
* src/Paragraph.cpp:
- request required features for paragraph layouts.
* src/LaTeXFeatures.cpp:
- add some packages needed by modules.
- remove Preamble method for InsetLayout. This is now done
in InsetFlex::validate.
* src/BufferParams.cpp (validate):
- request required features for the class.
* src/insets/InsetLayout.h:
- new member "requires".
* src/insets/InsetFlex.{cpp,h}:
- implement validate method and request required features and preamble snippets.
* lib/layouts/*.{layout,module,inc}:
- increase layouts format to 6.
- use Requires tags in some modules (more can be done later).
* lib/doc/Customization.lyx:
- document Requires tag.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22414 a592a061-630c-0410-9148-cb99ea01b6c8
Now support/* should have no dependencies on src/* anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
- introduce changeExtension(): the goal is to replace progressively the one in filetools.cpp
- get rid of internal_path() checking for Win32 as the path is always normalized with slashes with QFileInfo.
* BufferParams: get rid of filepath member. This was used only once and was fixing a path in BufferParam was wrong anyway.
* Buffer::filePath(): always regenerate instead of caching it in BufferParams.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21847 a592a061-630c-0410-9148-cb99ea01b6c8
* Font::FontBits -> FontInfo
* Font::FONT_XXX -> all enums transfered to FontEnums.h and renamed to FontXxx
I've replaced Font uses with FontInfo were the language() member was not needed, basically all draw() and metrics methods. There's one problematic cases with InsetQuotes which I solved by taking the Buffer main language.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21240 a592a061-630c-0410-9148-cb99ea01b6c8