Commit Graph

1154 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
cb8c52bd0c Fix compilation with clang++ 3.6.2. 2015-11-02 16:14:43 +01:00
Scott Kostyshak
0ca63f4e27 Disable "Show Output Anyway" button if empty file
Sometimes when compilation fails a PDF file is created but is empty
and the viewer gives an error when trying to view it. One such
example is compiling the current lib/examples/PDF-comment.lyx file
with TeX fonts and the following version of LuaTeX:

  beta-0.80.0 (TeX Live 2015) (rev 5238)
2015-10-29 02:27:27 -04:00
Günter Milde
2aa65fdc8d Fix the partial patch for #9740 (XeTeX with TeX fonts), part 2. 2015-10-26 00:51:38 +01:00
Günter Milde
36b9645b5d Fix the partial patch for #9740 (XeTeX with TeX fonts). 2015-10-25 12:12:10 +01:00
Günter Milde
1523fc6023 Partial fix for #9740 "XeTeX/LuaTeX with TeX fonts problems".
Fixes output for 3 of the 4 test lyx-files.

Includes "FIXME"s at places where further action is required to get the XeTeX
export right but I don't know how.
2015-10-20 19:16:25 +02:00
Guillaume Munch
afed7d06fa Improvements to cursor highlighting in the source panel
* TexRow now computes rows from a DocIterator. In practice, the cursor
  highlighting is now correct inside insets, it is no longer restricted to the
  topmost level. It certainly also makes forward-search more precise.

* Added the option to disable a texrow when not needed, for perf.

* Fixed a bug where the last paragraph was not properly highlighted.

Limitations:

* TexRow still does not handle: math (e.g. multi-cell), sub-captions, inset
  arguments.
2015-10-01 21:51:08 +01:00
Guillaume Munch
d5a5fbb8ee Enhancements and bugfixes to the TOCs
* New TOC "math-macro". This means that math macros can now be accessed in the
  outline pane in their order of appearance or in alphabetical order, and can be
  searched using the filter.

* Lists of floats now show subfloats deeper in the navigation menu

* The arbitrary 30 element cut-off after which nothing is shown except "Open
  Navigator..." is removed. Menus now have no limit in size, so Qt may display
  them scrollable. In exchange, we always show "Open outliner..." at the
  beginning. I tested for performance issues with a rather complex document and
  it is fine; but this does not exclude corner cases with lots of TOC entries of
  a certain kind. If necessary, populating the navigation sub-menu should be
  delayed like the main menu.

* Elements that do not contribute to the output (e.g. in a note, a disabled
  branch) are now preceded with a symbol indicating this status. (The machinery
  was already there; I wonder why it was not implemented already.) I have chosen
  U+274E NEGATIVE SQUARED CROSS MARK.

* Fix the contextual menus in the outliner (bug introduced at 94e992c5).

* Toc item now move to the caption when present, but first center on the float,
  to prevent the situation where the caption is at the top of the screen and the
  contents of the float is off-screen above the caption.
  (Internally, the action of the toc items can now be customised)

* Fix the LyXHTML output. Disabled captions no longer appear in the list of
  figures.
2015-10-01 21:44:22 +01:00
Guillaume Munch
94e992c5ed Better construction of the TOC for floats and captions
We introduce TocBuilder for building TOCs that take into account both float
insets and their captions.

* Floats without caption are shown with their content.

* Floats with a caption are shown with their caption, but clicking the entry now
  correctly moves to the float and not to the caption.

* Subsequent captions produce additional entries in the TOC.

* Figures and subfigures are correctly ordered in the outliner.

* New TOC "senseless" for captions appearing alone (a bit like broken references
are still displayed in the menu and outliner).

* Disable LFUN_CAPTION_INSERT if there is already a caption in a listing

Known issues:

* Inconsistent output for includes located inside floats

* We should record the end of the float in addition of the beginning for a more
  accurate cursor -> outliner entry conversion
2015-09-15 15:25:33 +01:00
Guillaume Munch
fd7b13f5ae Improvements to the display of the source.
Fix bugs #6501 and #7359.

* Selection highlighting has been broken since a conflict with
  reverse-search was repaired (at 00a62b7c), is now fixed.

* The selection highlighting was not accurate, for LaTeX formats (in
  full source view), and meaningless, for non LaTeX formats.

* fix regression at cc00b9aa: force_getcontent_ was always true
  therefore the code to detect changes in the generated source was
  dead. The consequence is that the source view would jump to the
  beginning at each updateView() even if no change occurred. Cc00b9aa
  was meant to fix #5600, which I cannot reproduce with the new
  implementation.

* Various improvements:
  *  When the position-to-line conversion is unavailable (LyXHTML, LyX
     source, etc.) we focus on the first difference instead.
  *  Get some space around the cursor
  *  Respect the scrollbars
  *  Highlight with QTextEdit::ExtraSelections instead of cursor
     selection (the latter used to break syntax highlighting of the
     TeX code... which was not so much of an issue before because the
     wrong part was selected)

