Commit Graph

2171 Commits

Author SHA1 Message Date
Richard Heck
05ba87fe7a Fix case of BibTeX keys and remove unused variable. By myself and Bernhard.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17919 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-23 15:18:01 +00:00
Abdelrazak Younes
bc92746781 * In the process of fixing the math background color bug, this commit transfer backgroundColor() management from InsetOld to InsetBase; because this will be needed for InsetMath based insets.
* Also transfer InsetBase ctors from .h to .C


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17913 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-22 21:40:10 +00:00
Abdelrazak Younes
24c8ca10d2 Trying to solve bug-2452, I optimized some of the most significant problems outlined in the profile report attached in there.
This commit avoids unnecessary metrics recalculations by caching the last LyXFont used. I had to cleanup the width(), ascent() and descend() redundancies by transferring that to InsetBase.

InsetMathDim should go now as it is not really needed.

* InsetBase: properly handle inset Dimension.

* InsetOld: get rid of redundant width(), ascent() and descent()

* InsetMathDim: ditto

* InsetMathChar::metrics(): avoid metrics recalculation if font is unchanged.

* InsetMathSymbol::metrics(): ditto

* InsetMathKern: use InsetBase::dim_ instead of local ones.

* InsetMathSpace:
  - use InsetBase::dim_ instead of local ones.
  - space to width transformation transferred to anonymous namespace.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17899 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-22 08:26:06 +00:00
Jürgen Spitzmüller
bba7ac2a66 Fix bug 2884 and 3437:
* src/insets/insetbase.h:
* src/insets/insetcollapsable.h:
	- make isFixedWidth (former insetcollapsable member) a member of insetbase.
src/insets/insettext.h:
	- make border_ public (needed by insetcollapsable).
src/insets/insettext.C (draw, drawSelection):
	- adjust drawing for fixed width insets
* src/insets/insetcollapsable.C (metrics):
	- adjust dimension for fixed width insets
src/insets/insetbox.C (metrics):
	- properly calculate metrics for fixed width insets.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17879 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-21 08:43:46 +00:00
Abdelrazak Younes
08380ca491 Fix bug 3454 and 3463: Don't allow ill-formed commands. With this commit an error dialog will be shown to the user if the inset parameters were wrong upon creation. This patch uses exceptions.
* factory.C::createInset(): catch eventual exception.
* InsetCommandParams::read(): throw warning exception in case of errors.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17850 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-18 12:59:07 +00:00
Bo Peng
7a854d3a91 Fix bug 2993: mark buffer dirty when the status of a collapsable inset is changed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17837 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 14:35:27 +00:00
Richard Heck
840ee198e2 Captions do not accept alignment, spacing, etc.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17834 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-17 03:46:55 +00:00
Georg Baum
ed781c2afe prevent the compiler from optimiying away support::Path variables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17751 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-06 18:03:29 +00:00
Georg Baum
d4e8fdd703 Use FileName instead of strings in support::Package.
This fixes some encoding problems, and hopefully also bug 3410.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17746 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-06 13:09:54 +00:00
Georg Baum
10271ff520 remove methods that are no longer needed since we have the new bibtex parser
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17739 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-06 08:48:34 +00:00
Bernhard Roider
4c9121df3b Fix bug 1826 + A more precise parser for bibtex files based on the description found on this web page: http://artis.imag.fr/~Xavier.Decoret/resources/xdkbibtex/bibtex_summary.html
Most important improvements:
- read file character by character and treat newline like space characters.
  Thus the @ does not need to be at the beginning of a line.
- it reads @string entries and replaces the strings in the field values
- it also handles @comment entries
- it recovers from syntax errors at the next entry starting with @
- it ignores everything between entries


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17723 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-04 20:06:34 +00:00
Georg Baum
0159c9d6c7 Normalize everything that comes from 'outside' (plain text import,
keyboard input via kmap, clipboard and selection) to normalized form KC
(precomposed characters) since we don't support the decomposed form very
well.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17702 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-03 08:15:39 +00:00
Michael Schmitt
ee47f918c2 remove redundant lyxerr.debugging checks; macro LYXERR already checks whether the output is actually needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17681 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 14:51:13 +00:00
André Pönitz
83b326d204 avoid evalutation of lyxerr arguments unless really needed
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17675 a592a061-630c-0410-9148-cb99ea01b6c8
2007-04-01 10:09:49 +00:00
Georg Baum
0f83c2563b Convert makeRelPath to docstring (from Michael Gerz)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17586 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-27 07:24:16 +00:00
Michael Schmitt
e667f92c11 * src/insets/insetcharstyle.C: fix bug #3252 (by M. Vermeer):
Cursor is not placed correctly in char style inset


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17578 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 19:16:49 +00:00
Abdelrazak Younes
4d5ae916ad Fix bug 3293 by Bernhard Roider:
This changes the semantics of isOK() and operator(), comments from Bernhard below:

