Commit Graph

27 Commits

Author SHA1 Message Date
Enrico Forestieri
306b136cc0 Fix bug #4812 (Layout in local directory lost on Save As, Copying)
The "save-as" part of the bug is fixed by extending the \textclass tag
such that, if a local layout file is used, its path relative to the
document directory is now stored together with the name. If a relative
path cannot be used, an absolute one is used but, in this case, the
document is not usable on a different platform.

The "copy" part is fixed by introducing a new \origin tag, which is
written when the file is saved. This tag stores the absolute path of
the document directory. If the document is manually copied to a
different location, the local layout file is retrivied by using
\origin (which is only updated on save).
This new tag may prove useful also for locating other files when the
document is manually moved to a different directory.

As in the original implementation the files needed for the layout
(for example, a latex class) had to be in the same directory as the
layout file, this directory has also to be added to TEXINPUTS.
2015-05-13 22:02:13 +02:00
Richard Heck
df7b0eb61d Get rid of boost::noncopyable. 2014-11-14 23:40:27 +00:00
Richard Heck
dd0f71e5fe Make the constructor of the singleton class LayoutFileList private. 2014-08-12 12:49:17 -04:00
Jean-Marc
93a43742a5 Fix a bunch of small performance issues spotted by cppcheck
Most of these are about passing const strings parameters as references.
2014-07-05 19:13:10 +02:00
Lars Gullik Bjønnes
704328d348 Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Pavel Sanda
154319d063 Remove some header leftovers based on Scott's script hints.
False positive rate of hints is quite high. Although the includes can be
technically removed (due to other includes) they logically belong to the
header.
2013-05-02 00:30:16 -07:00
Juergen Spitzmueller
f18af303fe Introduce textclass categories
The categories are ascribed by \DeclareCategory{<category>} in the layout file header.
UI follows.
2012-10-09 07:17:36 +02:00
Richard Heck
f9fa189e02 Grant a long-standing wish of Lars's: LyX now functions even if we have
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
2010-04-07 17:02:44 +00:00
Richard Heck
907df4570d Fix bug #6611. This also gives us a more robust fall-back in case we are
completely unable to load a text class. At least not very long ago, if
we were unable even to load article, we would crash. Not now. We will
ALWAYS have at least a really basic class (nothing but Standard!)
available.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34080 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-07 16:15:26 +00:00
Richard Heck
36ddfbcdf2 Style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33846 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-23 14:16:02 +00:00
Richard Heck
cf8646083f Fix bug #3686, by collecting information about missing prerequisites for
document classes, etc. Patch from Julien Rioux.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33838 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-22 12:25:16 +00:00
Abdelrazak Younes
16a82d6f97 * Move LFUN_TEXTCLASS_* and LFUN_TEXTCLASS_* to BufferView. This is a bit problematic because we don't check is this is a document BufferView or not for these LFUNs. We probably have to dispatch both to currentBufferView() and, if that fails, to documentBufferView(); same as we do know for current Buffer and document Buffer. Ideally those LFUN should go to Buffer as they operate on the full Buffer and the cursor is only needed either for an Undo record or to restore a cursor position. But we don't know how to do that inside Buffer of course.
* I transferred local function loadLayoutFile() in LyXFunc.cpp to a LayoutFileList::load().

Richard, as I am not into this layout thing, please check that these LFUNs still operate correctly (except from an embedded work area of course).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31412 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-19 20:56:12 +00:00
Richard Heck
08d7f7885a Next step: LayoutModuleList is now a thin wrapper around a list<string>.
It'll get its own methods later.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28468 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-12 15:07:22 +00:00
Richard Heck
7e4d4d2641 Cosmetics.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28455 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-11 20:02:53 +00:00
Richard Heck
9db713da16 Author info.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28454 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-11 19:59:25 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Richard Heck
9dfac74265 This patch introduces ProvidesModule and ExcludesModule layout tags.
See http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg145129.html.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27041 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-23 00:27:03 +00:00
Richard Heck
a707ac75ac Change some vectors to lists. This is preparatory for a real patch later.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26899 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-14 14:04:21 +00:00
Richard Heck
2078e09e67 The default modules should be kept in order.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26801 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-07 15:53:05 +00:00
Richard Heck
56a35c2c61 Add UseModule tag for layout files. This allows the AMS files, in particular, to "require" the
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
2008-07-25 15:51:27 +00:00
Richard Heck
f854295dab 'Default'-->'Empty' in Bo's recent commit. Default means something else in the code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25556 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-11 03:41:56 +00:00
Bo Peng
763ef015ce Improve the local layout feature by better handling of unknown textclass, unknown layouts, and switch between textclasses.
* 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
2008-07-11 02:43:02 +00:00
Richard Heck
53c764ed9b More comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25507 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-08 18:13:47 +00:00
Richard Heck
8a69ffd3bf Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got everything, but this does compile, and it seems to work at least reasonably well. Any problems should of course be reported to the list.
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
2008-04-20 03:08:11 +00:00
Peter Kümmel
c72634f95e fix some memory leaks
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24299 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-16 19:43:06 +00:00
Bo Peng
48f9225e27 Embed: allow the use of embedded layout and class (.cls, .sty) files.
* 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
2008-03-11 18:31:38 +00:00
Richard Heck
6edb3984bf BaseClassList --> LayoutFileList
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23532 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-07 03:53:21 +00:00