Commit Graph

74 Commits

Author SHA1 Message Date
Richard Heck
fdbe775b9f This is the result of an audit of all static variables, looking
for possible thread conflicts, of the sort Georg resolved at
6a30211f. I have made static variables const where possible,
and marked cases that looked potentially problematic with the
comment:
	// FIXME THREAD
Many of these definitely are vulnerable to concurrent access, such
as the static variables declared at the start of output_latex.cpp.
Suppose, e.g., we were outputting latex and also displaying the
source of a different document.

I'd appreciate it if others could grep for "FIXME THREAD" and see
if some of these are harmless, or what.
2014-04-21 11:51:57 -04:00
Juergen Spitzmueller
1ace930f7d Handle is_child runparam in preview (bug #8445) 2013-09-29 14:14:15 +02:00
Vincent van Ravesteijn
6e227f18ae Fix a crash in PreviewLoader for command-line xhtml output
While exporting from the command-line, theApp() doesn't exist.
The colors foreground and background are only needed when
previewing, so ignore this during buffer export.

This replaces the fix in 4285b0b3 (Tommaso Cucinotta, 10-12-2012).
In this case, we do not need to pull in Qt dependencies.
2012-12-15 11:05:55 +01:00
Vincent van Ravesteijn
752f2e4811 Revert "While exporting from the command-line, theApp() doesn't exist."
This reverts commit 4285b0b316.
2012-12-15 11:05:21 +01:00
Tommaso Cucinotta
4285b0b316 While exporting from the command-line, theApp() doesn't exist.
It was only needed for getting hex names of colors. So, get them
directly from a ColorCache object with default mapping.
2012-12-12 19:22:42 +00:00
Juergen Spitzmueller
63612ca99b Restore buffer parenthood if we exit already after the preamble 2012-10-05 19:26:07 +02:00
Juergen Spitzmueller
e6afdf1b2b Prevent the PreviewLoader from orphaning children 2012-10-05 18:28:38 +02:00
Scott Kostyshak
51c380440b Constify some catches and others 2012-09-17 04:05:34 -04:00
Richard Heck
f25e7c340b Improve argument handling for the source generation routines.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40069 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 20:14:48 +00:00
Enrico Forestieri
d703d90574 Fix bug #7835 (Relative paths are not supported by the TEXINPUTS prefix)
This restores \input@path handling, which turns out to be necessary, as
the TEXINPUTS mechanism is not used with relative paths. It turns out
that both methods must be used, because \input@path does not work in all
cases (most notably with tikz).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39918 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-22 15:10:43 +00:00
Julien Rioux
35b580fb30 lyxpreview: Simplify the color handling.
Let's have this in trunk for testing. The real difference maker
when it comes to color is whether we use dvipng or ghostscript.

For dvipng:

  - The color info is passed as command-line arguments.

  - The tightpage option is not necessary, and since it adds
    ps specials to the output, we shouldn't use it.

For ghostscript:

  - The color info needs to be in the latex file.

  - The foreground color is set for each preview inset.

  - The background color is set by \pagecolor in the preamble,
    which is understood by pdflatex, but ignored in dvips mode.
    Thus dvips is handled with a ps special.

  - The tightpage option is necessary to crop the images.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39797 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-03 16:43:33 +00:00
Julien Rioux
13b1277cd2 lyxpreview: Handle bibtex-generated references and bibliography.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39795 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-03 16:35:27 +00:00
Enrico Forestieri
5c17ce4195 Also set TEXINPUTS when launching ForkedCall processes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39742 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-24 01:32:35 +00:00
Julien Rioux
81420e405f Merge the preview mechanism for japanese with the standard one.
- Japanese is now handled by passing the option --latex=platex
    to the standard lyxpreview script. This is done in PreviewLoader.
  - Remove obsoleted file lyxpreview-platex2bitmap.py and the
    corresponding lines in the configure script.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39659 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-11 18:23:15 +00:00
Julien Rioux
10868c31ac Merge the preview mechanism for lilypond-book with the standard one.
- Handle the preprocessing in the main lyxpreview script with the
    command-line arguments --lilypond and --lilypond-book=exe.
  - Remove the obsoleted file lyxpreview-lytex2bitmap.py and the
    corresponding lines in configure.py.

Fix for the japanese preview still to come.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39658 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-11 18:22:59 +00:00
Julien Rioux
2bd747fad4 Add command-line arguments to lyxpreview2bitmap.py
Add command-line arguments in a standard unix fashion, using getopt.

    Usage: ./lyxpreview2bitmap.py <options> <input file>

    Options:
      -h, --help:    Show this help screen and exit
      --dpi=<res>:   Resolution per inch (default: 128)
      --png, --ppm:  Select the output format (default: png)
      --fg=<color>:  Foreground color (default: black, ie '000000')
      --bg=<color>:  Background color (default: white, ie 'ffffff')
      --latex=<exe>: Specify the executable for latex (default: latex)

    The colors are hexadecimal strings, eg 'faf0e6'.

The changes to PreviewLoader.cpp break the preview of lilypond-book
and japanese files, but they will be handled in the next commits.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39657 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-11 18:22:43 +00:00
Enrico Forestieri
7c17e970b1 Fix bug #6170 (Latex Compiler error when lyx file is located in a path which contains a "#")
This removes \input@path handling.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39563 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-29 17:02:27 +00:00
Richard Heck
5db4b7eb16 Move a bunch of code from Buffer to BufferParams. The point of this
is contained in the next commit.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38742 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-13 19:39:56 +00:00
Julien Rioux
adf6faf4d4 revert r37696 and apply a fallback mechanism to pdflatex
when latex fails with a preview. Fixes bug #7303 (IP fails with hyperref).
Patch by Ale with suggestions from Enrico

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38243 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-04 14:33:45 +00:00
Julien Rioux
adc6d258f9 we want XeTeX as the backend for previews when using nonTeXFonts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38160 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-30 13:50:47 +00:00
Julien Rioux
efe93782fe allow proper preview when using literate in combination with nonTeXFonts
(we can't rely on bufferFormat for this)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38147 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-30 00:34:09 +00:00
Jürgen Spitzmüller
c020978d18 * PreviewLoader.cpp:
- use pdflatex route for preview snippet generation if hyperref is used.

This works around a bug in hyperref and/or preview-latex via DVI route (bug #7303).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37696 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-16 16:59:22 +00:00
Enrico Forestieri
c6648aaeb9 Complete integration of texrow with otexstream and allow automatic line
counting also when outputting the latex preamble.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37641 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-13 21:41:44 +00:00
Enrico Forestieri
46cb01a5e0 Fix bug #6720 (Better error handling of instant preview)
Patch from Ale revised by me.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37274 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-20 23:39:08 +00:00
Jürgen Spitzmüller
1899bf04fa * PreviewLoader: add comment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36449 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 16:09:05 +00:00
Jürgen Spitzmüller
79514a3fcd PreviewLoader: use bufferFormat() here, even if this also relies on useXetex.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36446 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 13:18:28 +00:00
Pavel Sanda
e7dd1bf9dd Add lilypond-book module and add support for instant preview.
Patch by Julien Rioux.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg162042.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35472 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-21 16:34:30 +00:00
Richard Heck
89a9fc4c5e Implement independent output scaling for math images (and, I suppose,
for any other sort of image for which we produce a preview on export,
e.g., eventually, for InsetExternal).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35032 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-29 16:38:58 +00:00
Richard Heck
2f78698fbd First step towards fixing some issues noted by Vincent. We record in the
Buffer whether we are exporting or not, rather than rely upon isClone(),
which could be adapted to other purposes. And, of course, someone might
choose locally to disable cloning....


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34999 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 21:51:33 +00:00
Richard Heck
980dfa0f3b Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34997 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 14:28:38 +00:00
Richard Heck
b8d43b05bc Support for exporting math as images with XHTML. The next step is to
allow this as a fallback. E.g., if we're unable to export as MathML,
then we try to export as an image.

There are several ways, I am sure, in which this implementation is not
ideal.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34993 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-21 13:19:52 +00:00
Richard Heck
6ddefebc09 We do need the encoding here now, due to how InPreamble works.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34679 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-15 18:26:38 +00:00
Peter Kümmel
c9b9748cee msvcUsing "using namespace std" with msvc10 makes also std::tr1::shared_ptr visible and generates conflicts with boost::shared_ptr.
Solution: don't use boost::shared_ptr for msvc10 (could also be extended  to several GCC versions)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34259 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-22 11:37:32 +00:00
Peter Kümmel
61b2bd5e7f Using "using namespace std" with msvc10 makes also std::tr1::bind visible and generates conflicts with boost::bind.
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
2010-04-22 11:16:58 +00:00
Richard Heck
c282d14f66 Update comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34064 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-06 00:48:58 +00:00
Jürgen Spitzmüller
c2ef290547 * enable instant preview with XeTeX (requires preview-latex v.11.86) [bug #5577]
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33554 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-24 10:47:35 +00:00
Vincent van Ravesteijn
e2d6ecff99 Compute the font_scaling_factor every time a preview is created (we can afford a few multiplications I guess). Now, the newly generated previews use the possibly updated zoom, dpi and preview_scale_factor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32563 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-17 15:25:55 +00:00
Vincent van Ravesteijn
5a530cca94 Do not hardcode the background color of the preview at two places.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32562 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-17 15:21:08 +00:00
Vincent van Ravesteijn
f19b6178a9 Fix bug #4360: Instant preview does not render formulas which contain math-macro from input file.
Patch from Stefan.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32157 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-22 20:50:35 +00:00
Uwe Stöhr
cb71b8a8de GuiPrefs:
- implement an UI to specify the size of InstantPreview images
- change the default size to 1.0 because we've got many complaints that the former default size of 0.9 was too low

Both changes fix #6176.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31425 a592a061-630c-0410-9148-cb99ea01b6c8
2009-09-21 00:44:43 +00:00
Jean-Marc Lasgouttes
0778007050 rename [io]docfstream to [io]fdocstream
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27530 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 12:21:29 +00:00
Jean-Marc Lasgouttes
673c2a3ec5 remove obsolete workaround
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27187 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-29 13:42:09 +00:00
Jürgen Spitzmüller
a2906cb877 ** proper implementation of pLaTeX by Tetsuya Makimura and me, fixes many remaining problems and bugs with language "japanese" (bugs 4863, 4290, 4700 and partially 4697) **
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26200 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-18 17:26:09 +00:00
Abdelrazak Younes
aa0a9b8316 Remove unnecessary FileName construction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25996 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-30 06:51:50 +00:00
Jürgen Spitzmüller
01c71419d9 *** Extend preview scripts to also handle PDF output (bug 2165) ***
* src/PreviewLoader.cpp:
	- add conditions for preview with pdf output

* lib/scripts/legacy_lyxpreview2ppm.py:
	- if no dvi preview file is available, check for a PDF file
	  and process that, if found
	- also produce png output, if requested.

* lib/scripts/lyxpreview2bitmap.py:
	- if no dvi preview file is available, check for a PDF file
	  and process that, if found

*  lib/scripts/lyxpreview_tools.py:
	- move some common functions here

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25419 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-02 14:42:04 +00:00
Abdelrazak Younes
20b45450f6 move GuiImage::loadableFormats() to support/imagetools.{h,cpp} and simplify this whole stuff. What a mess!
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25161 a592a061-630c-0410-9148-cb99ea01b6c8
2008-06-06 11:34:49 +00:00
André Pönitz
db8c16d554 progress on buffer-reference-in-insets. beware of instabilities...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23289 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 20:43:16 +00:00
Abdelrazak Younes
58729e1117 Following rev 21967: final touch to odocfstream:
- odocfstream: properly fix plaintext output by getting rid of ctor with std::string argument as this can be mixed up with std::ofstream(std::string) ctor where the argument is a file. UTF8 is now the default encoding.
- PreviewLoader::Impl::startLoading(): catch another potential iconv exception.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22332 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-29 18:04:43 +00:00
Abdelrazak Younes
9439b6e6e0 * get rid of support::absolutePath()
* remove FileName.h inclusion from filetools.h


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22188 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-17 16:04:46 +00:00
Abdelrazak Younes
e7bb71ff4e header cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22178 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 22:09:28 +00:00