With the old version of lyxlex it was _impossible_ to check whether reading an integer, float, ... succeeded or not. The current solution to check for is.bad() in some cases and in other cases use is.good() does not give the desired information. Moreover the result of is.bad() depends on the stl implementation and behaves different for linux and windows.

the bug was introduced by the patch that fixed the bug that crashed lyx when "inset-insert ert" was executed from the command buffer.
The lexer has the method isOK() which reflects the status of the stream is.
The operators void* and ! are not really well defined (they depend on the value of is.bad()). What is missing is a test if the last reading operation was successful and thus the returned value is valid.
That's what i implemented in this patch.

The new rule for using the lexer:

if you want to know if the lexer still has data to read (either from the stream or from the pushed token) then use "lex.isOK()".
If you want to test if the last reading operation was successful then use eg. "if (lex) {...}" or unsuccessful then use eg. "if (!lex) {...}"

an example:

int readParam(LyxLex &lex) {

    int param = 1; // default value
    if (lex.isOK()) { // the lexer has data to read
        int p;    // temporary variable
        lex >> p;
        if (lex) param = p; // only use the input if the reading operation was successful
    }
    return param;
}




git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17569 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 13:43:49 +00:00
Abdelrazak Younes
4d2732b1e7 Fix bug 3258:
http://bugzilla.lyx.org/show_bug.cgi?id=3258

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17568 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-26 13:36:27 +00:00
Georg Baum
e6eb429915 add some comments
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17556 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 16:45:51 +00:00
Georg Baum
e4fd77faf7 Fix crash with included files
* src/buffer.C
	(Buffer::makeLaTeXFile): Use runparams.encoding to be consistent

	* src/insets/insetinclude.C
	(InsetInclude::latex): Change runparams.encoding to the encoding of
	the child document for makeLateXFile


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17555 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 16:31:16 +00:00
Abdelrazak Younes
dfbc9cfccc * BufferParams:
* transfer CiteEngine enum declaration to biblio.h
  * delete unneeded CiteEngine_enum
  * cite_engine is now cite_engine_ and is private.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17537 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-25 01:12:38 +00:00
Martin Vermeer
88542bc2ee Get ProvidesNatbib working correctly, esp. for egs.layout.
* insetcite: call getEngine()
* bufferparams: move getEngine() here, and let it sense the 
provides(natbib)
flag
* ControlBibtex, ControlCitation: correct getEngine() call
* biblio: remove old getEngine()



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17505 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-22 07:22:16 +00:00
Georg Baum
4f1d5e72ef Fix bug 3235
* src/insets/insetcaption.C
	(InsetCaption::latex): Copy back encoding to runparams_in

	* src/insets/insetfoot.C
	(InsetFoot::latex): ditto

	* src/insets/insetnote.C
	(InsetNote::latex): ditto

	* src/exporter.C
	(Exporter::Export): Create runparams with document encoding

	* src/converter.C
	(bool Converters::convert): ditto

	* src/buffer.C
	(Buffer::writeLaTeXSource): Copy back encoding to runparams_in
	(Buffer::runChktex): Create runparams with document encoding
	(Buffer::changeRefsIfUnique): ditto

	* src/outputparams.[Ch]
	(encoding): New member

	* src/lyxfont.C
	(LyXFont::latexWriteStartChanges): Don't switch the encoding anymore.
	This is now done in Paragraph::simpleTeXOnePar.
	(LyXFont::latexWriteEndChanges): Ditto

	* src/output_latex.C
	(TeXOnePar): Ditto

	* src/paragraph.C
	(Paragraph::simpleTeXOnePar): Switch the encoding between font
	changes if needed.

	* All other files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17470 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-18 10:59:16 +00:00