Known issues:
  * The highlighting is off by one line in very last paragraph of a
    document. This appears to be a bug in TexRow.cpp.
  * The highlighting is off for any kind of inset. This could be
    solved by adapting TexRow so that it accepts CursorSlices as
    and argument for the conversion to line number. (this is bug
    #4725)
2015-09-13 00:45:52 +01:00
Enrico Forestieri
e626184fd0 Take into account symbolic links
In order to adjust the path of an included file, when deciding
whether the document was moved or not, it is not sufficient
comparing the paths because the document could have been accessed
through a symbolic link.
2015-09-09 01:40:16 +02:00
Georg Baum
b84a5ac0d5 Remove unneeded second slash
docdir does always end with a slash, so the second one is not needed.
The first one is however mandatory.
2015-09-04 20:51:08 +02:00
Scott Kostyshak
43ca05ead4 Refresh file cache before checking existence
This is done only inside LFUN_BUFFER_VIEW_CACHE so as to preserve
the benefits of caching in other places.

Without this commit, if a converter or a user (re)moves the preview
file and then calls buffer-view-cache LyX will launch the viewer for
a file that does not exist.

For a discussion and use case, see:
https://www.mail-archive.com/search?l=mid&q=55D393D7.6050403@lyx.org
2015-08-18 22:03:59 -04:00
Stephan Witt
0632c91aee Remove leftover from printing support. 2015-05-28 13:33:56 +02:00
Richard Heck
3c2b3e6907 Remove printing support from LyX.
This was bug #6747.
2015-05-27 18:13:08 -04:00
Richard Heck
61448d8cb2 Fix bug #9544: Mark file clean after we write it. 2015-05-17 16:12:47 -04:00
Georg Baum
84cca2dd94 Fix indentation 2015-05-17 17:27:27 +02:00
Enrico Forestieri
62d36bf04d Correctly load documents moved elsewhere after save.
It is now possible opening documents that where manually moved to a
different location after they were saved and still produce an output.
Indeed, (hopefully) all needed included files are now still found.
When the moved document is saved again, all paths are accordingly updated.
Of course, for this to work, a document has to be saved in Format 490,
at least.

As an example, after converting the user guide to the last format, it can
be copied anywhere and opened without the need of adapting the paths of
included files or moving them to a proper place.

There is one glitch I am aware of. When moving a child document (but not
the master) the path to the master is correctly updated but it won't be
recognized as such. This is because LyX checks that the parent actually
includes this document but, of course, being the parent document not
touched, it appears not including this child. Anyway, it will also occur
when saving the child to a different location and the user is warned
on the terminal about this fact when the moved child is loaded.
However, there is no problem when it is the master that has been moved.
2015-05-16 19:52:39 +02:00
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
Stephan Witt
e93444e7e9 #9514 improved document iterator for correct check of speller disabled state 2015-05-08 11:13:51 +02:00
Stephan Witt
93b0f9c080 #9514 contents inside of LyX insets with spell check disabled should be ignored by spell checker.
The document iterator now skips math insets and insets like notes where spell check is disabled.
The continuous spell checking is part of the row painter drawing and the spell check disabled state
has to be passed down recursively while doing the inset painting.
2015-05-06 18:39:24 +02:00
Enrico Forestieri
d0146c8e82 Don't update paths of non-existing files 2015-05-05 22:30:10 +02:00
Scott Kostyshak
72c5385f83 Do a fresh compile for preview after error (#9061)
As Enrico said, the user might have installed a package that was
missing (in which case the .tex file would not have changed).

Another reason is that changing some document settings did not
automatically lead to a fresh compile after an error (#9061).

Our old mechanism for detemining whether there was an error was to
check if the dependent file existed in the temporary directory. If
it did not exist, that meant it was removed, presumably because
there was an error during compilation. That mechanism cannot be used
anymore because we keep the files around even after error because of
the "Show Output Anyway" button (09700d5b). This commit implements a
more straightforward way of checking whether there was an error in
the previous preview by simply storing the success of last compile
in a buffer variable.
2015-05-05 00:30:50 -04:00
Enrico Forestieri
8c351e32be Update paths of included files when saving to a different folder.
Fixes #9528 and #5115.
2015-05-03 23:55:19 +02:00
Scott Kostyshak
09700d5b71 Button for showing PDF if compilation error
Building on cd8be655, we still allow viewing a produced PDF even if
there were compilation errors. However, now the user must click the
"Show Output Anyway" button in the LaTeX Errors dialog. The reason
is that before, there was a chance that the user would not realize
there was an error (because the PDF would be shown over the error
dialog). The approach in this commit makes it more clear that there
is an error.

A new LFUN is introduced, LFUN_BUFFER_VIEW_CACHE. It is useful not
just for the implementation of the "Show Output Anyway" button, but
also to show the last compiled version of a document, which can save
time if a document takes a long time to compile (e.g. heavy use of
knitr).
2015-04-04 13:13:19 -04:00
Jean-Marc Lasgouttes
4dcc73ebf0 Get rid of autoBreakRow, which is obsoleted by allowMultiPar()
The only real user was Text::insertStringAsLine, but this got changed
in commit 2c7152ab.

While not other place did read the value, there is a side effect of
setAutobreakRow that merges exiting paragraphs. However, this is used
in two situations

* some constructors, where the inset is empty;

* InsetTabular::toggleFixedWidth, which actually contains itself some
  code to merge paragraphs.

Therefore the member and all associated code can be removed safely.
2015-03-31 17:02:00 +02:00
Scott Kostyshak
7416064033 Assert if successful export but no output file
If LyX thinks the export was successful but no output file was
produced for preview, then something is wrong (most likely LyX
did not detect an error that occurred during export).

Also clean up some logic.
2015-03-20 02:21:35 -04:00
Scott Kostyshak
cd8be655f1 Export/view a PDF even if error
A PDF is often still produced after a LaTeX error.

If there was an error when exporting a PDF, we now give an error
and the PDF (if it exists), where before we gave the error and
not the PDF. The GUI and command line behaviors are consistent:
in the GUI an error is given and the PDF is viewed; on the
command line, a non-zero exit code is given and a PDF is created.

This also solves what was in my mind an inconsistency: if the user
"updated" a document and there was an error, the resulting
PDF would be shown; but if the user viewed a document and there
was an error, the document would not be shown.

Note that this applies to all output formats, not just PDF.

For discussion, see:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg186454.html
2015-03-20 02:21:31 -04:00
Georg Baum
423a55acc6 whitespace 2015-03-18 21:33:10 +01:00
Georg Baum
73c3f3e2fd Improve code readability
Using a small helper struct instead of a std::pair makes things like
it->second.first a little less confusing: it->second.scope.
2015-03-15 13:57:45 +01:00
Jean-Marc Lasgouttes
0552563c99 Initialize Buffer::Impl members correctly
In practice the variables were initialized later as needed.

Fixes coverity issue 23497.
2015-03-04 17:57:29 +01:00
Jean-Marc Lasgouttes
b627b8701b Some performance stuff reported by cppcheck 2015-02-24 18:38:20 +01:00
Jean-Marc Lasgouttes
2694fde47d Initialize variable properly.
This fixes coverity issue 23503.
2015-02-20 16:47:27 +01:00
Jean-Marc Lasgouttes
01691cde49 Fix uninitialized variable
Fixes coverity issue 23446.
2015-02-20 15:53:19 +01:00
Scott Kostyshak
36c3495a3a Correct the spelling of "occured" to "occurred" 2015-02-09 18:44:02 -05:00
Juergen Spitzmueller
5563dc924a Fix output encoding information for non-TeX fonts XeTeX/LuaTeX on preview pane
Fixes: #8919
2015-01-24 15:53:28 +01:00
Jean-Marc Lasgouttes
7021f4c342 Implement new recordUndoBufferParams method.
Rename recordUndoFullDocument to recordUndoFullBuffer.

Separate the notion of recording changes to paragraphs and recording changes in buffer parameters.

Audit every user of recordUndoFullDocument and replace it with either recordUndoBufferParams or recordUndoFullBuffer. Add comments to identify remaining work.
2015-01-22 15:15:21 +01:00
Georg Baum
c86f299a50 Encapsulate Converter class
Now members are not directly accessible anymore.
2014-12-07 18:35:28 +01:00
Georg Baum
e066dd6bd9 A stringstream is overkill here 2014-11-30 12:37:43 +01:00
Georg Baum
f146bded7a Document Buffer::preview() 2014-11-17 22:07:38 +01:00
Georg Baum
2d338ee3e2 Fix for bug #9234, from Georg.
Our TempFile class uses QTemporaryFile internally, and, on Windows,
this keeps the file locked so that we cannot rename it. So we have
to release the lock.
2014-11-03 10:09:40 -05:00
Richard Heck
8ec3e3283a If we successfully save a file but fail to move it to its proper location,
then, if we made a backup and the original file was not a symlink, we moved
that file, so it will look to the user as if it was deleted. This is bug
2014-10-27 11:26:58 -04:00
Stephan Witt
f9bff2d9b1 #9130 Text in main work area isn't rendered with high resolution
Add display_pixel_ratio to buffer params to use it for displays with high resolution.
It holds the highest ratio between physical pixels and device-independent pixels of the LyX application.
Preview snippets will be generated using this value to get high resolution preview.
2014-10-18 15:39:58 +02:00
Richard Heck
a5c4ccfd26 Add a debugging message. 2014-08-25 11:14:27 -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
Georg Baum
4bfca60359 Make createBufferTmpDir() threadsafe
This must not use thread local storage, since the generated directories are
all in the same parent directory which is unique per running LyX instance.
2014-07-05 12:31:12 +02:00
Georg Baum
50467f3f55 Don't guess whether autosave succeeded
writeFile() tells whether it could save the file, so use the return value
instead of guessing.
2014-07-04 21:06:49 +02:00
Georg Baum
f792e70d0a Fix wrong "externally modified" message
This was a regression of 10364082c8.
2014-06-09 13:17:40 +02:00
Georg Baum
f09a9fe2e6 Remove unsafe method FileName::tempName()
FileName::tempName() created a new temp file name by using qt to create a
temporary file with a unique name, and then deleting that file and returning
the name. This was unsafe, since other processes or even other threads of the
running LyX could create files with the same name between deletion and then
using the temp name.
This is fixed by using the TempFile class instead. As a side effect, a few
cases where the temp files were not deleted after usage were fixed as well.
The only place that is still unsafe is createTmpDir().
2014-06-09 13:05:50 +02:00
Georg Baum
bf782ee02a Improve file saving strategy
- The TempFile class guarantees to generate a file name, we are not limited to
  100 tries of a predictable scheme anymore, which could break if LyX
  frequently crashes.
- The temp file name generation has no race condition against another LyX
  instance in the same directory anymore.
- Symlinks survive saving again (regression of 10364082c8).
2014-06-09 11:08:24 +02:00
Richard Heck
533a05e0b8 Use a different naming scheme, per Enrico's suggestion. 2014-06-04 12:46:42 -04:00
Richard Heck
10364082c8 Per a suggestion of JMarc's, first write the saved file to a
temporary name, then move it to its real location if we succeed.
This prevents our over-writing the existing file with a corrupt
one.
2014-06-03 10:42:07 -04:00
Jean-Marc Lasgouttes
5c32dc85d5 Fix various warnings issued by clang++.
* remove unused class TexStream.

* remove unused virtual method Inset::cellXOffset

* remove second argument of FileDialog constructor, which was actually
  not used

* remove some dead local code

* remove some unused private members of classes

* in InsetMathNest::updateBuffer, fix the logic of a test
2014-04-22 00:04:04 +02:00
Richard Heck
0a6ff99f28 Typos and style. 2014-04-21 11:51:59 -04:00
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
7c1fc6ea75 Include child's own authors when using BufferParams from master. 2014-03-13 06:43:38 +01:00
Georg Baum
07afd76b7c Fix compilation with libc++
libc++ (http://libcxx.llvm.org/) is used on OS X with newer XCode.
The patch is from Benjamin Piwowarski <benjamin.piwowarski@lip6.fr>, I only
added more comments.
The changes regarding implicit conversion to bool of std::iostream work
because both the C++98 and C++11 standards guarantee that boolean evaluation
of streams returns !fail(). See e.g.
http://stackoverflow.com/questions/1334858/why-dont-iostream-objects-overload-operator-bool
for details.
2014-03-04 23:27:57 +01:00
Juergen Spitzmueller
fa6b388cb3 Do not issue module warnings when just cloning a buffer (#8864) 2014-02-09 11:16:20 +01:00
Richard Heck
3f62601a8f Fix bug discovered by Kornel. See
http://marc.info/?l=lyx-devel&m=138590578911716&w=2
If you look at Buffer.cpp, around line 4351, there was a comment about bug 5699. We are seeing the
same crash. The problem is that, although the master does have a GUI, that GUI is in a different window. So the structureChanged() call we do during updateBuffer() is for the TOC in that window, not the TOC in the window we are actually in. So our TocModel::toc_ has been reset and is invalid, though the widget itself has not been updated and looks fine.

This patch tests whether the master is in the same window as the buffer we are updating.

A problem remains, which is noted in a comment.
2014-01-29 11:23:03 -05:00
Jean-Marc Lasgouttes
2a99afee94 Handle undo in `branch-add' LFUN 2014-01-13 17:32:32 +01:00
Juergen Spitzmueller
cb699fbc1c Do not attempt to set default master if we already have a parent 2013-11-23 16:51:16 +01:00
Georg Baum
8eb8e49ebe Do not ignore literate programming errors 2013-11-14 21:04:37 +01:00
Georg Baum
2aa2544e1d Fix regression of e02df14 (bug #8900)
In e02df14 the return type of doExport was changed from bool to ExportStatus.
All calls except this one were adjusted. This one did now fail because the
numercial value of ExportSuccess is 0.
2013-11-14 20:56:50 +01:00
Georg Baum
be468136df Silence unwanted error popup on copying
The new HTML clipboard export could cause error message boxes on copying
data to the clipboard (bug #8866). These are now suppressed, like all other
errors which might occur for preparing the clipboard data.
2013-11-12 20:52:35 +01:00
Jean-Marc Lasgouttes
b89ef8a5b3 Revert "Do not kill the undo stack when doing a Save As..."
This commit was causing bug #8821.

This reverts commit 467422f9df.
2013-10-04 15:01:42 +02:00
Vincent van Ravesteijn
8164fea772 Encodings: Use BufferEncodings where needed 2013-09-29 15:26:22 +02:00
Josh Hieronymus
1dcd6ee5e7 Update system identifier in DOCTYPE of MathML-including exported XHTML.
From Josh Hieronymous.

(cherry picked from commit 4f0c81937537ca3bf92097e266d367290d6419a9)
2013-07-19 09:45:10 -04:00
Juergen Spitzmueller
49c89d838b Fix state of certain language packages (polyglossia, japanese) in children (#8779) 2013-07-18 09:26:56 +02:00
Georg Baum
822e171762 Fix inconsistent version in .lyx files (#7951)
LyX, lyx2lyx and tex2lyx produce now all the same version indicator consisting
only of the major and minor version. It is not decided yet whether future
development versions will add a -dev suffix, but for 2.1.0 this change fixes
the inconsistencies.
2013-07-13 16:02:26 +02:00
Julien Rioux
bfc731de45 Compute and output numbers for numerical citations. 2013-05-16 16:10:05 +02:00
Georg Baum
7bdc34a987 Implement forced local layouts
These should be used if any new style needs to be introduced in the stable
2.1 series: If the ForceLocal flag of the style is set, it will always be
written to the document header, so that even older 2.1 versions can read
and correctly output the document.
2013-05-15 07:19:49 +02:00
Jean-Marc Lasgouttes
21c5bbec71 Fix bug #8627: Command line switches to change branch do not appear to work
Move the handling of branch-(de)activate(master) to Buffer. This code was moved to Bufferview in [3a03e71c/lyxgit] because a cursor was necessary to call Undo::recordUndoFullDocument(). However, it turns out that the undo code is already prepared to handle an empty cursor (and do nothing in this case).

Therefore we do that and move the branch code to Buffer where it belongs.

Note that there was a bug in the previous code that broke undo support: recordUndo should always be called _before_ doing any change.
2013-04-29 17:24:28 +02:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Richard Heck
6c983d6cd1 Simplify code a bit: If we only accept CITE_CODE, there is no need
to pass it.
2013-04-25 17:22:07 -04:00
Scott Kostyshak
4e6932e44f Fix ChkTeX error reporting (#8639)
ChkTeX errors from a previous run are now cleared from the
error list if ChkTeX exits with no error.
2013-04-22 15:51:36 -04:00
Georg Baum
85b3db19af Fix bug #8636
This was a simple logic error that crept in during refactoring:
If the format does not match, and the converted file has been read,
the string must not be read.
2013-04-21 21:34:10 +02:00
Richard Heck
db358a4315 Fix bug found by Scott concerning copying XHTML to clipboard. We
needed to updateMacros() before doing the export, which required a
bit of code massaging.
2013-04-20 21:07:07 -04:00
Georg Baum
c14b9e67bc Implement paste from LaTeX and HTML (bug #3096)
As discussed on the list. No automatic contents detection is done, the user
needs to use the special paste menu instead. I used the new TempFile class
for safe temporary file handling.
The documentation would go into section 2.2 of UserGuide.lyx, but I am not
allowed to edit that document.
2013-04-14 19:45:36 +02:00
Richard Heck
b447587aa9 Remove obsolete comment. 2013-04-11 21:07:57 -04:00
Georg Baum
0d7702e5e6 Delete temp file after usage 2013-04-01 12:24:24 +02:00
Richard Heck
d2e947d585 Fix bug #8603: We want unabbreviated TOC entries here. 2013-03-24 09:34:36 -04:00
Richard Heck
2c75ad0294 Allowing direct, read-write access to the references cache just seems
like a bad idea.
2013-03-18 19:32:30 -04:00
Richard Heck
096de4d82c We don't need to reset counters we aren't using. 2013-03-18 18:46:08 -04:00
Richard Heck
e2155d3d58 Create a new DocumentClass for any cloned Buffer.
Uwe says that this fixes #8425.
2013-03-11 10:01:32 -04:00
Richard Heck
86994bf753 Add a member to TocItem that tells us whether the item in question
is included in output.
2013-03-08 16:38:18 -05:00
Richard Heck
32b0e8cbdb Change LabelType Top_Environment to LabelType Above, and LabelType
Centered_Top_Environment to LabelType Centered.
2013-02-09 13:44:06 -05:00
Richard Heck
57d8b059e0 Remove references to Counter LabelType from source code. The
intention is to use Static in its place, and we now expand the
label for these, as well.
2013-02-09 13:44:05 -05:00
Julien Rioux
cc1ce04798 Generate the citation labels before exporting to plain text. 2013-02-06 17:37:58 +01:00
Jean-Marc Lasgouttes
14e01a92a4 Rename Path.h to PathChanger.h (actual name of the class) 2013-02-06 11:51:06 +01:00
Georg Baum
1a48d5a967 Dot not swallow log messages 2013-02-03 19:55:44 +01:00
Georg Baum
393e7924bd Add missing VCS updates after filename changes 2012-11-13 21:52:38 +01:00
Pavel Sanda
d7ed0ba7e4 Autosaving is now always threaded. 2012-11-04 16:51:18 +01:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Lars Gullik Bjønnes
d52c9fda34 Use new T not new T() 2012-10-27 01:25:38 +02:00
Lars Gullik Bjønnes
b6a626d8d9 Buffer.cpp: drop unused <stack> 2012-10-27 01:25:38 +02:00
Juergen Spitzmueller
63612ca99b Restore buffer parenthood if we exit already after the preamble 2012-10-05 19:26:07 +02:00
Juergen Spitzmueller
b6ecb3213b Add master's perspective in children's source preview 2012-10-05 14:30:20 +02:00
Juergen Spitzmueller
2fa840b771 Do not let the children's buffer params leak into the master (#5941) 2012-10-05 09:59:44 +02:00
Juergen Spitzmueller
02c73cd721 Do not let the parent interfere when I child document is exported/view standalone (#8100, #8101) 2012-10-03 10:41:07 +02:00
Pavel Sanda
13dfbd1927 Simplify translation string. 2012-09-20 13:35:53 +02:00
Scott Kostyshak
51c380440b Constify some catches and others 2012-09-17 04:05:34 -04:00
Richard Heck
894569e601 Fix a long-standing FIXME by resetting only the counter for top-level
sectioning when we see an appendix. This fixes bug #8271, whose root
cause was the fact that we were resetting all the counters inside ERT.
2012-07-21 14:19:10 -04:00
Jean-Marc Lasgouttes
467422f9df Do not kill the undo stack when doing a Save As...
The code does a reload on the buffer to avoid loose pointers if the
file changes directory. This commit adds a bool parameter to
Buffer::reload to allow for keeping the undo stack intact. This is of
couse only wanted in this case, not when reloading an earlier version
of the file.
2012-07-18 10:31:47 +02:00
Jean-Marc Lasgouttes
f6b1c24b99 Fix bug #5204: Undo removes text selection
This commit does a bit more than fix selection, since it saves the full cursor state
in the undo stack. This means that undo now restores:
* the selection
* the current font
* transient mark (shall we keep this one?), logical position...

In order to do that, it introduces an intermediate class between Cursor and DotIterator: CursorData.
The new inheritance diagram is thus
  DocIteraator -> CursorData -> Cursor

CursorData contains all the members of Cursor that define the current position, but not the stuff
related to current view of dispatch mechanism. It may make sense in the future to move members
between CursorData and Cursor and to move some member functions to CursorData.

Now UndoElement uses CursorData for cur_before and cur_after, but not for the cell. The undo API uses
also CursorData instead of DocIterator.
2012-07-15 18:16:09 +02:00
Richard Heck
5400ae0720 Fix bug #8160 by updating the dtd for MathML. 2012-07-10 18:07:07 -04:00
Jean-Marc Lasgouttes
bbbc2b6541 Fix to #8159: Undo doesn't restore environment depth correctly
The idea is to record undo at the place where the document is modified:

1/ in Buffer::updateBuffer, add a recordUndo, with the caveat that a
   const_cast has to be used (because updateBuffer is const but
   modifies the document, go figure).

2/ in GuiApplication::dispatch, add an extra undo group that
   encompasses the updateBuffer call. Some other undo groups may be
   redundant now, but it is not a problem since they do not cost
   anything.
2012-06-29 15:25:47 +02:00
Juergen Spitzmueller
6de47fa873 fix bug #8209: polyglossia commands ignored partial source preview 2012-06-28 18:15:43 +02:00
Juergen Spitzmueller
f84c8c56f5 Whitespace 2012-06-08 20:31:20 +02:00
Richard Heck
b7ac2d69e7 Allow LyX format to be written to View>Source window. 2012-06-05 10:24:15 -04:00
Richard Heck
cfc43d772d Move TexRow stuff near where it is used. 2012-06-05 10:24:15 -04:00
Jean-Marc Lasgouttes
9a3b6733c0 Revert "Second tentative fix to #8159: Undo doesn't restore environment depth correctly"
Did not mean to commit that.

This reverts commit 8f01556236.
2012-06-05 12:55:37 +02:00
Jean-Marc Lasgouttes
8f01556236 Second tentative fix to #8159: Undo doesn't restore environment depth correctly
In this version, the idea is to record undo at the place where the document is modified, which is definitely cleaner.

1/ in Buffer::updateBuffer, add a recordUndo, with the caveat that a
   const_cast has to be used

2/ in GuiApplication::dispatch, add an extra undo group that
   encompasses the updateBuffer call. Some other undo groups may be
   redundant now, but it is not a problem since they do not cost
   anything.
2012-06-05 11:32:56 +02:00
Jean-Marc Lasgouttes
a756403301 "Performance" fixes suggested by cppcheck
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.
2012-05-28 22:42:44 +02:00
Richard Heck
288c1e0faa Add "nice" flag for converters, addressing final problem with bug #4624. 2012-05-22 08:56:05 -04:00
Juergen Spitzmueller
ab1434dce3 If a file is saved as, reset its master if it has any, thus preventing a crash (bug 8161) 2012-05-19 10:16:28 +02:00
Enrico Forestieri
93ebb7a863 Fix bug #7982: LyX does not work if working directory a hard disk drive like D:\
In this case, the working dir has already a slash at the end.
Appending another one would result in a path ending with a double slash,
which has a special meaning when used in TEXINPUTS (all subdirs would
be recursively scanned). So, avoid doing that.
2012-05-14 13:08:30 +02:00
Vincent van Ravesteijn
5279d5a8a5 Properly mark a buffer as internal
Checking the extension of the temporary filename doesn't work anymore
since the naming of temporary files was corrected.
2012-05-06 20:12:17 +02:00
Richard Heck
631abb2da0 Allow viewing full file of plaintext source. 2012-04-27 21:17:08 -04:00
Richard Heck
db71ec4477 Re-organize logic of getSourceCode() routine, so we can see XHTML
for DocBook files.
2012-04-27 21:14:25 -04:00
Richard Heck
e56ee0b2e6 Don't output extra body tags with included files. 2012-04-23 13:55:13 -04:00
Enrico Forestieri
3285ce1d5c Use the right latex backend when a converter needs aux files.
If a converter specifies the needaux flag, latex (or xelatex) is
always run to produce the needed auxiliary files. This is wrong
because there are documents that can only be compiled with a specific
backend and thus the conversion may fail. On the other hand, even if
the document specifies the backend to be used, LyX ignores this info.

This commit rectifies this behavior by letting LyX run the same flavor
of the latex backend that shall be used for previewing the document
also for producing the auxiliary files.
2012-04-11 18:38:32 +02:00
Vincent van Ravesteijn
91bc04946f Fix a copy-paste error introduced in b754fb02 2012-04-08 21:47:40 +02:00
Richard Heck
33f34e8ffb Clear local layout before reading BufferParams. Otherwise, you can't
delete the local layout.
2012-04-03 15:53:56 -04:00
Georg Baum
1a6c599917 Extend the notermination flag to math as well.
Math commands need it as well as text commands. At the same time, this
further unifies the checking for termination and fixes cases of wrong
output (e.g. for 0x2005).
2012-03-25 15:57:38 +02:00
Vincent van Ravesteijn
1d5204315e Clear the error list from previous errors
We only copied the error list to the cloned buffer when makeLatexfile
failed. This means that a second try will never clear the error list and
the user will be presented the same list again.

Therefore, we unconditionally copy the error list such that we also clear
the list on success.
2012-03-17 19:00:25 +01:00
Richard Heck
fa0c2d9631 Show backends rather than formats in the View>Source combo box.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40900 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-09 22:24:20 +00:00
Georg Baum
26e5f1a8ec Use libmagic for file format detection if available.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40789 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-21 20:29:44 +00:00
Richard Heck
9283cbdbcb Fix crash reported on list when renaming a child buffer and
then trying to compile.

    There are really two problems here. One is that the renamed
    buffer needs to be reloaded. All kinds of files, etc, may not
    exist any more, if we've been saved to a new directory; our
    children e.g. may not be in the right place. And, in this case,
    we may no longer be a child of our old parent. Reloading will
    fix all of that.

    On reload, though, we need to clear our parent, since we may
    not have one any more. It will get reset if need be.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40609 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-13 03:31:01 +00:00
Stephan Witt
42dfd71197 #7789 unify and fix buffer statistics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40602 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-12 07:03:24 +00:00
Richard Heck
c3f0e21968 Activate ability to write CSS to a separate file. There is no UI
for this yet, however.

Includes elements of a patch by Rob Oakes.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40409 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 22:17:22 +00:00
Richard Heck
986222a754 Collect CSS information in a string before writing it to the header.
This will make it easier to write it to a separate file.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40408 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 22:17:18 +00:00
Richard Heck
38b9a4530e New methods in LaTeXFeatures specifically for collection of CSS
information on XHTML output.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40407 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 22:17:13 +00:00
Richard Heck
e7877f6fee Math output flavor was not set when viewing source code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40406 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-06 22:17:06 +00:00
Richard Heck
93146dc614 Need to save a pointer to this list, too.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40360 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-04 03:05:08 +00:00
Richard Heck
8e553c5671 We need to create the clone list here, even though the only thing
in it will be the one Buffer we are cloning.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40358 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-04 02:35:38 +00:00
Richard Heck
1ae948e136 Fix #7923: Don't clone all the children on autosave.
We split Buffer::clone() into various routines that know whether
to clone the children.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40357 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-03 23:20:18 +00:00
Julien Rioux
e93092e72b Remove the .aux and .bbl files when we switch the citation engine or style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40355 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-03 22:58:38 +00:00
Julien Rioux
dfdcc56cba Remove extra whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40346 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-03 22:15:11 +00:00
Richard Heck
3a03e71c3e Deal with the part of #7872 involving changes of branch activation
from Document>Settings.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40333 a592a061-630c-0410-9148-cb99ea01b6c8
2011-12-02 21:21:30 +00:00
Richard Heck
74ee5c0e69 Add assertion to check for memory leaks and remove the list when
we are done.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40228 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-20 18:49:12 +00:00
Richard Heck
7e42cfd690 New attempt to fix Pavel's crash, this modifies r40205 and r40207.
The global list of cloned buffers was a bad idea. We don't have multiple
export threads, but we can have multiple autosave threads. So now we keep
more than one of these lists at the same time, and each cloned buffer has
a pointer to the relevant list. Note that this would make multiple export
possible, if we wanted to do that at some time.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40227 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-20 18:49:05 +00:00
Richard Heck
14c10e40a8 Fix bug #7872: Mark Buffer dirty after changing branch activation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40211 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-18 20:48:54 +00:00
Richard Heck
eecb001e95 Make sure we aren't trying to reuse the global variable, and make
sure we aren't leaking any cloned buffers.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40208 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-17 18:26:42 +00:00
Richard Heck
a8d12fdd66 Fix crash reported by Pavel. Multiply included children would crash
the destructor since we could, in some cases, end up deleting them
multiple times. So we need to keep a list of the Buffers we need to
delete, kind of like the BufferList.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40205 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-17 17:58:22 +00:00
Richard Heck
6e15590764 Revert previous patch to get a decent log message.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40204 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-17 17:58:18 +00:00
Richard Heck
75dc38ca74 Merge branch 'PavelCrash2'
Conflicts:
	src/Buffer.cpp

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40203 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-17 17:54:20 +00:00
Richard Heck
de3148c7c3 Simplify code slightly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40202 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-17 17:29:38 +00:00
Richard Heck
94f0968e92 Minor cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40201 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-17 17:24:11 +00:00
Richard Heck
d1802a5234 Fix bug reported on user list: <title> not escaped.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40131 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-02 18:42:10 +00:00
Vincent van Ravesteijn
5cdcc4f7ef Correctly message that the export is cancelled
Uptil now, it was said that the export was succesful.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40099 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 19:52:27 +00:00
Vincent van Ravesteijn
098184ba6a Buffer: Make setExportStatus a private member
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40088 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 11:43:45 +00:00
Vincent van Ravesteijn
f6246e974f Let all doExport calls have the same behaviour
- Let all doExport calls honor maintain_unincluded_children
- Also don't let the behaviour depend on supplying the result_file parameter

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40085 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-30 08:53:20 +00:00
Richard Heck
9eaa64b2cb Initial work for view source improvements.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40073 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 21:00:23 +00: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
Richard Heck
b66e3c6e0f Fix bug #7777. We need a loader when exporting no matter what.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40067 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-29 20:14:36 +00:00
Vincent van Ravesteijn
e02df14faa Return ExportStatus from Buffer to GuiView
Now GuiView composes the message string.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40045 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-27 20:00:11 +00:00
Vincent van Ravesteijn
e74468b4be Let Buffer::preview return an error value
TODO:
 - Also let the public function return an error value,
 - Move all user interaction (Alerts etc.) out of Buffer.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40044 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-27 20:00:08 +00:00
Vincent van Ravesteijn
bf3871933a Let Buffer::doExport return an error value
TODO:
 - Also let the public function return an error value,
 - Move all user interaction (Alerts etc.) out of Buffer.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40043 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-27 20:00:06 +00:00
Vincent van Ravesteijn
ade7e12192 Remove result_file from debug output because it is empty
The result_file parameter is an output variable.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40042 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-27 20:00:02 +00:00
Vincent van Ravesteijn
a7eb3c4c6e Simplify the public interface of Buffer::doExport
All calls to doExport from outside of Buffer have the same algorithm to
determine whether the included children parameter should be true. Moreover,
this decision is only based on information from the Buffer itself.

Now, Buffer only has 1 public function doExport and preview.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40041 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-27 15:50:50 +00:00
Vincent van Ravesteijn
61dda8035d Fix bug #7793: LyX leaves behind autosave files
The LyX buffer is cloned before autosaving, but the unnamed_ member was not
copied. This causes the autosave files to end up in the wrong location and
consequently they were never removed afterwards.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40008 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-26 13:15:42 +00:00
Georg Baum
b62d8f2c6a Tie file formats of LyX and tex2lyx, since there are implicit depencies anyway.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39936 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 10:29:21 +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
Stephan Witt
d29f1f6930 avoid compiler warning regarding operator precedence
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39815 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-07 07:59:50 +00:00
Tommaso Cucinotta
da087e6fc1 Fixed bug when exporting to custom location under non-latex format, requiring intermediate latex step.
Keeping some debugging output about these filename mangling, in case additional debugging is needed.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39812 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-06 23:23:45 +00:00
Stephan Witt
bae12f7328 #2511 implementation of spell check of the current text selection
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39802 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-06 10:28:34 +00:00
Richard Heck
c239ac6590 Typo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-15 21:48:23 +00:00
Richard Heck
3788b960f8 Get default font color and background color working for XHTML export.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39679 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-15 21:22:56 +00:00
Tommaso Cucinotta
eff76bd3ab Added -E option to specify export format and destination file-name (and export folder).
Addressing #4501.
See also http://comments.gmane.org/gmane.editors.lyx.devel/138329


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39678 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-15 01:07:49 +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
Uwe Stöhr
f5a03ab601 InsetSpace support for
- \negmedspace and \negthickspace outside of math
- \enspace, \hspace*, \hspace*{\fill} and \hfill inside math
(fileformat change)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39557 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-29 14:07:30 +00:00
Stephan Witt
1a0b35288d #7740 Add undo for change of text language with LFUN_BUFFER_LANGUAGE
When a document is not multi-lingual the text contents is changed
to the new language. This should be recorded for Undo.
Because Undo wants a cursor the implemantation has to be
moved to the BufferView class.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39508 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-23 10:22:14 +00:00
Uwe Stöhr
30de1c744e - UI support for the LaTeX-package undertilde, fileformat change, fixed the remaining part of bug #6622, Georg already implemented the non-UI support
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39464 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-10 03:37:33 +00:00
Uwe Stöhr
cc5cc067a0 new export flavor "DVILUATEX", fixes bug #7713, patch from Jürgen
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39457 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-10 02:23:44 +00:00
Pavel Sanda
5005facace Add visible space. After long discussion the solution is part of InsetSpace.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg169847.html

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39367 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-23 18:40:21 +00:00
Richard Heck
f49cdf3420 Fix recursive include check.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39339 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-18 13:57:15 +00:00
Richard Heck
1f820d11a2 Add check for recursive includes.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39328 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-16 13:40:20 +00:00
Jean-Marc Lasgouttes
975174d0cc reorder initializers to avoid warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39281 a592a061-630c-0410-9148-cb99ea01b6c8
2011-07-12 15:56:21 +00:00
Abdelrazak Younes
850e4d80c0 Graphics cleanup: get rid of Previews.{h,cpp}
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
2011-07-12 12:43:11 +00:00
Richard Heck
c53971b07e Remove unused optional variable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39157 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-20 21:08:56 +00:00
Richard Heck
51149d8490 Fix problem with bibliography indentation reported on user list.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39149 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-20 15:19:16 +00:00
Richard Heck
5c264ebdf3 Modify r38980 in response to Vincent's comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39021 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-12 18:03:32 +00:00
Richard Heck
6efabf807e Fix problem with static error list.
It's amazing we haven't seen problems with this before. The basic problem is that buf.errorList("whatever") would always return the same global, static error list, if it did not already exist. So, to a significant extent, there was only one global error list!

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38980 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-08 00:12:52 +00:00
Richard Heck
60b1a06ac8 Revert previous commit, which committed too much.
This reverts commit 4369e725b17fede013eb26bfd797e917eaf6f4ea.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38979 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-07 23:52:22 +00:00
Richard Heck
cd2e50a275 Fix problem with static error list.
It's amazing we haven't seen problems with this before. The basic problem is that buf.errorList("whatever") would always return the same global, static error list, if it did not already exist. So, to a significant extent, there was only one global error list!

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38978 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-07 23:45:33 +00:00
Richard Heck
3883cca61b Fix bug reported on user list. Children included more than once in
the same document could not be rendered.

Problem was that we were using children_positions to deal with the
included documents. That structure only includes each child once.
We need to use position_to_children, instead.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38842 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-26 14:16:52 +00:00
Richard Heck
b51df2761b We were already using it here. Why wasn't I warned?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38838 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-26 13:36:05 +00:00
Richard Heck
2d6173d810 Fix problem first reported by Diego: If you try to view a child document,
the macros declared in the parent do not work. This is because we were
cloning only the child, which then didn't have a parent.

The solution is to clone the whole structure, starting with the master
document. As a side effect, we only clone each child once.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38837 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-26 13:20:11 +00:00
Richard Heck
08cfe6c46b Check the return status of Lexer::setFile().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38778 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-16 18:17:39 +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
Enrico Forestieri
1717ef203c Introduce the possibility of setting a prefix for the TEXINPUTS environment
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.

The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.

The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.

Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:25:51 +00:00
Richard Heck
33ee5c9ae8 Fix bug #7499. The problem here is that there was no way for the
inset to know that the BibTeX data had changed. So we introduce a
Buffer-wide variable that we can query for that information.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38619 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-07 23:02:53 +00:00
Richard Heck
5855043599 Initial work to fix bug involving embedded macros and
XHTML output.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38613 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-07 11:57:08 +00:00
Richard Heck
d1f15298f7 Start the clean up of the updateMacros() calls by moving the necessary
calls into the file writing routines and out of doExport(). They were in
both places before: Called once in doExport, and then again in the e.g.
writeLaTeXSource()---and then again, actually, in validate().

It is possible this will reveal some missing updateBuffer() calls
somewhere. But it should somewhat speed up View>Source, since we now do
not do an extra set of such calls in that routine. Rather, we rely upon
the Buffer's having been made up to date first, by the updateBuffer()
call after dispatch.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38596 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-05 20:18:16 +00:00
Richard Heck
9440012342 Fix bug #7525: We need to make sure we have an up to date list of macros
before we try to resolve them.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38590 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-05 15:15:55 +00:00
Richard Heck
bb91e606b3 Forgot this part of r38496. See
http://www.mail-archive.com/lyx-
for the reason it needs to be here.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38497 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-25 22:30:22 +00:00
Peter Kümmel
dd64477e3b #7407, home_dir could be a static function and also be called by the
Package constructor


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38370 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-13 19:11:55 +00:00
Richard Heck
a2abadb9f3 Fix crash part of bug #7416. The export status was not being set for
child documents, hence we had no DocIterator for preview.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38204 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-02 12:26:03 +00:00
Richard Heck
4685a3e5a8 Given how we are using this exclusion list, it makes more sense for it
to be a set. Not that speed will really be an issue here, but....


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38178 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-31 13:03:29 +00:00
Julien Rioux
bdc2dc042f exclude latex and pdflatex formats from the converter
graph when using nonTeXFonts

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38167 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-30 22:25:39 +00:00
Enrico Forestieri
c4d1c0943b When an error occurs inside an inset, the content rather than the inset
as a whole gets highlighted. Now, the error list carries information
about the starting id/pos and ending pos, but not about the ending id.
So, when computing the range to be highlighted as range = pos_end - pos_start,
if id_start != id_end, the result 1 means one inset and only the first
character in the inset would be highlighted. Thus, when id_start != id_end,
let pos_end = 0, such that the whole content will be highlighted.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37900 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-10 22:11:34 +00:00
Tommaso Cucinotta
aa431bf8bf Fix bug when retrieving allRelatives() of a buffer (when invoked from a
child, the returned list had no master and twice the child itself).
(was causing misbehavior in Advanced Find & Replace with scope=Document).


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37852 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-04 22:14:52 +00:00
Enrico Forestieri
655a99f8c2 As improbable as it may be, an error could occur in both master and child
at the same line. Given that we know where the error occurred, don't
unnecessarily check the master first.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37846 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-04 13:52:01 +00:00
Enrico Forestieri
2e18f6a671 Fix bug #7331 (No error highlighting in child documents)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37845 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-04 13:37:14 +00:00
Enrico Forestieri
a079d95038 Initializing the gui_ member of the cloned buffer has strange side effects
with Qt/X11 (obscure X errors). Better avoiding it.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37797 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-28 03:39:43 +00:00
Enrico Forestieri
2969cb53e2 Fix bug #7324 (Latex export silently fails with uncodable characters)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37796 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-28 01:50:13 +00:00
Stephan Witt
66d0d61b0c #7299 correct Buffer::saveCheckSum() method for new created files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37737 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-20 10:53:07 +00:00
Richard Heck
6127141d4b Introduce BufferParam to control whether CSS is output in the header of
the XHTML file or to a separate style file.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37682 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-15 17:44:17 +00:00
Enrico Forestieri
05491c58cc Also catch the endl manipulator for automatic line counting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37657 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-14 17:09:39 +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
Pavel Sanda
ab8645bc3f Few typos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37611 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-13 01:34:00 +00:00
Enrico Forestieri
4460f32dfd Fix bug #7186 (Forward Search not working for Child Documents)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37602 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-12 20:24:09 +00:00
Enrico Forestieri
d866717ef7 Integrate texrow with otexstream in order to perform automatic line
counting when exporting to latex. This is done for the code comprised
between \begin{document} and \end{document}, while the preamble code
still needs manual calls to TexRow::newline() for registering new lines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37584 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:02:48 +00:00
Pavel Sanda
7251551084 Cosmetic change of .lyx headers. We output now only major and minor version,
not release level. File format does not change for a single minor (branch), so
this info has small value.

On the other hand the first line of header is causing unnecessary merge
conflicts for users of LyX VCS.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37579 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-09 22:19:14 +00:00
Edwin Leuven
119ea9cd24 support for tabular*
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37471 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-03 23:11:26 +00:00
Jürgen Spitzmüller
f27d5aa9ae * Allow to set language package on a per-document basis (fixes bug 2909).
File format change. Commit approved by Pavel on trac.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37457 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-03 14:17:31 +00:00
Enrico Forestieri
1ef605f625 Introduce a wrapper class for odocstream to help ensuring that no
blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-29 02:41:13 +00:00
Pavel Sanda
b01f5549f3 .lyx as symlinks killed when saving because of #6587 workarounds.
At the end escape for fsync would be the least hackish solution
but it needs somebody with ext4 to test with.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37348 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-28 12:39:50 +00:00
Jean-Marc Lasgouttes
996079334b Fix default buffer output format for literate documents.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37339 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-27 16:33:00 +00:00
Peter Kümmel
654b342e3f make a copy of Converters because this function is used by our export/preview threads
and the converters is also used by the main thread (getStatus).

LyX.exe!lyx::Buffer::doExport
LyX.exe!lyx::Buffer::preview(
LyX.exe!std::tr1::_Pmf_caller3<
LyX.exe!std::tr1::_Pmf_caller3<
LyX.exe!std::tr1::_Callable_pmf<
LyX.exe!std::tr1::_Bind3<
LyX.exe!std::tr1::_Bind_base<
LyX.exe!lyx::frontend::GuiView::GuiViewPrivate::runAndDestroy<
LyX.exe!lyx::frontend::GuiView::GuiViewPrivate::previewAndDestroy(
LyX.exe!QtConcurrent::StoredFunctorCall3<
LyX.exe!QtConcurrent::RunFunctionTask(
QtCored4.dll!QThreadPoolThread::run(
QtCored4.dll!QThreadPrivate::start(
msvcr100d.dll!_callthreadstartex() 
msvcr100d.dll!_threadstartex(void * ptd)



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37292 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-22 09:30:03 +00:00
Enrico Forestieri
ca2ee03ba1 Fix bug #7231 (Math macro arguments miss braces when input into a file)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37205 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-13 21:01:29 +00:00
Abdelrazak Younes
a07d9f2192 Clear undo/redo stack when reloading buffer. This fixes #7208.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37155 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-09 17:55:16 +00:00
Jürgen Spitzmüller
0a34b1e047 fix some typos. Patch by Yuri Chornoivan.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37039 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-29 16:57:04 +00:00
Enrico Forestieri
c203112890 Fix bug #7194 (Crash closing master while child documents are opened)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37021 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-28 15:47:05 +00:00
Pavel Sanda
285a41066b Whitespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37001 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-26 23:33:28 +00:00
Enrico Forestieri
89c1d25250 Avoid const casts by making mutable the usermacros member.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36984 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-21 14:52:18 +00:00
Enrico Forestieri
8b88c3edde Refine fix for bug #7183.
Using updateMacros() entails a performance hit when loading a document
with really a lot of macros. So, revert to the original strategy of
tracking macros at creation time. In order to also account for macros
defined in a child document, the child is now loaded by the include inset
at construction time instead of after the master has finished loading.
This strategy mimics what updateMacros() was accomplishing without
incurring in its drawbacks, such that loading time is practically
unchanged even with a thousand macros.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36968 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-20 18:15:39 +00:00
Enrico Forestieri
280f7a7ced Fix bug #7183 (User math macros defined in child documents are shadowed on loading)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36930 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-18 02:27:25 +00:00
Jürgen Spitzmüller
aec686905b * Buffer.cpp (doExport): rebuild the Graph to fix a crash due to an invalid pointer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36837 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-12 10:56:55 +00:00
Jürgen Spitzmüller
1e98a4f240 Add the option to select the output format in Source View.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36806 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-10 10:34:24 +00:00
Jürgen Spitzmüller
f255f93b9e * Follow Vincent's advice to keep constness. Thanks Vincent.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36759 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 09:00:50 +00:00
Jürgen Spitzmüller
2653011613 * Use default output flavor for View Source.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36758 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 08:36:42 +00:00
Richard Heck
3fffe51506 Revert r36696: We can't collect BibTeX information during the
updateBuffer() traversal. The reason is simple: InsetCitation needs
access to the BibTeX info to calculate its label. But we won't have it
until we get to the bibliography.
I don't think there is any way around that.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36710 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-04 03:15:53 +00:00
Richard Heck
0114564eff Mark the cache valid once we have been through updateBuffer().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36702 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 21:22:18 +00:00
Richard Heck
840f2baf91 Simplify some of the bibliography update code. There is really no reason
to be passing the BiblioInfo structure around this way. (That's an old
holdover.) That lets us get rid of the non-const masterBibInfo() again.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36697 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 20:08:04 +00:00
Richard Heck
66be58b074 Proper fix now for bug #6846. The idea, due to JMarc, is to collect
bibliography information in updateBuffer(), rather than doing a wholly
separate traversal. We still do a separate traversal in two cases, as a
full updateBuffer() call just isn't needed there.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36696 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 19:29:46 +00:00
Richard Heck
ab47822680 Towards a proper fix for bug #6846, this just disentangles a couple
things we will ultimately want to do separately.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36694 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 19:00:55 +00:00
Richard Heck
7f5c037df3 Slight re-organization.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36688 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-03 18:01:37 +00:00
Vincent van Ravesteijn
5eb7add409 Fix bug #6315: counters in insets that don't produce output have ghost values.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36603 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-29 19:11:38 +00:00
Vincent van Ravesteijn
b81550b459 Remove unused #include.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36602 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-29 18:49:04 +00:00
Jürgen Spitzmüller
7538a23c15 * Buffer.cpp (makeLaTeXFile):
- With XeTeX/LuaTeX and tex fonts, we need to force the encoding to utf8-plain manually.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36558 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-28 17:43:22 +00:00
Jürgen Spitzmüller
e14b6a280d whitespace only.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36553 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-28 13:49:14 +00:00
Jürgen Spitzmüller
ff20f7ebe9 Allow to use XeTeX and LuaTeX with tex fonts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36537 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-27 13:43:13 +00:00
Pavel Sanda
f5ad7f949e Kill leading blankspaces in new strings, its weird to encounter them in .po.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36531 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-27 03:04:53 +00:00
Richard Heck
4540c4a18e Final batch of BufferParam renaming.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36525 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 18:42:53 +00:00
Richard Heck
fc3b06eac8 Rename a bunch of BufferParams to conform to our usual style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36524 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 18:32:29 +00:00
Richard Heck
7f8b868f4a Fix bug #2607.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36520 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 17:21:17 +00:00
Jürgen Spitzmüller
2dc2e4770b Implement GUI for LuaTeX. File format change due to the renaming of the \use_xetex buffer param.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36500 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 09:42:03 +00:00
Vincent van Ravesteijn
7073502308 Do not overwrite read-only files. We now move the file to the backup directory and write a new file. However, when the file is read-only it now appears as the file is overwritten anyway. Therefore we check wether the file is read-only before moving it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36499 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 04:17:20 +00:00
Vincent van Ravesteijn
3508aaf2db Fix bug #7035: Read-only status and compressed status not set correctly when an autosave or emergency file is loaded, or when the file is been converted by lyx2lyx.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36497 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 02:01:04 +00:00
Vincent van Ravesteijn
3f6e6aff90 Fix also the other occurence of the strange language that was corrected in r36489. Also fix the english.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36491 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 14:55:21 +00:00
Pavel Sanda
4d0e8cb5f0 This message looked strange.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36489 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-25 14:37:10 +00:00
Jürgen Spitzmüller
2868ff7a52 add basic LuaTeX backend.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36448 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 16:07:42 +00:00
Jürgen Spitzmüller
d165b5ea51 * Buffer.cpp: correctly set the flavor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36444 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 11:53:27 +00:00
Jürgen Spitzmüller
7cbeed2e40 * Introduce polyglossia support (bug 6576).
Please test this.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36433 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-22 12:10:16 +00:00
Georg Baum
d89bde0652 Load mhchem if it is requested unconditionally, fix some typos
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36425 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 18:07:04 +00:00
Georg Baum
dea050cb93 fix bug 3008: Add subscript/superscript inset for text
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36424 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-21 17:00:12 +00:00
Vincent van Ravesteijn
b3d7a10410 Call Buffer::saveCheckSum() from Buffer::setFileName(). This fixes the bug that if the user wants to overwrite an already existing file, LyX asks whether he want to overwrite the existing file _and_ whether he wants to overwrite an externally modified file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36376 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 17:56:00 +00:00
Vincent van Ravesteijn
1f38406536 Buffer::setFileName() can now be private. The only way to change the filename of a buffer is to save it as a different file using Buffer::saveAs().
Change its parameter type to support::FileName for convenience.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36375 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-18 17:50:33 +00:00
Vincent van Ravesteijn
7bf7fabb13 Correct bug number and typo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36329 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-17 03:22:37 +00:00
Vincent van Ravesteijn
208acbc728 Generalize Buffer::autoSave() for both the threaded as the forked process call. Also move out the resetAutosaveTimers as this is the task of the frontend as the core shouldn't know about any timer.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36325 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-17 02:18:12 +00:00
Vincent van Ravesteijn
8e7d7e4295 Move the buffer related part from GuiView::renameBuffer to Buffer::saveAs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36202 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-07 21:26:02 +00:00
Uwe Stöhr
86b99f8f32 GuiTabular: support for multirow offset; fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36182 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-07 05:32:28 +00:00
Jean-Marc Lasgouttes
b9b619641b This patch implements proper ERT behaviour for normal layouts.
In particular, it makes paragraph breaks generate single \n in latex output
when ParbreakIsNewline is true

This means that it is not necessary anymore to use newlines to break lines. 
Plain paragraph breaks can be used instead, like is done now in ERT/Listings. 
This is mainly aimed at sweave support.

lyx2lyx support courtesy of Richard Heck



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36163 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-06 15:06:19 +00:00
Vincent van Ravesteijn
38e43ce4ca Clarify comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36146 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 21:23:26 +00:00
Vincent van Ravesteijn
afa873dc5f Remove the FileName parameter of Buffer::loadLyXFile and friends. Now, getAutosaveFileNameFor and getEmergencyFileNamefor can be removed too. Last, the call to lyxvc.file_found_hook can now be centralized and can be given the correct parameter (d->filename instead of the name of the emergency/autosave file).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36145 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 21:21:01 +00:00
Vincent van Ravesteijn
f226c9d3fc Fix bug #6058: Change tracking and versioning.
Computes a hash value for the authors when using change tracking.

Text.cpp, BufferParams.h, Author.h:
  Change unsigned int to int because the hash values can be negative.

lyx2lyx:
  Allow to convert negative author_ids.

See also: r30756.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36134 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 18:25:29 +00:00
Stephan Witt
2f10f8edd0 first step to cure the VCS load problem
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35985 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-01 22:20:54 +00:00
Stephan Witt
4b57639ad0 after successfuly load of autosave or emergency file the VCS state has to be checked for the original name
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35937 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-30 20:05:55 +00:00
Vincent van Ravesteijn
3bb31a04dd Remove saveCheckSum from Buffer::reload again. Now, the saveCheckSum call is already in Buffer::readFile, so it is not needed here anymore.
Also move the saveCheckSum declaration to the section of functions involving reading/writing. And note that it should be made private.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35925 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 23:51:13 +00:00
Vincent van Ravesteijn
eff06951a9 Centralize preview generation/deletion code to Buffer::updatePreviews and Buffer::removePreviews.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35922 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 20:00:51 +00:00
Vincent van Ravesteijn
c9a91c5474 Relay the ReadStatus all the way up to the GUI also for Buffer::reload().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35908 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-29 16:26:32 +00:00
Richard Heck
e313d3a12b Move saveCheckSum() call to Buffer::readFile(). Also, remove the
argument from that function. We are always saving the checksum for the
Buffer's file. The argument is a left-over from a time when we did the
wrong thing and saved it for e.g. the emergency file.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35890 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-28 22:12:29 +00:00
Kornel Benko
48a8d24328 Make it compilable, missing parentheses
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35859 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 19:38:45 +00:00
Vincent van Ravesteijn
afc87eb625 Let's add one step of security more here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35858 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 17:00:43 +00:00
Vincent van Ravesteijn
07924ac300 Remove some unnecessary static_casts and add two FIXMEs about casts that don't look safe.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35856 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 16:45:21 +00:00
Vincent van Ravesteijn
573500dd04 Remove unneccessary uses of dynamic_cast from the code.
A dynamic_cast is necessary when:

- the object to be casted is from an external library because we can't add Qxxx::asXxxx() to Qt e.g.:
    * QAbstractListModel to GuiIdListModel,
    * QValidator to PathValidator,
    * QWidget to TabWorkArea,
    * QWidget to GuiWorkArea;

- the object is to be casted from an interface to the implementing class, because the Interface does not know by whom it is implemented:
    * ProgressInterface to GuiProgress,
    * Application to GuiApplication.

A dynamic_cast can be replaced by:
  - already existing as***Inset() functions, e.g.:
    * asHullInset(),
    * asInsetMath()->asMacro(),
    * asInsetText();

  - a static_cast when we are sure this can't go wrong, e.g.:
    * we are sure that CellData::inset->clone() is an InsetTableCell,
    * in cases where we explicitly check it->lyxCode().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35855 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 15:03:51 +00:00
Vincent van Ravesteijn
8d10d82392 Buffer: Rename function names:
- rename readFromVC to extractFromVC because this function actually doesn't read anything as compared to readEmergency, readAutosave and so on.

- rename readEmergency and readAutosave to loadEmergency and loadAutosave just like loadLyXFile and loadThisLyXFile. Only in loadThisLyXFile we switch to the actually reading of a file.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35854 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 13:27:06 +00:00
Vincent van Ravesteijn
f311377671 Buffer: Make Buffer::readFile() private.
It's strange to have a public interface which has a function loadLyXFile and a function readFile. A user of this class will be confused about the difference.

Therefore, loadThisLyXFile will be next to loadLyXFile to stress that loadThisLyXFile will not load another file ;). I don't know whether all of you like that this function just calls readFile, but it feels good this way. All public paths for loading a file will now go through loadThisLyXFile (i.e. the paths that come from loadLyXFile), while readFile is a pure private function. If this doesn't make sense, just shout.

I think this improves the readability of the class.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35852 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 13:17:10 +00:00
Richard Heck
3e53707570 Little bit of cleanup, motivated by need to squash a warning.
The only substantive change here is moving the markDirty() call into the
first case. If we don't load the file successfully, then there is no
need to mark dirty.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35834 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 15:33:51 +00:00
Vincent van Ravesteijn
80a09f4ea6 Merge readFile and readFile; and readFile and readString.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35832 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 14:14:44 +00:00
Vincent van Ravesteijn
5a30a98346 Buffer.cpp:
Extract convertLyXFormat function that runs LyX2LyX.

(and some compile fixes)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35831 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 13:55:39 +00:00
Vincent van Ravesteijn
5f9b12ec39 Buffer.cpp:
We need to save the checksum of the requested file. Not of the autosave file.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35830 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 13:32:38 +00:00
Vincent van Ravesteijn
aab708c594 Buffer.cpp:
- Move the saveCheckSum to both autosave file as emergency file read function.
- Extract the function parseLyxFormat.
- Improve comment about the older LyX format numbers.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35829 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 13:29:50 +00:00
Vincent van Ravesteijn
80a5dd8144 Buffer.cpp:
- Move some lines of code to more proper places.
- Let Buffer::readFile(FileName const &) return ReadStatus as well.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35827 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 13:04:13 +00:00
Vincent van Ravesteijn
375db69d99 Centralize the generation of the emergency and autosave filenames.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35825 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 12:31:22 +00:00
Richard Heck
5cd48620f1 Return early again if there's nothing to do. Also, mark the buffer dirty
only if we manage to read the autosave file successfully.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35824 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 12:24:15 +00:00
Vincent van Ravesteijn
1d55e97b2d Oops.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35823 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 12:19:39 +00:00
Vincent van Ravesteijn
1102636923 FFix warnings in Buffer::readString.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35822 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 12:18:09 +00:00
Richard Heck
1edd77ca30 Lessen indentation by returning early if there's nothing to do.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35821 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 12:14:10 +00:00
Vincent van Ravesteijn
df1c5ef611 Refactor Buffer.cpp: loadLyXFile():
- make a new function readFromVC(),
if the file does not exist, try to extract it from the version control (RCS),

- make a new function readEmergency(),
try to read the emergency file that is associated to the file we are trying to read,

- make a new function readAutosave(),
try to read the autosave file that is associated to the file we are trying to read,

- merge loadLyXFile() and readFileHelper(),
this new function now determines which file to read.

- add more ReadStatus elements to describe failures.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35819 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 11:57:56 +00:00
Vincent van Ravesteijn
75773f3c22 Use Buffer::ReadStatus as a return value for Buffer::loadLyXFile.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35818 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 10:18:42 +00:00
Vincent van Ravesteijn
058035bf2c One should use dynamic_casts for inheritance-based casting.
(This is a little necessary clean-up of my tree.)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35817 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 09:49:24 +00:00
Vincent van Ravesteijn
943288066d Fix bug #6968: isExternallyModified remains "true" after "Revert to Saved".
I forgot to save the checksum after reloading.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35805 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-24 21:38:19 +00:00
Richard Heck
1c059dba29 Simplify comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35756 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-21 17:53:21 +00:00
Richard Heck
00e6dfb14b Make updateMacros() descend into tables. Fixes #6897.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35718 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-19 15:36:11 +00:00
Richard Heck
97910b056e Revert r35715. Didn't mean to commit both.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35716 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-19 15:33:39 +00:00
Richard Heck
a773428fce Cut and paste solution to get export working. The issue is that the old
exportAndDestroy was calling:
  buffer->doExport(format, true, update_unincluded);
where "true" means: Leave it in the tempdir. We need false, which means
we need another parameter, if we're not doing it as cut and paste.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35715 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-19 15:10:13 +00:00
Richard Heck
6a80ce62ca DispatchResult::update() ==> DispatchResult::screenUpdate()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35631 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-13 17:28:55 +00:00
Richard Heck
01013c0785 Refstyle support. The user can now choose between prettyref and restyle
for formatted references. Fixes #2295, in so far as it makes it possible
to translate formatted references.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35623 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-13 12:36:53 +00:00