Abdelrazak Younes
8186a02d61 Add const access to caption type.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17445 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-15 11:47:02 +00:00
Georg Baum
c6caf4199b fix typo
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17444 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-14 20:23:54 +00:00
Uwe Stöhr
f84d08a078 - fix bug 2458
http://bugzilla.lyx.org/show_bug.cgi?id=2458
- whitespace

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17395 a592a061-630c-0410-9148-cb99ea01b6c8
2007-03-02 22:20:32 +00:00
Georg Baum
13f08c6215 Fix bug 3232
* src/insets/ExternalSupport.C
	(updateExternal): Don't forbid conversions using the default converter


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17380 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-28 09:12:32 +00:00
Georg Baum
0419779ef9 fix compiler warnings about unused parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17325 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 17:18:13 +00:00
Michael Schmitt
8b177d7446 * src/insets/insetbox.C: plaintext(): add missing \n
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17323 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 15:54:11 +00:00
Michael Schmitt
6ab7047f3a * insets/*.C: constify docstring in plaintext()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17317 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-24 14:35:38 +00:00
Georg Baum
3a64f157b7 * src/insets/insetbox.C
(InsetBox::validate): Don't require the calc package anymore for
	pure minipages (as it was done in 1.3.x)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17312 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-23 18:39:54 +00:00
Georg Baum
4bbddb06e6 fix compiler warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17294 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-21 21:09:43 +00:00
Georg Baum
56ce8aa9e0 fix compiler warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17285 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 20:53:37 +00:00
Georg Baum
2d85046fd7 Fix crash after inset-insert ert, from Bernhard Roider
Extend this to some other cases by me.

	* src/insets/insetert.C
	(void InsetERTMailer::string2params): Test for lex.isOK rather than
	lex, since the latter is also true if there was nothing to read.

	* src/insets/insetvspace.C
	(InsetVSpace::read): ditto
	(InsetVSpaceMailer::string2params): ditto

	* src/insets/insetnote.C
	(InsetNoteParams::read): ditto


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17284 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 20:48:23 +00:00
Michael Schmitt
d8fd1b7a24 * src/insets/insetinclude.[Ch]: fix plaintext(); code formatting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17281 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 19:14:55 +00:00
Michael Schmitt
80328d2053 * src/insets/insetcommand.C: fix plaintext() output
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17277 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 18:02:46 +00:00
Michael Schmitt
3157f17825 * inset*.C:
* insetbase.h: introduce new enum PLAINTEXT_NEWLINE and use
	it instead of runparams.linelen for plaintex() return values


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17275 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-20 17:52:41 +00:00
Michael Schmitt
2148e75116 * src/insets/insetert.C:
* src/insets/insetoptarg.C: add comment that we do not output anything
	for plaintext output INTENTIONALLY


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17244 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 18:55:11 +00:00
Georg Baum
af239344a7 Fix bugs 3240 and 3241
* src/insets/ExternalSupport.C
	(doSubstitution): redo the substitution with use_latex_path == false
	for the filename argument of $$Contents, since the original
	substitution might have been done with use_latex_path == true, and
	that can lead to escaped filenames that are only valid for TeX.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17242 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 18:29:25 +00:00
Michael Schmitt
2d550da85b * src/insets/insetexternal.[Ch]: fix plaintext(); code formatting; header alignment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17237 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 10:57:23 +00:00
Michael Schmitt
f7d54f2afc * src/insets/insettabular.[Ch]: fix plaintext(); code formatting
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17236 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-18 10:47:08 +00:00
Michael Schmitt
16b2e76d1a * src/insets/insetbititem.C:
* src/insets/insetcite.C:
	* src/insets/insetcite.h: fix plaintext(); code formatting


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17234 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 16:36:45 +00:00
Michael Schmitt
1afeb2e34f * src/insets/insetfloatlist.C: fix plaintex()
* src/insets/insetfloatlist.h:
	* src/insets/insetcharstyle.[Ch]: code formatting


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17232 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 15:28:50 +00:00
Michael Schmitt
757d2bc963 * src/insets/insettoc.[Ch]:
* src/insets/insetspecialchar.[Ch]: fix plaintext(); WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17231 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 11:59:42 +00:00
Michael Schmitt
6d2a778724 * insetgraphics.[Ch]:
* insetquotes.C: fix plaintext(); WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17230 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 11:30:58 +00:00
Michael Schmitt
ac5f26744c * src/insets/insetnewline.C:
* src/insets/insetpagebreak.C:
	* src/insets/insetvspace.C: fix/comment on plaintext() return value
	* src/insets/insetvspace.h: WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17229 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-17 11:18:15 +00:00
Bo Peng
204f783bb1 Forget to set selection in r17213
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17222 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 15:38:34 +00:00
Michael Schmitt
85e92379ef * src/insets/insetbase.[Ch]: make plaintext() abstract to force subclasses to
implement it by themselves
	* src/insets/insetenv.[Ch]: fix plaintext()


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17220 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 10:05:30 +00:00
Michael Schmitt
bcb5133e54 * src/insets/insetcaption.*: fix plaintext(); add private computeFullLabel() to
refactor code used at two places


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17219 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 09:53:51 +00:00
Michael Schmitt
26054c940e * src/insets/insetbranch.[Ch]:
* src/insets/inseturl.[Ch]:
	* src/insets/insetfoot.[Ch]: fix plaintext() & WS changes


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17218 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-16 09:28:25 +00:00