Commit Graph

23417 Commits

Author SHA1 Message Date
Georg Baum
1fd4aaefd6 Fix regression of eb121f999
Again thanks to Scott for finding this. The removal of the check for full
unicode in eb121f999 was not wanted. Now listings can be exported to
lualatex and xetex again.
2015-02-17 21:19:05 +01:00
Georg Baum
bc8638bd25 Fix wrong LATTEST
Thanks to Scott for testing. If a macro is unknown (displayed in red), then
macro_ is 0. The LATTEST is now adjusted and works like in MathMacro::write()
where I stole it from.
2015-02-16 22:33:48 +01:00
Georg Baum
e4ec11e8a1 Output -- and --- in XHTML like in LaTeX
For exports based on LaTeX, consecutive hyphens are only converted to endash
and emdash if the current font family is not typewriter, and if none of the
parent insets is an IPA inset. Now this is done for XHTML export as well.
2015-02-15 20:17:21 +01:00
Uwe Stöhr
4a8881c60a text3.cpp: adapt a possible fix to current code 2015-02-15 01:04:41 +01:00
Georg Baum
7adc6125f7 Fix missing symbols in math completer
The math icons for the symbol image in the math completer were hardcoded to the
command names. This is wrong for some icons for various reasons, e.g. the case
insensitivity of windows file systems. Therefore we have to use the replacement
list which is also used for the toolbar icons. Bug #3538 is not closed because
of this problem, but IMHO it has nothing to do with this bug, it is a more
general one.
2015-02-14 20:32:25 +01:00
Georg Baum
f9f05c364b Unify layout categories 2015-02-14 11:35:40 +01:00
Georg Baum
864f44ddc2 Fix unused parameter warning 2015-02-14 11:32:39 +01:00
Scott Kostyshak
36c3495a3a Correct the spelling of "occured" to "occurred" 2015-02-09 18:44:02 -05:00
Richard Heck
5a78a112b6 Fix bug #9383. Writing directly to the output stream bypassed the
machinery that clears the tag stack.
2015-02-09 17:26:47 -05:00
Jean-Marc Lasgouttes
51cc1a1cbe Do not modify the changed() status of rows when no drawing has taken place
There are several places in the code where a row is painted with drawing disabled in the painter. The goal is only to recompute inset positions.

Such a case happens in BufferView::checkCursorScrollOffset, as part of the horizontal scrolling patch. Note that this particular piece of code should eventually be removed, since it is a performance problem.

It makes sense to consider that only a real painting of a row should change its status. However, I would not be surprised if this change would break other things.

Fixes: #9388
2015-02-09 15:16:41 +01:00
Scott Kostyshak
d81fe084a6 Revert "Do not modify the changed() status of rows when no drawing has taken place"
This reverts commit c6f8f51525.

I accidentally committed this patch, which I am testing as
a fix to 9388.
2015-02-08 16:39:06 -05:00
Jean-Marc Lasgouttes
c6f8f51525 Do not modify the changed() status of rows when no drawing has taken place
There are several places in the code where a row is painted with drawing disabled in the painter. The goal is only to recompute inset positions.

Such a case happens in BufferView::checkCursorScrollOffset, as part of the horizontal scrolling patch.

It makes sens to consider that only a real painting of a row should change its status. However, I would not be surprised if this change would break other things.

Fixes: #9388
2015-02-08 16:18:56 -05:00
Juergen Spitzmueller
d48e5330be Add pref option to disable middle-mouse-button paste
Fixes: #9399
2015-02-08 17:41:28 +01:00
Georg Baum
7178f98b0f Fix tex2lyx parsing of consecutive hyphens
tex2lyx was already behaving as if bug #3647 was fixed, but currently -- and
--- have the same special meaning in LyX as in LaTeX.
2015-02-01 14:03:58 +01:00
Georg Baum
3120ff8e9f Fix tex2lyx tests for 23e8db3e5
The textcyr test did not work anymore, since the output of
"CYRILLIC SMALL LETTER VE" changed from \textcyr{\char226} to \textcyr{\cyrv}.
The the old version is now converted to ERT. In theory it could also be
converted to "CYRILLIC SMALL LETTER VE", but this would mean to maintain an
extra list, which is not worth the effort.
2015-02-01 13:12:45 +01:00
Georg Baum
e6354e1a17 Oops 2015-02-01 12:49:41 +01:00
Georg Baum
8c3829e6f1 Improve InsetSpace docbook export
The removed link does not exist anymore. The character entities were taken
from http://www.sagehill.net/docbookxsl/SpecialChars.html.
2015-02-01 12:39:53 +01:00
Enrico Forestieri
e3960ffd0b Fix bug #9392: Matrix widget keyboard navigation broken 2015-01-27 22:59:33 +01: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
Juergen Spitzmueller
16c33b5f6e Move font encoding information to languages. 2015-01-24 14:02:16 +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
Uwe Stöhr
95bf60b52b ParagraphUi.ui: update file to QT's xml format 2015-01-22 01:07:40 +01:00
Enrico Forestieri
f496ec373b Solve the "soft-hyphen" (0x00ad) symbol problem.
After the str-metrics merge, the kludge for displaying symbols whose
code point corresponds to a soft-hyphen was not working anymore.
The solution is replicating the offending glyphs with index 0x00ad
at a different index. They were replicated at 0x00ac, whose glyph
was missing in all affected fonts.

However, this would not work by alone because, if a system font with
same family name exists, it would be picked up instead of the right one
(at least on non-Windows platforms). For this reason, the style of the
fonts has been changed from "Regular" to "Lyx", so that we can discriminate
the right font. However, this requires using at least Qt 4.8. If an
older Qt is used *and* a system font with same family name is already
available, the affected glyphs will all turn out on screen as the
"logical not" symbol.

I have also set the executable flag on the font files, because on Windows
they are loaded only in this case.

This solves #9229.
2015-01-21 14:12:42 +01:00
Georg Baum
c5782ff4bb Fix pasting insets into math (bug #9302)
The problem was that the conversion to plain text (which is used as an
intermediate step) requires for some insets a valid buffer pointer, but
insets in the cut stack do not have one. Now we use the same temp buffer
business as for copying to the external clipboard.
2015-01-19 21:37:01 +01:00
Georg Baum
19f3f630bc Remove unused declaration 2015-01-14 21:44:28 +01:00
Jean-Marc Lasgouttes
3830ce46db Squash warnings reported by gcc 4.9
Most of these are just about conversion from double to int.

Of note also the replacement of an horrible reinterpret_cast by a proper solution.
2015-01-14 11:52:14 +01:00
Vincent van Ravesteijn
51b28ba1d8 ConsoleApplication: Fix typos 2015-01-13 21:59:39 +01:00
Vincent van Ravesteijn
1950152b39 cmake: Put check_ExternalTransforms in tests folder 2015-01-13 21:21:12 +01:00
Enrico Forestieri
35357c1225 Fix preferences panel.
This commit fixes a thinko in [8bab2338/lyxgit] causing the warning:
QObject::connect: No such slot lyx::frontend::GuiPreferences::slotApplyRC() in ../../../../src/frontends/qt4/GuiPrefs.cpp:3308
QObject::connect:  (sender name:   'applyPB')
QObject::connect:  (receiver name: 'PrefsUi')
2015-01-11 20:11:40 +01:00
Georg Baum
eb121f9993 Replace hardcoded hack with InsetLayout tag 2015-01-11 20:01:19 +01:00
Jean-Marc Lasgouttes
6e519e7727 Fix two warnings about conversion from double to int. 2015-01-11 19:55:05 +01:00
Enrico Forestieri
d4428ceb81 Adjust preprocessor guards for Qt5/X11.
This fixes the -geometry command line option and restores the
"Use icons from system's theme" checkbox in the preferences.

There is still code addressing Qt4 and xlib that has to be
audited. This code cannot be compiled with Qt5 because the
default backend is now xcb and not xlib. I have marked such
code with a "FIXME QT5" comment.
2015-01-11 19:44:35 +01:00
Georg Baum
5d6351d476 Fix wrong listings preamble encoding (bug #9382)
The listings package employs some dirty tricks internally, therefore it does
not work with utf8 encoding, but requires fixed width encodings. This version
of the fix uses ugly hardcoding instead of a layout file format change, so it
could be backported if needed.
2015-01-11 19:17:51 +01:00
Georg Baum
7b48e2aac0 Start qt event loop for commandline usage
This is needed since src/support calls lots of qt code, and some parts of it
(e.g. QFileInfo) require a running event loop. This fixes bug #4917 which is
a symptom of the problem.
The fix is to create a QCoreApplication for tex2lyx, lyxclient and LyX running
without GUI. In the future this could be extended, i.e. to split up the
frontend Application class in a GUI and a console class, and having the
console class use LyXConsoleApp in the same way as Application now uses
GuiApplication. If that is done, one could also think of moving
support/ConsoleApplication to frontend/console/ConsoleApplication.
2015-01-11 14:06:17 +01:00
Georg Baum
a02af82b82 Fix indentation 2015-01-11 11:29:00 +01:00
Jean-Marc Lasgouttes
1e18ab586e Fixes to InsetCaption \protect-ion
* \caption does not need to be protected in general
* the contents of \caption arguments need to be protected, though.

All styles related to caoption inset have been audited and updated.

The special casing of captions in longtables has been removed, since there is no special case.

Fixes bug: #9177
2015-01-10 19:48:56 +01:00
Jean-Marc Lasgouttes
9c55af4a22 Merge remote-tracking branch 'features/scroll-reloaded'
This implement horizontal scrolling of rows to allow editing insets
(math, tabular...) that are larger then the screen. The scrolling happens
as the cursor moves, in order to make sure that the cursor is always visible.
This effectively closes an 11 years old bug.

This feature is the result of the work of Hashini Senaratne as part of
Google Summer of Code 2013. The code has been cleaned-up for inclusion
and remaining bugs have been fixed.

Fixes bug: #1083.
2015-01-10 18:39:09 +01:00
Georg Baum
ca6fba31fb Remove direct calls of exit()
This is a preparation for using QCoreApplication.
2015-01-09 21:43:45 +01:00
Georg Baum
8f2828197c Move otexstream out of support
This resolves a dependency of src/support/docstream.cpp on src/TexRow.cpp,
which is the wrong way round. This fixes the linking
src/tests/check_ExternalTransforms with MSVC where the linker is not clever
enough to detect that the whole otexstream class is unused.
2015-01-09 21:07:59 +01:00
Georg Baum
9c1504a416 Update references after 706960eba
The generated output is correct, since the lyx2lyx forward conversion is empty.
2015-01-09 21:05:42 +01:00
Juergen Spitzmueller
706960eba4 Add Question and Question* theorem types (bug #9015)
File format change.
2015-01-09 11:24:45 +01:00
Georg Baum
ba045c0a68 Fix biblio regex test
Now it tests lyx::regex instead of boost::regex, so it works as well if
std::regex is used.
2015-01-08 20:46:54 +01:00
Georg Baum
aafb5138ab remove duplicated include 2015-01-08 19:55:40 +01:00
Jean-Marc Lasgouttes
52236503d3 Add marks to indicate when a row is too large
A dotted line is shown on the left or on the right to indicate that a part of the row is not visible.

Add a color code for the scroll indicator
2015-01-07 22:55:11 +01:00
Jean-Marc Lasgouttes
c6e1db7682 Fix some display glitches
* When doing a redraw with drawing disabled (to set inset positions properly), take horizontal scroll offset in account

* reset horizontal scroll offset when it is smaller than the left margin.

* when drawing a paragraph, do not modify x globally, only for the row that is offset.
2015-01-07 22:55:11 +01:00
Jean-Marc Lasgouttes
fcaf5b5fc8 Remove the special horizontal scrolling support in InsetTabular
It is not necessary anymore now that there is a global mechanism.

Also, fix the clearing of rows in SingleParUpdate mode.
2015-01-07 22:55:11 +01:00
Jean-Marc Lasgouttes
a7ba04dbaf Fine tune the scroll offset setting code
The new code should feel a bit more natural. It avoids explicit pixel values for the margins and does not scroll in some cases where it is not necessary.
2015-01-07 22:55:11 +01:00
Hashini Senaratne
5a361b35cf Keyboard based horizontal scrolling for wide insets
[This commit is the output of the "horizontal scrolling" GSoC 2013
 project, by Hashini Senaratne. The code has been cleaned up, some
 variables have been renamed and moved from the Cursor class to
 BufferView::Private. This is the base from which I (jmarc) will polish
 the feature for landing on master.

 Below is the original commit log of Hashini, updated to reflect the
 changes that have been done.]

This feature also applicable for other insets; graphics and labels.

This implementation is capable of scrolling a single row when reaching
its content which is beyond the screen limits, using left and right
arrow keys.

The attribute 'horiz_scroll_offset_' introduced in the
BufferView::Private class plays a main role in horizontal scrolling of
the wide rows that grow beyond the screen limits. This attribute
represents by how much pixels the current row that the text cursor
lies in should be get scrolled.

The main logic that is responsible for drawing the scrolled rows is
within the BufferView class, BufferView::checkCursorScrollOffset.

 * The main logic is called via BufferView::draw.

 * What this does is set the horiz_scroll_offset_ attribute in in order to
 show the position that the text cursor lies in.

 * To make sure that BufferView::draw gets involved when Update flag is
 FitCursor, necessary changes are made in BufferView::processUpdateFlags.

Basically what the logic that used to set the horiz_scroll_offset_
does is,

 * The row which the text cursor lies in is identified by a
 CursorSlice that points to the beginning of the row. This is the
 'rowSlice' variable used in BufferView::checkCursorScrollOffset. Acessors
 are added to obtain this variable. Here row objects were not used to
 identify the current row, because it appears that row objects can
 disappear when doing a decoration update for example. This means that
 comparing row pointers is not a good idea, because they can change
 without notice.

 * Stop calculations of horiz_scroll_offset_ variable, if metrics have not been
 computed yet. Otherwise the calls to TextMetrics::parMetrics, calls
 redoParagraph and may change the row heigths. Therefore vertical scrolling
 feature may get disturbed. This is avoided.

 * Using BufferView::::setCurrentRowSlice resets horiz_scroll_offset_
 when changing cursor row. This is done in order to prevent unwanted
 scrolling that happens when changing the selected row using up and
 down arrow keys.

 * Recompute inset positions before checking scoll offset of the row, by
 painting the row insets with drawing disabled. This is done because the
 position of insets is computed within the drawing procedure.

 * Current x position of the text cursor is compared with the
 horiz_scroll_offset_ value and the other variables like row.width(),
 bv.workWidth(). Compute the new horiz_scroll_offset_ value in order
 to show where the text cursor lies in. The basics conditions that we
 check before recomputing it are, if the text cursor lies rightward to
 the current right screen boundary, if the text cursor lies leftward
 to the current left screen boundary, if the text cursor lies within
 screen boundaries but the length of the row is less than the left
 boundary of the screen (this happens when we delete some content of
 the row using delete key or backspace key).

 * Change update strategy when scrooll offset has changed. This allows to
 redraw the row when no drawing was scheduled. By doing so, it was
 possible to redraw a wide row when moving to the leftmost position of the
 wide row, from the leftmost position of the row below, using the left
 arrow key.

In TextMetrics::drawParagraph it is checked whether the current row is
what is drawing now. If it is so, the value used to the x value of the row
for drawing is adapted according to BufferView::horizScrollOffset.

The method used to pass boundary() was fixed to get row when cursor was in
a nested inset. This matter is considered in Cursor::textRow and it is
modified accordingly.

GuiWorkArea::Private::showCursor() is modified to show the cursor position
in a scrolled row.
2015-01-07 22:55:11 +01:00
Jean-Marc Lasgouttes
38dc763e50 Turn a double variable into an int.
This is a better fix than 0ad9d46068, and was just as simple.
2015-01-07 22:42:14 +01:00
Jean-Marc Lasgouttes
0ad9d46068 Fix some warnings 2015-01-07 21:27:53 +01:00
Vincent van Ravesteijn
ad6c03fe26 InsetTabular.cpp: Remove commented code without a comment
This was a leftover of [b2246c4e/lyxgit].
2015-01-06 22:02:20 +01:00
Vincent van Ravesteijn
c313b1c8eb str_metrics: Prevent clipping of chars with negative bearing
This happens when part of the word is selected.

To reproduce:
1. Start a new document
2. Type "af"
3. Select 'a'
4. Observe that the right part of the 'f' is clipped away.

This patch uses QRegion to set a clip region that is everything except
the part that is drawn in another color.

Fixes: #9223.
2015-01-06 22:02:07 +01:00
Georg Baum
59b705dcd9 Move global variable to preamble
This will be needed in the future, when I need to parse the preamble twice
for detecting japanese encoding (bug #8218).
2015-01-06 19:21:34 +01:00
Juergen Spitzmueller
27a8abf768 Some casing fixes
English UI uses Title Casing for headers and sentence casing for normal widgets
2015-01-04 10:53:36 +01:00
Juergen Spitzmueller
3cd1d396ff Fix aspectratio UI
Fixes: #9357
2015-01-04 10:05:42 +01:00
Georg Baum
3f72a026cc Fix parsing of verbatim options (bug #9113)
Parser::verbatimOption() did swallow backslashes previously. The similar code
in Parser::verbatim_item() was already correct.
2015-01-03 20:45:06 +01:00
Georg Baum
b1bfbfb3f9 Adjust subfigure and subcaption options 2015-01-03 18:43:01 +01:00
Richard Heck
935646bf91 Cleanup of outliner moving code. 2015-01-03 11:33:11 -05:00
Georg Baum
1d4fb5ac7d Parse post command argument insets (bug #8473)
This is now very easy with the new InsetArgument infrastructure.
2014-12-30 18:37:08 +01:00
Georg Baum
d1e530cf5d Handle \textgreek commands from unicodesymbols
This is the second part of bug #8553: The symbols defined in unicodesymbols
are now detected correctly and converted to unicode, so no ERT anymore.
2014-12-30 18:12:35 +01:00
Georg Baum
bf1006a22c Fix misparsing of \textgreek without polyglossia
This is the first part of bug #8553. \textgreek was interpreted as the
polyglossia version even if polyglossia was not used. Now it is not recognized
at all and converted to ERT, but this ensures at least correct LaTeX output.
2014-12-30 17:44:08 +01:00
Georg Baum
33b059bd9d Make macro xhtml export more secure
Actually I wanted to do that in cc87f8100 but forgot to adjust the original
solution completely. Now we do not search for an arbitrary latexkeys instance
which just happens to have the same name as the macro, but we only use the
symbol that was explicitly set for global macros.
2014-12-30 13:30:40 +01:00
Georg Baum
b0361fb3c5 tex2lyx: Run configure.py if needed (bug #8539)
Since tex2lyx reads some LyX config files it needs to run configure.py if
they do not exist or are out of date.
2014-12-29 23:46:25 +01:00
Georg Baum
c1c439b94d Handle unknown table column specifiers (bug #9311)
Previously tex2lyx did ignore table columns if the column specifier was
unknown. This can lead to data loss, and now it does not ignore these columns,
but assumes that the column specifiers use only once character. This can still
lead to data loss, but less often.
2014-12-29 22:54:06 +01:00
Georg Baum
cd3b040a70 Write fixed encoding to LyX file (bug #9178)
If the user gave the -fixednec argument to tex2lyx then set that encoding as
LaTeX input encoding in the generated LyX file. Otherwise, included .bib files
could be interpreted using a wrong encoding.
2014-12-29 22:29:20 +01:00
Georg Baum
ff9b4a3834 Use new argument inset code for environments
This removes another instance of the limitation solved by file format 446:
The order of optional and required arguments is not fixed anymore.
2014-12-29 22:06:29 +01:00
Georg Baum
5bfd1c22d2 Skip missing optional argument insets in tex2lyx
Optional arguments are optional, so if one is missing, do not stop the parsing,
but continue with the next argument (it might be a required one).
2014-12-29 21:54:15 +01:00
Georg Baum
0a93c9b70f Store ASCII data in std::string
Math inset names and LaTeX requirements are always ASCII. This avoids some
conversions and makes math requirements more similar to text requirements.
2014-12-29 21:46:30 +01:00
Georg Baum
cc87f81002 Fix html export of \ne (second part of bug #9372)
The fix consists of two parts: The needed infrastructure to assign HTML
entities to global math macros, and the actual fix for \ne and \neq.
2014-12-29 21:13:42 +01:00
Stephan Witt
a88e6e1ea5 Add icon library to link target - needed on Mac OS X - thanks Kornel 2014-12-29 11:33:47 +01:00
Stephan Witt
74c9165190 whitespace again 2014-12-29 01:28:24 +01:00
Stephan Witt
2fbeb662b3 whitespace 2014-12-29 00:12:33 +01:00
Georg Baum
394e1bf99c Use std::regex if possible
It works with gcc >= 4.9.0 and clang (with libc++ or gcc libstdc++ from gcc
>= 4.9.0). The MSVC parg is missing, because I cannot test it, and the
autotools build still link against boost::regex even if it is not needed, but
I don't know how to fix that.
2014-12-28 18:08:18 +01:00
Georg Baum
dae8555234 Get rid of regex_constants::match_partial
As shown by the unit test this is not needed at all, even not for really
awkward input.
2014-12-28 17:46:33 +01:00
Georg Baum
449c766e03 Test invalid sanitizeLatexOption() input as well 2014-12-28 17:34:46 +01:00
Georg Baum
62ed0aeefb Use typedef for std::basic_string in trivstring
This fixes compilation for llvm-gcc-4.2 on OS X and makes the code a bit more
readable.
2014-12-28 17:06:34 +01:00
Kornel Benko
a50c0f2ab3 Add ExternalTransforms test also to cmake build 2014-12-28 14:20:17 +01:00
Georg Baum
1db9224cff Add unit test for sanitizeLatexOption()
This is a prerequisite for safe removal of regex::match_partial.
2014-12-28 13:23:35 +01:00
Georg Baum
59ab49846a Remove duplicated CMakeLists.txt from EXTRA_DIST 2014-12-28 13:20:20 +01:00
Georg Baum
9c375cb606 Add forgotten test to distribution 2014-12-28 12:53:18 +01:00
Georg Baum
e15d3d35cb Reduce caption hardcoding
Now we can handle all types of captions defined in layout files or modules.
This does also mean that \captionabove and \captionbelow are only recognized
in KOMA-classes and not always anymore, but this is correct, since these
captions would not work in other document classes anyway.
2014-12-27 18:15:07 +01:00
Georg Baum
eda5f69cc0 Revert e01886327d
Sorry, this was nonsense.
2014-12-27 17:03:39 +01:00
Georg Baum
e01886327d Output caption insets collapsed
Like all other collapsable insets, there is not reason to treat captions
specially.
2014-12-27 16:10:11 +01:00
Georg Baum
f4417e8125 Remove InsetArgument 999 workaround
Since we iterate through all arguments we can as well compute the correct id
directly.
2014-12-27 15:17:11 +01:00
Georg Baum
cb7ace9143 whitespace 2014-12-27 15:17:10 +01:00
Georg Baum
0c90821138 Parse starred InsetLayout correctly
Previously, an InsetLayout was not found if the LaTeX name was starred, e.g.
for "\caption*".
2014-12-27 15:17:10 +01:00
Georg Baum
614862fccc Move cjk check out of the loop
According to the indentation this was probably a merge error, and the check is
only needed once.
2014-12-27 15:17:10 +01:00
Georg Baum
2e5ecd9dfb Do not compile trivstring.cpp if not needed
This avoids a MSVC warning.
2014-12-27 15:17:10 +01:00
Georg Baum
16eb4f1ed7 Adjust tex2lyx InsetArgument to format 446
tex2lyx does now allow mixed order of required and optional arguments.
2014-12-27 15:17:09 +01:00
Enrico Forestieri
1b0cbb6932 Fix building with cmake on cygwin.
Add required libraries for the link stage.
2014-12-26 17:00:23 +01:00
Enrico Forestieri
9126a99e97 Fix bug #9217: [Qt5] QWindowsMime class not available
The support for QWindowsMime has been reintroduced in Qt 5.4.0.
The class name has been changed to QWinMime but the interface
is exactly the same.
2014-12-26 16:53:31 +01:00
Georg Baum
903917f3b8 Add tex2lyx test for KOMA-Script classes
In the future this test case should contain all KOMA-Script features.
Currently, it tests just \captionabove anmd \captionbelow.
2014-12-23 22:33:32 +01:00
Georg Baum
6f34a8a640 Get rid of tr1 support
As discussed on the list. We don't need it anymore, either we have a modern
compiler that supports C++11, or we fall back to boost. I kept and adjusted
the regex #define, since we cannot use std regex completely yet.
2014-12-23 22:18:08 +01:00
Stephan Witt
54b0fa330e Drop runtime support for OS X 10.5 NSSpellChecker 2014-12-23 18:19:27 +01:00
Georg Baum
bb87e0422a Revert parts of 7e69ac220d
This fixes the tex2lyx test test-refstyle-theorems.tex. It seems that the
intent of the fix was to remove a \protect in front of a \caption,
\captionabove or \captionbelow, but the implementation did not really do that.
Furthermore, it is not clear in which cases a \protect in front of a caption
needs to removed, and in which cases it needs to be kept: After looking at the
LyX sources I could not see that caprions are always output with \protect.
2014-12-22 21:32:45 +01:00
Jean-Marc Lasgouttes
e32a3e7f57 Reduce use of double variables in Row
All the code that is run before row metrics have been computed should use int arithmetic. After metrics have been computed, we still need doubles because fully justified rows use double for Row::Element::extra.

Rename Row::x to Row::left_margin and change its type to int.

Rename Row::Element::width() to full_width(). In some places of the code, use dim.wid (the int version without the extra separator) because metrics have not been computed.

Let Row::Element::x2pos take a int& argument instead of double&

Let Row::Element::breakAt take a int argument instead of double
2014-12-22 14:07:24 +01:00
Jean-Marc Lasgouttes
8bab23384a Fix the last clang warnings about overloaded virtual methods
This patch fixes a series of warnings like:
{{{
In file included from ../../master/src/mathed/InsetMathBoldSymbol.cpp:13:
In file included from ../../master/src/mathed/InsetMathBoldSymbol.h:15:
../../master/src/mathed/InsetMathNest.h:37:7: warning: 'lyx::InsetMathNest::metrics' hides overloaded virtual function [-Woverloaded-virtual]
        void metrics(MetricsInfo const & mi) const;
             ^
../../master/src/insets/Inset.h:186:15: note: hidden overloaded virtual function 'lyx::Inset::metrics' declared here: different number of parameters
      (2 vs 1)
        virtual void metrics(MetricsInfo & mi, Dimension & dim) const = 0;
                     ^
}}}
For a description of the problem, see for example:
http://stackoverflow.com/questions/18515183/c-overloaded-virtual-function-warning-by-clang

3 different strategies have been used:
 * in frontend, some functions have been renamed.
 * in InsetMath.h, Inset::write has been explicitly imported too
 * in InsetMathNest.h, since a comment said that hiding Inset::metrics is intended, a special trick has bee used to silence the warning.
2014-12-22 11:02:45 +01:00
Scott Kostyshak
625cea1528 Whitespace 2014-12-21 19:01:52 -05:00
Georg Baum
ed3b3afbe9 Make Converter class thread-safe
Again, this is used in a global list shared by all threads
2014-12-21 22:05:15 +01:00
Georg Baum
0af021878b Make Format class almost thread-safe
This is needed since all formats are stored in a global list which is shared
between threads, but never modfified except from the main thread.
The only missing bit is extension_list_, which is not so easy to do.
2014-12-21 21:40:25 +01:00
Georg Baum
90b1f084bf Improve C++11 support
If we compile in C++11 mode, do not use the boost replacements for bind,
functional and shared_ptr. regex is excluded, since it misses match_partial, and
gcc does not provide a usable one in versions less than 4.9.0.
I also removed the #define for match_partial, since this is dangerous. Now you
get a compile error instead of subtle runtime differences.
2014-12-21 20:22:16 +01:00
Juergen Spitzmueller
c9609fe56a Do not warn about changed modules when changing modules.
Part of #9356
Also fixes #9365
2014-12-21 19:10:13 +01:00
Georg Baum
c4613963fa Add missing using declarations
This fixes using std::tr1::regex for non-MSVC compilers.
2014-12-21 19:05:00 +01:00
Georg Baum
158b9a0e55 ::readlink() needs unistd.h
this is included in some gcc headers, but not in c++11 mode, that is the
reason why we did not get a compile error so far.
2014-12-21 18:13:33 +01:00
Georg Baum
7796ad3a36 Improve llvm libc++ detection
The old detection did only work if CFLAGS contained -std=c++11, since ciso646
was only included for __cplusplus > 199711.
Thanks to Koernel for the cmake part.
2014-12-21 17:26:21 +01:00
Juergen Spitzmueller
9b3e47fd87 Output package options before loading any package.
Fixes: #9355
2014-12-21 12:10:06 +01:00
Juergen Spitzmueller
740d9162c0 When switching classes, warn user about all unapplied document changes
Currently, this is limited to modules.

Part of #9356.
2014-12-21 11:49:08 +01:00
Juergen Spitzmueller
276fa4825d Do not silently dismiss unapplied document changes when adding module
Part of #9356
2014-12-21 11:47:59 +01:00
Juergen Spitzmueller
41c35476e5 Fix initialization order 2014-12-21 10:13:56 +01:00
Scott Kostyshak
15ae3eb85c Initialize recently added forceownlines_ bool
This adds on to the fix for #8875 (a25569eb).
2014-12-20 15:05:20 -05:00
Scott Kostyshak
6da7ee1be1 Whitespace 2014-12-20 15:03:40 -05:00
Georg Baum
d553938c92 Improve and unify error messages
Now the errors given for an unknown layout in copystyle and obsoletedby provide
the same information.
2014-12-09 21:20:56 +01:00
Georg Baum
c6b98a504f Make Encoding class thread-safe
Now all const methods may be called without additional locking.
This is assumed by the threaded LaTeX export, which always useses a globally
unique instance for each encoding.
2014-12-08 22:25:40 +01:00
Georg Baum
364e0f72c4 Fix invalid iterator access 2014-12-08 21:29:25 +01:00
Jean-Marc Lasgouttes
0bdfca2c6e \\subfloat captions are moving arguments
Therefore insets should be protected in these captions.

Fixes bug: #9346.
2014-12-08 09:43:49 +01:00
Juergen Spitzmueller
cfeddb9293 Add ObsoletedBy tag to InsetLayout
Fixes: #9000.
2014-12-08 09:08:45 +01:00
Georg Baum
5b336954d7 Try to fix compilation on cygwin 2014-12-07 20:43:47 +01:00
Georg Baum
0b30253f2b Fix compilation without trivstring 2014-12-07 20:39:31 +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
25344de51d Make Language and Encoding threadsafe
Read-only access to these classes is now threadsafe, with one exception:
The encoding neds to be already initialized (i.e. init() must not be called).
This makes bug 9336 unreproducable on my machine, although it is not completely
fixed yet.
2014-12-07 18:26:44 +01:00
Georg Baum
d5aaee1f6b Whitespace 2014-12-07 17:29:12 +01:00
Georg Baum
83bee109db Make trivstring class ready for use
The interface is now 100% unit tested, and the typedefs depend on the new
STD_STRING_USES_COW configuration variable. The only missing bit is to detect
clang and disable STD_STRING_USES_COW for clang.
2014-12-07 13:14:17 +01:00
Georg Baum
46f7b578b2 First version of trivstring class (bug #9336)
As discused on the list. This is not used yet, but it is intended to provide
thread-safe read-access without the need for synchronization if the used STL
implementation does not provide it for std::basic_string. This is the case for
all implementations using copy-on-write.
2014-12-07 13:14:17 +01:00
Juergen Spitzmueller
2614d5a386 Use appropriate (cheaper) conversion. 2014-12-07 13:06:29 +01:00
Uwe Stöhr
0d63bdfc16 tex2lyx/text.cpp: bring back a comment as discussed 2014-12-04 00:57:14 +01:00
Georg Baum
49af9db623 Remove unneeded typedef
docstring is already defined in strfwd.h (which is included from docstring.h).
There are only two possible cases:
Either the typedef in docstring.h defines an identical type (then it is not
needed), or it defines a different type (then it generates a compilation error)
=> it is not needed.
2014-12-03 21:08:13 +01:00
Juergen Spitzmueller
a25569ebb3 Add a layout tag ForceOwnlines that assures an inset is started and terminated by a line break in the LaTeX output.
Fixes: #8875.
2014-12-01 14:56:47 +01:00
Juergen Spitzmueller
e5e8bff75b corrected_env: use breakln instead of hardcoded linebreak 2014-12-01 14:45:11 +01:00
Uwe Stöhr
7e69ac220d tex2lyx: support for KOMA-script's \caption* commands
- To my knowledge tex2lyx supports now all caption constructs provided by LyX.
- InsetArgument is correct here, I therefore deleted the FIXME.
2014-12-01 02:57:12 +01:00
Georg Baum
208e67c7a7 Avoid implicit copy 2014-11-30 12:59:00 +01:00
Georg Baum
38d387d1ab Remove heavy includes 2014-11-30 12:52:01 +01:00
Georg Baum
06cfd26d5e Fix return value of CVS::toString() + cosmetics
CVS::toString() returns a docstring, so rather be explicit than relying on a
cast that not everybody understands how it works at first sight.
2014-11-30 12:41:49 +01:00
Georg Baum
e066dd6bd9 A stringstream is overkill here 2014-11-30 12:37:43 +01:00
Enrico Forestieri
11b7b7234e Fix bug #9342: LaTeX build get stuck for unconventional path name
The reason being that the TEXINPUTS path list was not quoted on Windows.
This was no problem with spaces but some special characters are
interpreted by the shell and can cause problems. In this particular
case, the '&' character was being interpreted as a command separator.
2014-11-27 21:59:09 +01:00
Jean-Marc Lasgouttes
38f8858671 Fix warnings reported by clang
All these problems have the same root: the address of a reference can never be 0, and it does not make sense to test it.
2014-11-27 19:10:43 +01:00
Georg Baum
2c5c2a6683 Better fix for bug #8679
Thanks to Enrico, who noticed that the previous fix did not take into account
the case of nonempty length argument + the next line beginning with [.
Now the parsing is exactly the inverse of InsetMathGrid::eolString().
2014-11-26 22:06:15 +01:00
Jean-Marc Lasgouttes
8d6d21c6d9 Add new variables lyx_build_date/time
These are now in version.cpp. The build machinery should therefore make sure
that version.cpp is recompiled at every compilation.

These variables are now referred to by the other places that made use of __DATE__ and __TIME__.
2014-11-25 18:58:35 +01:00
Uwe Stöhr
bfc4af2d01 tex2lyx/text.cpp: add missing part of a comment 2014-11-25 00:53:35 +01:00
Uwe Stöhr
1427b6fe31 tex2lyx: support for glue lengths in InsetSpace 2014-11-25 00:50:39 +01:00
Jean-Marc Lasgouttes
af1ca8405f Fix bug in 81badf: char_type and double do not have the same size 2014-11-24 22:51:12 +01:00
Jean-Marc Lasgouttes
0b09424017 Autotools: read git commit hash at compile time
Also do as cmake to avoid full recompilation when the hash changes.
2014-11-24 22:00:21 +01:00
Uwe Stöhr
489cdae255 tex2lyx: support relative lengths in \vspace and \hspace 2014-11-23 04:56:47 +01:00
Uwe Stöhr
c2e0f22385 tex2lyx/Preamble.cpp: add support for all \defskip lengths
- support for percentage length was missing and the fix is really that simple
2014-11-23 03:28:07 +01:00
Uwe Stöhr
02b2cd50ed tex2lyx/TODO.txt: \=*{char} is already supported by tex2lyx 2014-11-23 01:30:13 +01:00
Uwe Stöhr
d179ef455c tex2lyx/TODO.txt: the UGM fonts are already fully supported 2014-11-23 00:40:47 +01:00
Jean-Marc Lasgouttes
9b530e59c2 Let the Foot inset have a different Layout when inside a title
This allows to address two main issues
 * \thanks does only accept one paragraph, while \footnote allows several (ticket #2666)
 * footnotes in titling environments were not numbered on screen.

Moreover, the code reduces hardcoding of features, which is always a good thing.

There are several pieces in this commit:

 * new numbering type \fnsymbol for counters

 * the Foot inset changes its layoutName() to Foot:InTitle when inside a paragraph with InTitle property. This is set when running updateBuffer.

 * Foot:intitle uses the \thanks command, does not allow multiple paragraphs and marks its contents as moving argument.

 * The InsetLayouts for Foot now have properLaTeXName/Type, so that InsetFoot::latex can be removed; further code simplification is probably possible.

Fixes: #2666
2014-11-21 10:23:56 +01:00
Georg Baum
0385ef0e19 Fix unwanted curly braces in formula (bug #8679)
There was an unsymmetry between reading and writing: InsetMathGrid::eolString()
adds curly braces if the first cell of the next line starts with [ to prevent
misparsing as optional argument of \\. These braces were not removed on reading.
2014-11-20 22:05:05 +01:00
Uwe Stöhr
2a1ab8b6f0 tex2lyx/Preamble.cpp: whitespace fix
- revert unnecessary change from previous commit
2014-11-20 02:03:06 +01:00
Uwe Stöhr
5c9667d8b8 tex2lyx: support for the libertine fonts
- all libertine font variants are now supported
2014-11-20 02:01:05 +01:00
Georg Baum
a180414975 Fix viewer file paths on windows (bug #8892)
Some applications do not accept forward slashes, so call external viewers
and editors with backward slashes which is the usual convention under windows.
2014-11-19 22:47:36 +01:00
Georg Baum
5ea48e077b Show export message also for non-threaded export 2014-11-19 22:45:25 +01:00
Stephan Witt
f7418758ab use enchant exception message accessor 2014-11-18 22:06:27 +01:00
Georg Baum
f3370c3e6a Remove unneeded mutable keywords 2014-11-18 21:08:43 +01:00
Georg Baum
f7be88ce4c Make document_language non-mutable
The many occurances of the mutable keyword in LyX sources make it quite
difficult to understand what is really const and what not, and to debug
multithreading memory problems. In this particular case it is not needed
at all to have a mutable member, so make it non-mutable.
2014-11-18 20:51:21 +01:00
Stephan Witt
2992bb04da Add lookup for standard location of hunspell dictionaries of Debian packages 2014-11-18 08:56:23 +01:00
Stephan Witt
5c90303c0a Add diagnostic messages for enchant spell checker dictionary requests 2014-11-18 08:48:41 +01:00
Scott Kostyshak
937a52b64d Do nothing if converting to the same type of Note
The advantage is that the buffer will no longer be
marked as dirty when converting to the same type.

A quick break here is done instead of disabling the
LFUN because disabling the LFUN would lead to a greyed out
entry, which might confuse users. In the future, we might
want to have a radio button for switching between notes.
2014-11-17 19:47:37 -05:00
Georg Baum
e5845fea49 Fix memory error detected by valgrind
The assignment name = sub.str(1) reads from the first argument given to
regex_match(), but previously this was a temporary object which was already
out of scope. This did probably not matter much in practice, but invoked
undefined behaviour, and as we all know this is allowed ton format your hard
disk or kill to your cat, so better fix this.
2014-11-17 22:08:21 +01:00
Georg Baum
f146bded7a Document Buffer::preview() 2014-11-17 22:07:38 +01:00
Jean-Marc Lasgouttes
689e54f34a Make sure that UpdateLocker is used correctly in the future 2014-11-17 11:52:14 +01:00
Uwe Stöhr
e4fb40b284 symbols: support the AMS commands \l(r)v(V)ert
- fixes bug #3538
2014-11-16 23:09:28 +01:00
Georg Baum
4d3f9f3ede Make doExport() helper private
One declaration of doExport() was not used, and the other one was only used by
Buffer, so make it private since returning the exported file name is a bit
strange if it can also appear as input argument.
2014-11-16 20:51:42 +01:00
Georg Baum
9d8839f688 Clarify member variable documentation 2014-11-16 19:15:13 +01:00
Stephan Witt
941868e8d7 #9317 add method cleanDuplicateEnvVars() to correct the broken environment with duplicate PATH values passed by Yosemite's launchd(8) 2014-11-16 17:21:46 +01:00
Georg Baum
f110ef2f41 Convert updatelayouts.sh to python
This makes the script usable on windows and speeds it up by an order of
magnitude, since no new process needs to be forked for each layout file.
It also does not conevrt .old files again.
2014-11-16 12:43:52 +01:00
Georg Baum
e7a8f63e1b Fix typo 2014-11-16 12:40:23 +01:00
Richard Heck
df7b0eb61d Get rid of boost::noncopyable. 2014-11-14 23:40:27 +00:00
Georg Baum
0f2069b8a5 Fix recursive math macro crash (bug #9140)
This is different from bug #8999, since in this case a new macro instance is
created. You still get a TeX capacity exceeded error if you try to typeset the
exported document, but this is the same as for bug #8999 and better than a
crash.
2014-11-14 21:30:42 +01:00
Georg Baum
0bf8b8a1d2 Load footmisc.sty instead of using outdated code
This is a patch I originally sent to lyx-devel in 2012 with subject
'Load footmisc.sty instead of using copied code from obsolete stblftnt.sty'.
It now takes all comments into account: It works also if the user loads the
package herself, it can be disabled by providing the footmisc feature in a
layout, and it does not use the ugly \AtBeginDocument{}.
2014-11-14 20:20:35 +01:00
Uwe Stöhr
ff85a4902e mathed: bformat infoize messages
- should fix bug #1908
2014-11-14 18:18:30 +01:00
Jean-Marc Lasgouttes
81badf8550 Fix overflow of inset over text (see #9224)
The symptoms are the same as the original #9224, but the reason is different. In the new code, the width of justified rows includes the Row::separator value. Therefore the CRC computed in ParagrahMetrics::computeRowSignature is not updated in some cases.

The fix is to add Row::separator as one of the elements of the row crc.
2014-11-14 11:20:21 +01:00
Jean-Marc Lasgouttes
3cbdfa1762 Fix some glitches in inset-select-all
Fix a crash reported in #7727. This happened because cur.pos() was reset before cur.pit(). In this case, cur.lastpos() will usually be wrong.

Fix bad behaviour when selecting at top level with several paragraphs.

Update documentation.
2014-11-14 10:18:34 +01:00
Richard Heck
be4646c8ac Whitespace. 2014-11-12 00:01:45 +00:00
Georg Baum
5deaaa3b13 Fix memory errors found by Alfredo with valgrind
BufferParams::setDocumentClass() deletes the old document class of the buffer
and creates a copy of the new one. Therefore, the stored layout pointers in
the paragraphs (actually only one paragraph exists) are dangling afterwards.
Resetting them before setting the document class helps here.
In the long term we need to get rid of BufferParams::setDocumentClass()
completely, this is very ugly.
2014-11-11 20:57:25 +01:00
Georg Baum
8f93600d3f Prevent accidental usage of wrong copy constructor 2014-11-11 20:57:25 +01:00
Uwe Stöhr
ec84cbfb44 tex2lyx: support for \item with opt arg in itemize environment 2014-11-11 01:20:03 +01:00
Uwe Stöhr
20cfef458f tex2lyx/TODO.txt: update file and add information 2014-11-11 01:06:51 +01:00
Jean-Marc
093a1fe14c Fix inset-select-all for insets with multiple paragraphs 2014-11-10 11:56:21 +01:00
Uwe Stöhr
9eae2b141d test-insets.lyx.lyx: forgot to commit this in r471889e0 2014-11-10 03:34:01 +01:00
Enrico Forestieri
29cebc7fb0 Fix CAS computation of a selected subformula.
Invoking a computer algebra system program for computing a selected
subformula has never worked (checked with all LyX versions back to 1.3)
and, moreover, in the presence of a selection things go awry.
This commit allows this computation by replacing the selected
subformula with the result of the computation.
2014-11-09 21:57:29 +01:00
Kornel Benko
07683c1f0d Cmake build: 'callstack printing' detection.
Instead of depending on compiler we try to check for working
API as is done now for automake build too.
2014-11-09 12:59:14 +01:00
Enrico Forestieri
9f613a5f7e Fix issue with CAS.
See http://thread.gmane.org/gmane.editors.lyx.devel/153516
This regression was due to a thinko in [43f6b167/lyxgit].
2014-11-09 02:19:00 +01:00
Scott Kostyshak
73a7bf9dad Recommit clearing of empty selections in GuiView
A similar fix was reverted (453ce611) because of crashes.
The crashes occurred simply because of a failed check that
we have a buffer view before using it. That is now done in
this commit.

The below commit description is copied from the original
commit (fb05011a):

Empty selections can cause confusing behavior for a few reasons:

(1) some functions behave differently depending on whether there is a
selection. If I press delete, nothing happens (where I expect the
character or inset before the cusor to be deleted). If I toggle bold or
emphasize nothing happens (where if there is no selection the entire
word is toggled). There are other LyX functions that depend on whether
there is a selection or not. Further, I wonder if any part of LyX's code
assumes that if there is a selection it is non-empty.

(2) menu options are incorrectly set. For example, the scissors icon.

For remaining empty selection issues, see #9222.

For more information, see:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg184758.html
2014-11-07 20:47:55 -05:00
Uwe Stöhr
73f2b01678 tex2lyx: support for bibtopic
can also go to branch
2014-11-07 03:29:53 +01:00
Uwe Stöhr
471889e0db tex2lyx/text.cpp: support for \nameref
\nameref is not recognized

should be backported to branch
2014-11-07 01:58:06 +01:00
Uwe Stöhr
b119f849d7 tex2lyx/Preamble.cpp: support 2 math fonts
- support for kurier and iwona as math font
can also go to branch
2014-11-07 01:28:42 +01:00
Uwe Stöhr
af8ba5e069 InsetFootlike.cpp: disable listings inside footnotes
fixes bug #9321
2014-11-04 23:44:10 +01:00
Enrico Forestieri
d1858b89d0 Fix bug #9319: Problems with space inside math and textrm. 2014-11-04 21:36:10 +01:00
Enrico Forestieri
77b0452a30 Fix bug #7970: space disappears from equation when reopening LyX file. 2014-11-04 21:30:49 +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
Jean-Marc Lasgouttes
e52a385493 Reimplement inset-select-all in a generic way
There are 3 possible actions (in order)
* select current cell
* select all calls of inset
* select the inset from outside (in the containing inset)

This fixes completely #7727.
2014-11-01 16:54:23 +01:00
Jean-Marc Lasgouttes
c559f85ccb Fix wrong test: boolean variable is never negative
This has been spotted by clang++.
2014-11-01 16:06:08 +01:00
Richard Heck
1f45e6527a Do not truncate references in outline pane (bug 9312). 2014-10-30 18:39:58 -04:00
Richard Heck
07079e7da3 Improve debugging output. 2014-10-27 18:28:33 -04: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
Richard Heck
8b57600a1c Fix warnings. 2014-10-27 10:42:03 -04:00
Richard Heck
f454bf931b Whoops. Forgot to add before amending commit. 2014-10-26 13:02:49 -04:00
Richard Heck
452a7a500c Make static variables used in DocBook output thread-safe. 2014-10-26 13:01:48 -04:00
Richard Heck
de3daf040b Sort debug options in the message pane by string. This makes it
much easier to find what you need, especially when we're trying
to help users. Previously, they were sorted by their enum values.
2014-10-26 12:49:04 -04:00
Enrico Forestieri
498ab8ff23 Tweak the shape of the parbreak separator.
The shape of the parbreak separator is slightly changed in order to
better distinguish it from the forced newline. This allows using the
same color of the plain version without risk of confusion.
2014-10-25 23:38:52 +02:00
Stephan Witt
f8c964d080 Check the correct macro for conditional include of lyx_commit_hash.h 2014-10-24 18:12:58 +02:00
Kornel Benko
71088f5b1c Forgot this file in the last commit 2014-10-24 17:29:12 +02:00
brokenclock
11e679f73e Add LFUN_SERVER_GET_STATISTICS command
This function can be used with the LyX server to obtain the word, character or character+space count in the current document or selection.
2014-10-23 16:06:42 +02:00
Stephan Witt
16e979298e #9130 Text in main work area isn't rendered with high resolution
Constify splash image coordinates
2014-10-21 13:48:14 +02:00
Stephan Witt
84e6b98562 #9130 Text in main work area isn't rendered with high resolution
Draw version string to splash image with correct position and size
2014-10-20 17:37:12 +02:00
Stephan Witt
345ec48ed3 #9130 Text in main work area isn't rendered with high resolution
Search high resolution images only when application has detected high resolution screen
2014-10-20 17:15:23 +02:00
Stephan Witt
aabc20fde8 Repeat the Mac menu bar init for Qt5 only on Mac 2014-10-20 14:22:45 +02:00
Jean-Marc Lasgouttes
2737f82139 Fix bug #9288: Cannot position cursor near the end of a line.
The problem was that some parts of the code assume that the right margin is part of the width of the row. This is not the case, only the left margin (Row::x) is counted.

The code has been fixed and documented to reflect this.
2014-10-19 15:38:38 +02:00
Stephan Witt
a09eaf448c Add Qt-version info to LyX version string when a git repository is present. 2014-10-18 16:06:33 +02:00
Stephan Witt
2dfb45f91b #9130 Text in main work area isn't rendered with high resolution
Assign the pixelRatio of the application to the buffer of the work area.
2014-10-18 15:52:43 +02:00
Stephan Witt
4d51ad339f #9130 Text in main work area isn't rendered with high resolution
Load images with search mode check_hidpi to read images with double size when present.
2014-10-18 15:50:22 +02:00
Stephan Witt
54a742382c #9130 Text in main work area isn't rendered with high resolution
Make QT_VERSION check for Qt5 matching Qt5.0.0 too.
2014-10-18 15:48:18 +02:00
Stephan Witt
8829eeed04 #9130 Text in main work area isn't rendered with high resolution
Assign the pixel_ratio of graphics params to the Qt pixmap of the image.
2014-10-18 15:46:17 +02: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
Stephan Witt
82904d4603 #9130 Text in main work area isn't rendered with high resolution
Add pixel_ratio to graphics params to use it for displays with high resolution.
It holds the ratio between physical pixels and device-independent pixels of the graphics.
2014-10-18 15:26:49 +02:00
Stephan Witt
e7163a0999 #9130 Text in main work area isn't rendered with high resolution
Add search mode check_hidpi to ease the lookup for images with double size to use for displays with high resolution.
2014-10-18 15:19:47 +02:00
Stephan Witt
9135dcee07 #9130 Text in main work area isn't rendered with high resolution
Introduce the concept of pixel ratio: the ratio of physical and device independent pixels.
This is useful for rendering of content on Retina-displays of Mac hardware with high resolution.
Qt has real support for this starting with Qt5 - therefore it has to be compiled conditionally.
This change uses some work of Marcelo Galvão Póvoa, thank you.
2014-10-18 11:53:16 +02:00
Richard Heck
2ca21d2c15 Update comment. 2014-10-16 16:50:03 -04:00
Richard Heck
080a4d84e2 Fix bug #9296. The key may be multiple keys. 2014-10-16 16:31:03 -04:00
Jean-Marc Lasgouttes
f58d9f27a2 Erase correctly math multi-cell selection
What a selection spans several cells in mathed, and a deletion occurs though LFUN_CHAR_DELETE_FORWARD for example, only the case of a proper grid was handled. When no such grid exists, all cells between the first and the last index are cleared now.
2014-10-16 16:16:15 +02:00
Jean-Marc Lasgouttes
ac018bd8db Fix ticket #9224: text overflows through adjacent insets
The logic of Row::shortenIfNeeded is completely changed to look at the row from the start and not the end. This leads to clearer code.
2014-10-16 14:53:54 +02:00
Scott Kostyshak
5636906aee No space after inline math for text export (#9282)
This extra space was the result of the fix for #6094
(at 7e624928).
2014-10-15 19:21:18 -04:00
Scott Kostyshak
3b96c6e901 Remove line in text export of inline math (#9282)
If there is only one row, a new line should not be appended. If
there is more than one row, the new line should not be appended for
the last row.

For example, if in LyX there was "as you can see in $x$ there..." a
copy/paste would lead to a newline after "x".
2014-10-15 19:18:46 -04:00
Alfredo Braunstein
8f821dba70 Rewrite of change-related helpers
lyxfind.cpp(findNextChange, findPreviousChange, findChange, selectChange): factor the change-selection part out of the change-finding part
Text.cpp (acceptOrRejectChanges): call only selectChange
2014-10-14 17:40:44 +02:00
Alfredo Braunstein
b2246c4ea2 insets/InsetTabular.cpp (doDispatch): fix to #9291. The problem was simply that the default status for the cursor in the call to *::doDispatch is "dispatched".
insets/InsetTabular.cpp (edit): do not reset the selection
2014-10-14 12:04:19 +02:00
Jean-Marc
82ab83080f Whitespace only 2014-10-13 22:44:30 +02:00
Alfredo Braunstein
866fc2afcc mathed/InsetMathHull.cpp (InsetMathHull::doDispatch): do not declare LFUN_FINISHED_* lfuns as undispatched after handling them
Fixes #9289, and an unreported cousin of #3900
2014-10-12 11:07:28 +02:00
Alfredo Braunstein
25cf12d650 Text2.cpp (checkAndActivateInset, checkAndActivateInsetVisual): activate insets on selection if the anchor is inside the inset.
insets/InsetText.cpp (InsetText::edit): do not reset the selection
Fixes #2346.
2014-10-12 10:07:18 +02:00
Alfredo Braunstein
ec269c2000 Whitespace 2014-10-11 23:28:15 +02:00
Stephan Witt
68d217df49 Mac menu bar init has to be repeated for Qt5 after clearing the menu 2014-10-11 12:39:08 +02:00
Jean-Marc Lasgouttes
8ecb96c09a Add the git commit (if applicable) to LyX version
This only works for autotools right now, but adding that to cmake is trivial
2014-10-10 12:12:17 +02:00
Jean-Marc Lasgouttes
d605048b5c Fix ticket #9276: Labeling cursor off by several characters
The length of STRING row elements is not updated until finalizeLast() is called.
2014-10-09 22:09:33 +02:00
Juergen Spitzmueller
db2044dc14 Fix key code 2014-10-08 10:57:58 +02:00
Stephan Witt
ce57594afd Remove Qt4 artifacts in comments 2014-10-01 10:06:17 +02:00
Uwe Stöhr
96ca121fc9 LaTeXFeatures.cpp: fix bug #9266
mhchem loads amsmath and needs therefore be loaded after it but before packages that redefine commands of amsmath. We already take care of esint but not of wasysym
2014-09-10 22:01:29 +02:00
Kornel Benko
5a6020ea15 Update file formats of test files 2014-09-04 12:14:47 +02:00
Kornel Benko
90717df577 Cmake tex2lyx tests: Take care of initialized userdir
If we are testing tex2lyx the first time, then the userdir
is empty. We call now configure.py to initalize in case it is needed.
The algorithm to detect if reconfigure is needed mimics the lyx behaviour.
2014-09-03 21:21:05 +02:00
Stephan Witt
bf581924c9 Fix possibly uninitialized use of variables 2014-09-03 00:07:26 +02:00
Juergen Spitzmueller
d9b87d651a Fix bug with wrong baseline calculation in last paragraph (2nd attempt)
This time, we consider the cases where a \par is not wanted (single-par insets, tabular cells).

Fixes: #9231
2014-09-01 09:14:26 +02:00
Kornel Benko
08fa62396b Add some missing files to autoconf's dist 2014-08-31 15:23:28 +02:00
Kornel Benko
6c7b5b12c7 Add cmake files to autoconf's dist 2014-08-31 15:21:20 +02:00
Juergen Spitzmueller
87eb430395 Add support for todonotes package
Fixes: #7546
2014-08-31 14:49:30 +02:00
Juergen Spitzmueller
ccdd782b4f Add support for the fixme package.
Fixes: #8868
2014-08-31 14:38:28 +02:00
Juergen Spitzmueller
9a702f195d Add support for beamer lemma environment.
File fomat change.
2014-08-31 12:30:14 +02:00
Enrico Forestieri
90b6920083 Fix export of xfig external insets (bug #9244).
The check for a latex format is very fragile. Both libmagic and our
guessing from contents cannot distinguish the pstex and pdftex formats
used by the xfig external inset. Moreover, it may also happen that
lyx files are mistaken as latex ones. Thus, when the guessed format
is latex, the only solution is to give precedence to the format
determined by the file extension.
2014-08-29 10:42:16 +02:00
Juergen Spitzmueller
9c05f221f9 Revert "Fix bug with wrong baseline calculation in last paragraph"
This reverts commit b555f31a34.
2014-08-28 08:38:27 +02:00
Peter Kümmel
ada262a78b print callstack on assert 2014-08-27 19:48:42 +02:00
Stephan Witt
0d6f17afe2 More careful NSAutoreleasePool management 2014-08-26 08:22:12 +02:00
Stephan Witt
3aa428fdea #9245 replace Q_WS_MACX with Q_OS_MAC - the Q_OS_MAC macro is usable with Qt4 and Qt5. 2014-08-25 20:08:59 +02:00
Enrico Forestieri
4521fc757b Replace Q_WS_WIN with appropriate guards to account for Qt5.
This commit replaces almost all occurrences of Q_WS_WIN to comply
with Qt5. The remaining occurrences should *not* be replaced,
because the guarded code won't compile on Qt5.
2014-08-25 19:27:45 +02:00
Enrico Forestieri
565260126e Fix the -geometry command line argument for Windows.
The command line argument -geometry WIDTHxHEIGHT±XOFF±YOFF
specifies a preferred size and location for the main window.
Currently, this is semi-broken on Windows. Indeed, only
specifying WIDTH and HEIGHT places the main window such that
the left and top borders are invisible such that the window cannot
be moved. Moreover, the XOFF and YOFF parts (when present) are
used to specify the distance of the window from the left and top
or right and bottom edges of the screen, when using '+' or '-',
respectively. However, -geometry 800x600-20-20, instead of placing
the window such that its bottom and right edges are at a distance
of 20 pixels from the corresponding screen edges, places the
window such that its left and top borders are out of the screen.
This is corrected by this commit, which also addresses the fact
that Qt5 does not define Q_WS_WIN anymore.
2014-08-25 18:35:15 +02:00
Richard Heck
a5c4ccfd26 Add a debugging message. 2014-08-25 11:14:27 -04:00
Uwe Stöhr
94a9c127e3 support for the LaTeX commands \x***arrow
- this patch supports the \x***arrow commands provided by the mathtool package
- fileformat change
2014-08-25 00:44:09 +02:00
Stephan Witt
5af8238700 Reintroduce some class definitions. 2014-08-24 21:40:40 +02:00
Stephan Witt
3218d32ace Remove superfluous class definitions. 2014-08-24 20:32:01 +02:00
Stephan Witt
f73091228c Remove special GlobalMenuBar class. As Patrick De Visschere pointed out it is not needed. The shortcut handling of Qt does it internally now what GlobalMenuBar was made for. 2014-08-24 20:29:52 +02:00
Stephan Witt
fad67d64ac FSPathMakeRef is deprecated: use LSOpenFromURLSpec instead of LSOpenFromRefSpec 2014-08-24 12:49:34 +02:00
Stephan Witt
6cbaad9398 Correct the method signature of MenuTranslator::translate for Qt5 2014-08-23 16:01:03 +02:00
Richard Heck
6490cdafbe Make BiblioInfo::collectCitedEntries private (since it can be),
and fix a comment referring to it.
2014-08-22 11:18:10 -04:00
Stephan Witt
d1bfad86e5 Use QProxyStyle instead of QMacStyle. QMacStyle is not available anymore with At5 and QProxyStyle is present since Qt4.6 as an alternative 2014-08-22 11:17:34 +02:00
Peter Kümmel
6407d45a69 fix coding style
(should have read ml first)
2014-08-16 07:27:00 +02:00
Peter Kümmel
39911dfe2b build test_Layout test 2014-08-16 06:55:32 +02:00
Richard Heck
54c2ab2732 Possible fix for the mystery crash, which is bug #9049.
Investigation of bug #9236 showed that crash to be due to a Paragraph's
holding a dangling pointer to an old and deleted Layout after the
DocumentClass was reset. Since the backtraces look almost identical, it
seems likely that we have the same problem here.

Since this crash seems almost always to involve tables, I looked at the
code in switchBetweenClasses() and found that the Paragraphs that belong
to "hidden" table cells are not seen by the initial recursion using a
ParIterator: It skips right over them. This was confirmed by test code
suggested by Enrico, with results reported in Trac.

The present patch attempts to deal with this problem in the second
recursion, over Insets. When we see an InsetTabular, we call a new
routine that recurses through the cells, looking for hidden ones. If it
finds a hidden one, it then resets the Layout for the cell's Paragraphs
(there should be only one, but we do not make any assumptions) to the
PlainLayout that belongs to the new DocumentClass. This is good enough,
since such cells never have content.

There is extensive discussion of the patch here:
  https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg185095.html
Additional testing by Enrico and me confirmed the existence of the
dangling pointer.
2014-08-15 10:44:37 -04:00
Richard Heck
88ce7bd5d4 Update comments. 2014-08-12 15:44:15 -04:00
Richard Heck
96d75db418 Little bit of cleanup. 2014-08-12 13:13:47 -04:00
Richard Heck
dd0f71e5fe Make the constructor of the singleton class LayoutFileList private. 2014-08-12 12:49:17 -04:00
Richard Heck
b9fe1dd10b Use a const ref here. Guess it was a thinko when I did it. 2014-08-12 12:32:58 -04:00
Kornel Benko
49efd1933a Cmake build: Move use of QT5 libraries to the end of linker command line.
To prevent the linker error if they were before some object file referencing
some symbol there.
2014-08-11 21:30:21 +02:00
Richard Heck
3a78422782 Add some comments about the behavior of cellInset and cellIndex. 2014-08-09 13:13:10 -04:00
Richard Heck
c2fdbbe01a Fix bug #9236: After we recreate the DocumentClass, we have to apply
it to the document.
2014-08-07 15:13:31 -04:00
Enrico Forestieri
39492b0cd7 Do not allow copying a separator without a following par end.
This makes virtually impossible copying a separator inset whithout
also copying the end of paragraph. These insets are not supposed to
be directly inserted by users. For example, the parbreak version
represents a LaTeX paragraph break, not a LyX one. So, if it is
possible to copy and paste it by alone, an unsespecting user may be
surprised to see a paragraph break in the output but not on the LyX
screen (because of the lack of indentation, for example).
In this way, it also becomes a LyX par break from a user point of
view, not any more useful than simply introducing a par break by
hitting <return> (except in those cases where it makes a difference,
in which case they are automatically inserted by LyX).
2014-08-06 02:21:18 +02:00
Scott Kostyshak
453ce61191 Revert "Clear empty selections in GuiView after dispatch"
This reverts commit fb05011ad0,
which lead to various menu-related crashes, such as when
going to Help > About.
2014-08-03 19:20:56 -04:00
Juergen Spitzmueller
b555f31a34 Fix bug with wrong baseline calculation in last paragraph
Fixes: #9231
2014-08-03 11:26:16 +02:00
Jean-Marc Lasgouttes
37fd7b24ba Use enum instead of int in TextMetrics::getAlign
This is just a code cleanup, no (intented) effect.
2014-07-29 11:05:14 +02:00
Jean-Marc
f29e78039d More tweaking of boundary setting at end of row 2014-07-28 23:31:32 +02:00
Jean-Marc
46ee67995d Fix display of cursor at end of row
The particular case here is:
* the last element of the row is an inset
* the row is broken by a display inset.
2014-07-28 22:03:57 +02:00
Jean-Marc
fca332bace Rename FontSpan::inside(pos) to contains(pos) 2014-07-28 20:42:01 +02:00
Scott Kostyshak
4843618655 Disable branches insert menu if read only 2014-07-28 12:59:35 -04:00
Scott Kostyshak
0bf61a48c0 Disable custom insets insert menu if read only
Before, if a document was read only and had no custom insets
defined, the submenu would be enabled.
2014-07-28 12:59:34 -04:00
Scott Kostyshak
d449e7e64e Submenus now expand even if all items are disabled
As stated in the Apple HIG[1] (via JMarc):

  Ensure that a submenu’s title is undimmed even when all its commands
  are unavailable. As with menu titles, it’s important for users to be
  able to view a submenu’s contents, even if none of them are
  available in the current context.

[1]
https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/Menus/Menus.html#//apple_ref/doc/uid/TP30000356-TP6
2014-07-28 12:59:34 -04:00
Scott Kostyshak
fb05011ad0 Clear empty selections in GuiView after dispatch
Empty selections can cause confusing behavior for a few reasons:

(1) some functions behave differently depending on whether there is a
selection. If I press delete, nothing happens (where I expect the
character or inset before the cusor to be deleted). If I toggle bold or
emphasize nothing happens (where if there is no selection the entire
word is toggled). There are other LyX functions that depend on whether
there is a selection or not. Further, I wonder if any part of LyX's code
assumes that if there is a selection it is non-empty.

(2) menu options are incorrectly set. For example, the scissors icon.

For remaining empty selection issues, see #9222.

For more information, see:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg184758.html
2014-07-28 10:37:08 -04:00
Jean-Marc Lasgouttes
f9caebd29f Fix compilation warnings on windows. 2014-07-28 09:46:13 +02:00
Jean-Marc Lasgouttes
7f7dc5d314 Whitespace 2014-07-26 16:29:23 +02:00
Jean-Marc Lasgouttes
8fb1aa51f8 Whitespace only 2014-07-25 22:40:48 +02:00
Jean-Marc Lasgouttes
5e126d2920 Whitespace only 2014-07-25 22:36:20 +02:00
Kornel Benko
5acc6b3791 Make it compilable under cmake again after the merge from str-metrics 2014-07-25 22:03:59 +02:00
Jean-Marc Lasgouttes
b54deb3683 Rename rowpainter.* to RowPainter.*
This is the convention for files that define classes.
2014-07-25 21:55:08 +02:00
Jean-Marc
41740ea915 Merge remote-tracking branch 'features/str-metrics'
This branch implements string-wise metrics computation. The goal is to
have both good metrics computation (and font with proper kerning and
ligatures) and better performance than what we have with
force_paint_single_char. Moreover there has been some code
factorization in TextMetrics, where the same row-breaking algorithm
was basically implemented 3 times.

Globally, the new code is a bit shorter than the existing one, and it
is much cleaner.  There is still a lot of potential for code removal,
especially in the RowPainter, which should be rewritten to use the new
Row information.

The bugs fixed and caused by this branch are tracked at ticket #9003:
http://www.lyx.org/trac/ticket/9003

What is done:

* Make TextMetrics methods operate on Row objects: breakRow and
  setRowHeight instead of rowBreakPoint and rowHeight.

* Change breakRow operation to operate at strings level to compute
  metrics The list of elements is stored in the row object in visual
  ordering, not logical. This will eventually allow to get rid of the
  Bidi class.

* rename getColumnNearX to getPosNearX (and change code accordingly).
  It does not make sense to return a position relative to the start of
  row, since nobody needs this.

* Re-implement cursorX and getPosNearX using row elements.

* Get rid of lyxrc.force_paint_single_char. This was a workaround that
  is not necessary anymore.

* Implement proper string metrics computation (with cache). Remove
  useless workarounds which disable kerning and ligatures.

* Draw also RtL text string-wise. This speeds-up drawing.

* Do not cut strings at selection boundary in RowPainter. This avoids
  ligature/kerning breaking in latin text, and bad rendering problems
  in Arabic.

* Remove homebrew Arabic and Hebrew support from Encoding.cpp. We now
  rely on Qt to do handle complex scripts.

* Get rid of LyXRC::rtl_support, which does not have a real use case.

* Fix display of [] and {} delimiters in Arabic scripts.
2014-07-25 20:10:55 +02:00
Jean-Marc
1fefbf5bdc Fix bad use of undo kind in Tabular inset. 2014-07-25 20:03:42 +02:00
Jean-Marc
6ee39ff90a Fix logic error for spacing of RTL rows
The code referred to vpos (the visible position) instead of pos, the logical one.
This can lead to using the wrong font when computing spaces width.
2014-07-25 19:59:37 +02:00
Jean-Marc
3599285019 Fix display of parenthesis in arabic
Actually the workaround that is used to show parenthesis in the right direction
is not needed any more, since this is part of the unicode bidi writing algorithm.

This fixes at the same time the use of [] or  as delimiters in arabic, which was wrong on screen.

Note that there is a problem with hebrew, but this will require a fileformat change.
2014-07-25 19:59:37 +02:00
Jean-Marc
f4fc035cf6 Better algorithm for forcing bidi drawing
The use of RLO/LRO overrides to force text orientation was really hackish and the way it was done caused dropped letters in Mac OS X (for some unknown reasons).

This new approach is much cleaner, except that it relies on features not advertised in documentation
but present at least from Qt 4.5 to Qt 5.3:
* TextFlag enum values TextForceLeftToRight and TextForceRightToLeft, which are strong versions
  of QPainter::setLayoutDirection; they are passed as a parameter of QPainter::drawText.

* QTextLayout::setFlags method, which is required to pass the above flags to QTextLayout.

The unicode override method is still used to draw strings Mac OS X because, for some reason, the direction was not really enforced in this case.
2014-07-25 19:56:51 +02:00
Kornel Benko
63976066ad avoid qt4 variable names in cmake build 2014-07-21 08:49:05 +02:00
Jean-Marc Lasgouttes
bbe6e9f593 Revert optimization where several words are drawn at the same time
This can only be done where splitting of string is identical in row breaking and display. It will be possible to reintroduce this when row painting uses the tokenized row information.
2014-07-20 18:54:31 +02:00
Enrico Forestieri
4bdeae2733 Update autotools for building with Qt5.
The option --enable-qt5 allows configuring for Qt5. The default is Qt4.
Nothing special is done with respect to Qt4, apart from pulling in the
correct libraries. Indeed, other than the core and gui libraries, now
also the concurrent and widgets libraries are needed.
2014-07-19 03:34:28 +02:00
Enrico Forestieri
4342411297 Fix build on FreeBSD.
Notified by Raphael Kubo da Costa.
2014-07-16 22:28:46 +02:00
Enrico Forestieri
294d08b1bf Add forward search command for qpdfview.
Also update docs explaining how to activate reverse search in qpdfview.
2014-07-13 20:08:43 +02:00
Enrico Forestieri
2af17f8f89 Revert 6a5aa1ca
That commit is obsoleted by 5bd14af8.
2014-07-12 19:52:12 +02:00
Enrico Forestieri
5bd14af887 Fix bug #9193: Spacing modification not exact
The conversion from floating point to string performed by
boost:lexical_cast does not allow specifying a precision and,
for example, values such as 0.9 are resturned as 0.899999976.
The standard C++ way for performing the conversion is using
std::ostringstream which is exempt from this problem, even if
less efficient. For the sake of accuracy, boost::lexical_cast
is ditched in favor of the ostrinsgstream implementation.
In C++11 another option would be using std::to_string, but I
think it is not as efficient as the boost way and not worth
implementing through #ifdef's.
Incidentally, this patch would have also fixed #9190 and all
similar cases involving the use of convert<string>(float|double).
2014-07-12 19:12:08 +02:00
Enrico Forestieri
b3735501c7 Fix compatibility issue with 64-bit cygwin. 2014-07-11 16:49:10 +02:00
Enrico Forestieri
6a5aa1cab1 Fix scale parameter for fonts.
When a font is scaled by a certain percentage in the document settings,
LyX was outputting a ridiculous parameter value. For example, if the
font is scaled 90%, the corresponding parameter was "scaled=0.899999976".
The patch avoids this and, in the previous case, one gets "scaled=0.9".
This is not only cosmetic, because in roundtrip conversions the parameter
would be continuosly changing.

This commit and b60b505f should be backported to the 2.1.x branch, where
reimporting with tex2lyx an exported document produces wrong results
(also in version 2.1.0).
2014-07-11 16:12:08 +02:00
Enrico Forestieri
b60b505fd8 Fix import of latex documents with scaled fonts. 2014-07-11 11:21:45 +02:00
Enrico Forestieri
60a1b3b83c Fix make check. 2014-07-11 11:14:02 +02:00
Georg Baum
98fc5e518f Support new languages in tex2lyx
I forgot that this was part of the file format update as well.
Also fix a mixup of "english" and "uppersorbian".
2014-07-10 22:15:34 +02:00
Georg Baum
1a073ea416 Missing file format bis from 0c3b88e3 2014-07-10 21:59:17 +02:00
Jean-Marc Lasgouttes
45eb314a86 Get rid of rtl_support preference
This variable was introduced to guard against any bad consequence of the then-new right-to-left
languages support. Let's be bold and get rid of it altogether!

Now right to left support is always enabled.
2014-07-09 21:11:08 +02:00
Jean-Marc Lasgouttes
9d5c947110 Remove LyXRC option force_paint_single_char
It was not honored anymore.
2014-07-08 23:12:09 +02:00
Jean-Marc Lasgouttes
4bd5a7e883 Move some text from the readme file to relevant source files 2014-07-08 21:30:06 +02:00
Jean-Marc Lasgouttes
f3924a52b3 Reintroduce the code related to InsetEnvSeparator
This commits (tries to) reintroduce properly the code that was reverted at the beginning of this branch. This had to be done because these patches interefered with the big refactoring of TextMetrics.cpp.

This commit reintroduces the changes to TextMetrics.cpp contained in c668ebf6, c85dbfea9 and 061509bf.
2014-07-08 21:30:06 +02:00
Jean-Marc Lasgouttes
d6337a2488 Remove obsolete code to handle Hebrew and Arabic characters
This is handled by Qt now.

Note that a small optimization (do not draw text that is to the left
of WorkArea) is removed because it cannot be guaranteed to be exact
anymore. It was probably not very useful anyway, and would become
useless once the RowPainter is rewritten to use Row information.

Update 00README_STR_METRICS_BRANCH.
2014-07-08 21:30:06 +02:00
Jean-Marc Lasgouttes
ec42b2e4c9 Do not split words at selection boundary
The display of partially-selected word is now done in a new Painter::text method
which displays the string twice with different clip settings. This allows to
catter for the case where Color_selectiontext is not black.

Morover, the code that uses unicode override characters to force the
direction of a string is moved to lstrings.h.

Fixes: #9116
2014-07-08 21:30:06 +02:00
Jean-Marc Lasgouttes
e1c4cb7146 Fix breaking of loooong word in RTL languages
Moreover, breaks row at insets when there is no suitable separator.

Also make the code of Row::shorten_if_needed somewhat simpler by using
iterators and factoring the code.

Fixes: #9120
2014-07-08 21:30:05 +02:00
Jean-Marc Lasgouttes
2ff639a0e6 Fix positionning of cursor
The old implementation of Row::Element::pos2x and x2pos did not work
correctly with Arabic text, because characters can have shapes that
depend on context.

This new implementation leverages QTextLayout in a simplified way,
since only one word is added to the layout.

This allows to make Row::Element::x2pos more readable.

Fixes: #9115.
2014-07-08 21:30:05 +02:00
Jean-Marc Lasgouttes
4176795e72 Remove support for LyXRC::force_paint_single_char
This workaround is not necessary anymore, and it complicates the code.

The variable itself will be removed after the landing of the branch on
master.
2014-07-08 21:30:05 +02:00
Jean-Marc Lasgouttes
b0543270a9 Remove debug code from TextMetrics
After this, it is possible to remove one parameter to getPosNearX.
2014-07-08 21:29:52 +02:00
Jean-Marc Lasgouttes
7734270163 Speed-up drawing when text is not justified.
Do not cut strings at separators in RowPainter when text is not
justified. This speeds-up painting by reducing the number of strings
to draw.

Do also a modest cleanup of paintChar (remove dubious optimization).
2014-07-08 21:24:01 +02:00
Jean-Marc Lasgouttes
3013ce3716 Implement a better solution for painting of RTL text
Instead of relying on character range (Hebrew or Arabic) or character
direction, use RLO unicode character (Right-to-Left override) to force
painting in the direction indicated by the current font. This should
be as close as we can to the old LyX behavior (and requires less
code).

If this code works as intended, it will be possible to remove a lot of
code from Encodings.cpp.
2014-07-08 21:24:00 +02:00
Jean-Marc Lasgouttes
ea1a5cb80e Draw right-to-left text string-wise using Qt
We rely on Qt built-in unicode support for handling Arabic and Hebrew
compose characters. This allows to avoid to use our homegrown
machinery.

This  should provide a nice speedup at a low cost and
will eventually allow us to get rid of:
 * most of our Arabic/Hebrew machinery in Encodings.cpp,
 * Paragraph::transformChar,
 * and probably more.
2014-07-08 21:24:00 +02:00
Jean-Marc Lasgouttes
b8170e0e01 Fix various selection-related problems
All these problems are related to what happens at the extreme points of rows

 * since VIRTUAL elements have a width but no contents, they have to
   be treated specially at some places. It would have been better to
   avoid testing for them explicitly, but I did not find a way.

 * Improve and cleanup the code in breakRow and fix in passing a crash
   when clicking on the right of an incomplete MARGIN_MANUAL
   paragraph.

 * improve the computation of row width in TextMetrics::computeRowMetrics.

 * handle properly the case where a position if not found on the row
   in both cursorX and getPosNearX (actually, this happens when
   selecting).

 * Some code cleanup and comments.
2014-07-08 21:23:59 +02:00
Jean-Marc Lasgouttes
7167d90b50 Fix bug #9040: In RtL documents end-of-paragraph marker shifts the row display
The fact that the bug was still present in the features/str-metrics
branch comes from a goof in the initial implementation of 'virtual'
row elements (completion and end-of-par markers). Now that this is
corrected, everything works as it should.

The fact that the bug is present in master is due to some other reason
that is not useful to investigate now.
2014-07-08 21:23:59 +02:00
Jean-Marc Lasgouttes
1a4b3201e7 Update README and do a small code cleanup 2014-07-08 21:23:58 +02:00
Jean-Marc Lasgouttes
f686375eec Change getColumnNearX to getPosNearX
The semantics was bad: the old implementation would return pos - row.pos(), and then all user of the function had to re-add row.pos().
2014-07-08 21:10:47 +02:00
Georg Baum
2c39859575 Remove unneeded swap() (thanks Jean-Marc)
std::swap() does exactly the same thing, and avoiding code duplication is
always good.
2014-07-07 21:16:10 +02: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
Jean-Marc
1cdbb94ff5 Fix possible bug spotted by cppcheck
I am not sure what this locking is really about, but the new code seems to be the right thing to do.
2014-07-05 19:12:09 +02:00
Jean-Marc
8715bab65c Fix typo spotted by cppcheck 2014-07-05 18:01:19 +02:00
Georg Baum
b88f6ea3aa Mark some singletons with FIXME THREAD 2014-07-05 15:20:54 +02:00
Georg Baum
5a01424bf0 Make GraphicsConverter threadsafe
build_script() was already threadsafe, since it used a TempFile, and the
counter was basically not needed, but the new solution makes this obvious
and has the additional advantage that TempFile constructs the real output
file, not a dummy without extension which is not needed.
2014-07-05 15:11:24 +02:00
Georg Baum
2a677592a5 Fix uncodable author warning
The old code was not threadsafe, and the restriction to one message box per
author name did not work if more than two authors were uncodable.
2014-07-05 14:49:51 +02:00
Georg Baum
5093893b59 Fix LaTeXFeatures::useLayout() recursion test
It was broken in two ways: It was not threadsafe, and it did never detect
any recursion, since the counter was decremented for each non-recursive call
and never incremented again.
2014-07-05 14:37:55 +02:00
Georg Baum
5a8b8ba8e1 Make LaTeX export threadsafe.
This is one of the more important threadsafety issues because of export in
thread and simultanous view source. The solution is ugly, but a better one
(see FIXME) would require major rework. These static variables should not
have been used in the first place IMHO.
2014-07-05 14:23:43 +02:00
Juergen Spitzmueller
0c3b88e3cb Support for Swiss German (old spelling) 2014-07-05 13:38:55 +02:00
Georg Baum
5c431b9335 Make newUnnamedFile() threadsafe 2014-07-05 12:58:22 +02:00
Georg Baum
922d48da27 Make BufferList::fileNames() threadsafe
Using a static variable here was premature optimization: fileNames() is only
called from GuiRef (directly or indirectly), and since this is a dialog the
copying of a FileNameList is not noticeable at all.
2014-07-05 12:51:40 +02:00
Georg Baum
e7c41b5f56 Make BufferParams::auto_packages() threadsafe 2014-07-05 12:39:59 +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
0de4bc224a Make DocFileName::mangledFileName() threadsafe 2014-07-05 12:22:08 +02:00
Georg Baum
50929b5b8a Make include and bibitem insets threadsafe
Using a mutex to ensure that the generated filenames and ids are still unique.
2014-07-05 12:09:49 +02:00
Georg Baum
4a2250a5d1 Make Formats::isZippedFile() threadsafe
In this case I use a mutex, so the zip status of files is shared between
threads. This is possible because a deadlock can't happen, and it should give
better performance.
2014-07-05 11:55:35 +02:00
Georg Baum
0092b523c7 Fix Tabular::CellData::operator=()
Don't create an intermediate copy (found by Jean-Marc).
I doubt that this has anything to do with the mystery crash, but it works, and
following the standard patterns is better anyway.
2014-07-05 11:44:13 +02:00
Georg Baum
79e79ed548 Make preview filename generation threadsafe
Threadsafety is ensured by the atomic file name generation in TempFile.
2014-07-05 11:19:34 +02:00
Georg Baum
cf89851374 Make theWordList() thread safe.
Without this, you get crashes in a few second when you set the autosave
interval to one second and edit quickly (typing new words etc). The reason
is that the cloned buffer wants to insert words into the word list and
remove them again, but it lives in a different thread.
2014-07-04 22:19:43 +02:00
Georg Baum
7baaeb3fd2 Make WordList noncopyable
To avoid unwanted double deletion of d.
2014-07-04 21:15:21 +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
Juergen Spitzmueller
d333d7d696 Add support for the pdfcomment package.
Fixes: #6975.
2014-07-03 11:30:56 +02:00
Juergen Spitzmueller
4a0976ceeb Add support for the sectionbox and tcolorbox packages.
They will be used by the conference poster classes that will be supported in a minute.
2014-07-02 13:48:01 +02:00
Georg Baum
c9c20dc23b Make IconvProcessor::Impl noncopyable
The compiler-generated copy-constructor and assigment operators would be wrong
for IconvProcessor::Impl, since cd would be copied, and iconv_close() could
thus be called twice on the same descriptor. The old code did work, but now
IconvProcessor::Impl cannot be copied by accident in the future.
2014-07-01 22:23:06 +02:00
Georg Baum
0e8fea0705 Fix memory leak and assignment operator signature
The IconvProcessor assignment operator did not delete pimpl_ and used a
non-standard signature. If you want to know why the standard signature is
important, read "Effective C++" by Scott Meyers.
2014-07-01 22:17:07 +02:00
Richard Heck
c2de96d2ed The flush should be done on either branch. 2014-06-29 15:40:52 -04:00
Georg Baum
2896fe1bd0 Work around MSVC warning
The statement
	if (pos < from + lyxrc.completion_minlength)
triggers a signed vs. unsigned warning. I don't know why this happens, it
could be a MSVC bug, or related to LLP64 (windows) vs. LP64 (unix)
programming model, or the C++ standard might be ambigous in the section
defining the "usual arithmetic conversions". However, using a temporary
variable is safe and works on all compilers.
2014-06-26 21:05:40 +02:00
Jean-Marc Lasgouttes
9ba97a85f0 Small fixes to cursor positioning.
Two small fixed to Row::Element::x2pos:
* fix position for elements that are not strings
* make rounding match the old code
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
79014c7551 More fixes to cursorX
In Row::Element::pos2x, handle the boundaries in a cleaner way.
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
8649ac7fe6 Some fixes related to RTL text
* fix handling of boundary situations in Row::Elements::x2pos;

 * fix handling of boundary situations in TextMetrics::getColumnNearX;

 * make sure to always use Font::isVisibleRightToLeft instead of Font::isRightToLeft;

 * Improve debug messages.
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
443a453427 New reverseRTL implementation
The old version was a bit complicated and wrong for RtL paragraphs
containing LtR text. THe new one is clearer.
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
059de2d04c Fix getColumnNearX for nested insets
The horizontal position of the inset was not taken in account.
The rounding is not always the same as with the old code, but this
is not really important.

Additional changes:

 * improve debug output of rows

 * remove Bidi& argument of the RowPainter constructor, since it is always
   an empty Bifi that is passed. This means that the Bidi class is not
   used at all any more in TextMetrics.cpp. The only remaining user is
   RowPainter.
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
6258cebb77 Fix line breaking algorithm
Break words longer than the screen width. The code is more complicated
than I would like, but I have no better idea right now.

Implement properly the notion of a row broken by a display inset. This is useful in different places.

Also fix a bug with last line of a paragraph spotted by Kornel.
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
ff608f46fd Handle boundary in getColumnNearX (and more)
Use proper font everywhere for end-of-par marker

Fix getColumnNearX for RTL text and for centered/right-justified paragraphs.

Let computeRowMetrics update the row width.
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
f215bb3b92 Re-implement getColumNearX using row elements
The code is now so much shorter that it is scary... Expect that
further changes will be necessary

Cursor boundary is not handled yet.
2014-06-25 17:55:30 +02:00
Jean-Marc Lasgouttes
01c9bcb432 Get rid of ugly font metrics workarounds.
Now we have proper ligatures and kerning on screen...
2014-06-25 17:55:16 +02:00
Jean-Marc Lasgouttes
35d47698c6 Convert cursorX() and computeRowMetrics() to the new scheme
* convert cursorX to new scheme; old computation is still there for the sake of comparison.

* use Row to compute separator width in computeRowMetrics; again, the old code is retained for now.

* Get rid of rowWidth()
2014-06-25 17:54:27 +02:00
Jean-Marc Lasgouttes
d32f76f7fe Small Inset isXXX methods cleanup
* rename isStretchableSpace to isHfill
 * inline a trivial method
 * remove InsetIPAMacro::isLineSeparator, which has the same value as default.
2014-06-25 17:54:26 +02:00
Jean-Marc Lasgouttes
b2eba66083 Implement proper handling of RtL in Rows
Now the row elements are sorted according to RtL/LtR.

Some additional cleanup.
2014-06-25 17:54:26 +02:00
Jean-Marc Lasgouttes
452fb60359 Store in the Row object the list of elements it contains
* Row now contains a vector of Elements
* replace Row::dump by a proper << operator
* the width is updated as elements are added
* breakRow is reimplmented to use this infrastructure
2014-06-25 17:54:26 +02:00
Jean-Marc Lasgouttes
8539f756ed Implement real string width computation
Important features:
* widths are cached in a map
* old behavior is still used when lyxrc.force_paint_single_char is true.
2014-06-25 17:54:15 +02:00
Jean-Marc Lasgouttes
cf31077932 Change TextMetrics::rowHeight to setRowHeight
This new function takes a row as parameter.

Also, add direct access to Row::dim_
2014-06-25 17:53:34 +02:00
Jean-Marc Lasgouttes
fe8c3b4348 Cleanup TextMetrics::rowBreakPoint.
Collect properly all strings to compute string metrics

Some changes with respect to existing code
 - end of paragraph font is now the one of the text
 - words longer than a line are not broken anymore. I think this is not useful  if we have horizontal scrollbar

Other than that, the code is still compatible with rowWidth and friends.
2014-06-25 17:53:34 +02:00
Jean-Marc Lasgouttes
edcedf3324 Revert temporarily changes related to InsetSeparator
This is to avoid many conflicts with the str-metrics branch.
2014-06-25 17:53:09 +02:00
Scott Kostyshak
c62a53b78b Remove an incorrect/expired FIXME
Both Richard and JMarc think it is incorrect. See
  https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg184758.html
2014-06-23 08:03:44 -04:00
Peter Kümmel
2f17858115 On Linux show in crash message box the backtrace 2014-06-14 11:25:25 +02:00
Scott Kostyshak
bcbc162665 Select word on double click even when at boundary
Now when double clicking on a boundary of a word, the
word is selected. This also causes single-letter words
to now be selected (fixes #9159).
2014-06-13 10:48:49 -04:00
Jean-Marc Lasgouttes
01ba22efff Fix checkmark on current entry for InsetSeparator context menu
The code supposed to do that contained a typo and was not completely correct.
2014-06-13 10:30:25 +02:00
Kornel Benko
3b14de740d Cmake build: Symplify use of linking optional libraries found via find_package 2014-06-12 19:02:29 +02:00
Kornel Benko
2b0511510a Cmake build: Added magic library to some link commands.
Needed due to the use of magic_(open|load|error|file|close) after recent changes.
2014-06-12 07:49:17 +02:00
Enrico Forestieri
f439609304 Make binary file detection more robust.
The magic library can detect the charset used by a file. While this
detection is not full proof, actually the library seems to be infallible
as regards the binary nature of a file. So, use libmagic for the detection
and fallback to the previous method if the library is not installed or
its database cannot be loaded.
2014-06-11 23:04:39 +02:00
Enrico Forestieri
82faa66192 Set the default locale at startup.
On startup, the default locale is "C", meaning that all system
functions assume an ascii codeset. The environment's locale
settings should be selected by calling setlocale(LC_ALL,"").
This is done by Qt during the QCoreApplication initialization
but this inizialization is never performed for batch processing
and, as a result, LyX is not able to process files whose names
contain non-ascii characters. This is not an issue on Windows,
where the file names are always stored as UTF-16, so the call is
only performed for unix-like platforms (this also includes cygwin,
due to its own filenames management that allows using characters
which are forbidden to native programs).
2014-06-11 18:23:44 +02:00
Georg Baum
f76d6997b7 Fix thinko in loop detection 2014-06-09 22:06:58 +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
ae15b59734 Don't double delete by making TempFile noncopyable
The compiler generated copy constructor and assignment operator are wrong.
This could easily be fixed by implementing them manually, but a) they are
not needed, and b) the semantics would be unclear (should the copy point
to a new temp file or not?), so it is better to forbid them.
2014-06-09 13:03:32 +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
Georg Baum
47721216f0 Fix typo 2014-06-09 10:26:39 +02:00
Scott Kostyshak
4cfc110d4a Combine OutlineIn and OutlineOut blocks
They differ only by adding/subtracting 1.
2014-06-08 03:33:32 -04:00
Georg Baum
4bea5b9d18 Explain why the binary detection works
Extracted from Enricos comment at bug 9146.
2014-06-07 17:48:23 +02:00
Georg Baum
c1ac09e11f Fix bug #7954 (now really)
Thanks to maciejr we know now what the remaining problem was with bug 7954:
My unicode symbol fallback works fine, the problem was that a font named
"Symbol" is available on OS X, but it does not use the font-specific encoding
we expect: Almost all glyphs are at their unicode code point.
Therefore the bug is fixed by re-enabling the unicode workaround and blocking
the Symbol font on OS X.
2014-06-07 10:54:17 +02:00
Peter Kümmel
6b4c3036aa std::min/max are defined in <algorithm>
handle error in msvc12 when linking against msvc10 libs
2014-06-07 08:17:20 +02:00
Peter Kümmel
080fca85a8 build with mingw on Windows and Linux 2014-06-07 08:06:13 +02:00
Scott Kostyshak
de091e6ceb Expand module names instead of buttons in settings
Maximizing the document settings window when on the modules pane,
the horizontal space is now given to the module names and so no
scrollbar is needed. Before, even when maximized, a scrollbar was
sometimes needed because the horizontal space was given to the
buttons in the middle, which did not provide an extra benefit.

The default sizeType was "Expanding" and is now changed to "Minimum"
for the horizontal spacer above the middle buttons.
2014-06-07 00:43:07 -04:00
Enrico Forestieri
ba603db942 Fix bug #9153 (Using mathpanel to insert matrix creates extra space on top)
The code was setting the current index before filling the
combo box items.
2014-06-06 16:14:24 +02:00
Enrico Forestieri
79dcf402b1 Refine fix for bug #9151.
Now the cursor in LyX jumps to the right spot instead of simply the
beginning of the paragraph. This is most useful for branch insets,
for example, which may contain long paragraphs.
2014-06-06 15:35:24 +02:00
Enrico Forestieri
44e09b223e Fix bug #9151 (Wrong reverse search for images and tables).
If the reverse position corresponds to an inset, its paragraph id
does not follow the main text numbering. Typically, an inset has
only a few paragraph, so that we would jump near the beginning of
the document. In this way we at least jump at the beginning of the
inset.
2014-06-05 23:46:18 +02:00
Enrico Forestieri
7d31194085 Fix bug #9146.
If LyX does not know about a given file format, it may easily
happen that the format is recognized as "latex" and this causes
bug #9146. This patch limits the check for a latex format to
non-binary files. The strategy for deciding that a file has
binary content is the same as that adopted by the "less" program.
2014-06-05 17:33:25 +02:00
Jean-Marc Lasgouttes
7c3d1d7423 Fix crash when accepting change
The problem is the use of cursor movement methods to update cursor.
Cursor::forwardPos() steps into insets, which is not always what we
want. The problem here is that there is a math inset just after the
accepted change, and that the cursor steps into it for some reason.

This code is a nightmare anyway.

Fixes: bug #9145
2014-06-05 12:23:19 +02:00
Scott Kostyshak
ab67ce3757 Fix a regression reported at #9146
This regression was introduced by me at 8b66f9ce. I did not take
into account that a call to a python script containing $$s is embedded
within a separate python script. Thus, when commandPrep() is called it
only sees the call to the outer python script, and does not see the
$$s contained in that python script. It therefore did not substitute
for it. This fix simply calls commandPrep() directly before writing
the embedded command.
2014-06-04 21:32:14 -04:00
Georg Baum
8be7da42e9 Detect binary EPS files correctly (bug #9146)
The Adobe EPS file format specification (TN-5002, currently available at
http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf) specifies
a binary version of EPS files with integrated preview, sometimes also called
DOS EPS binary files. LyX 2.0 did recognize these files unreliably by
extension, but since f4eae12d they are misdetected as latex (bug #9146).
This change adds proper detection for these files using the officially
documented binary header.
2014-06-04 22:04:46 +02:00
Richard Heck
533a05e0b8 Use a different naming scheme, per Enrico's suggestion. 2014-06-04 12:46:42 -04:00
Richard Heck
5536b0c7fe Flush stream more often to help figure out where the mystery crash
originates.
2014-06-04 09:19: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
Juergen Spitzmueller
95a7716998 Remove superfluous conversion 2014-05-31 10:46:49 +02:00
Juergen Spitzmueller
beb53ddbe2 Whitespace 2014-05-31 10:33:46 +02:00
Georg Baum
953a4d13d9 Add missing bits of layout file format update
This is needed so that the new format number is actually used. Since the
conversion is a noop I did not update the layout files (more updates will
come).
2014-05-29 21:25:08 +02:00
Georg Baum
53f8d6d6d3 Make layout test compile 2014-05-29 15:07:07 +02:00
Juergen Spitzmueller
20bcaec061 Add layout tag that determines if/when a paragraph can be indented.
Fixes: #7327, #7458, #8670
2014-05-29 14:10:32 +02:00
Enrico Forestieri
061509bf75 Avoid an assertion.
Do not assert if an inset separator is the only item of a List
environment. Although it is a weird thing to do, both GUI and
latex output can deal with it.
2014-05-28 20:50:45 +02:00
Jean-Marc Lasgouttes
0212ef5426 Make TextMetrics::editXY more robust
This fixes a crash in examples/fa/splash.lyx when selecting text
representing menu entries. This happens because menu names are in LTR
English, while the inset itself is in RTL.

The problem is that the current code relies on the fact that
 1. getColumnNearX and checkInsetHit share the same idea about cursor
    position.
 2. pos and pos + 1 are in general consecutive on screen.

It seems that 1. is wrong here (for reasons I did not try to
understand); the second assumption is definitely false with
bi-directional text. This makes editXY very fragile.

The new code should be more robust in this respect. The logic is:
 * if checkInsetHit finds an inset, use its position,
 * otherwise, ask getColumnNearX for the cursor position.

Fixes: #9142
2014-05-28 14:22:21 +02:00
Enrico Forestieri
c85dbfea98 Fix indentation of paragraphs after an environment.
When deciding whether a paragraph should be indented or not, LyX
only takes into account default layouts. This is wrong, because
an environment could be nested into another one and thus a following
paragraph would not be "default". With this patch all paragraphs
after an environment are correctly indented, independently of
whether their layouts are "default" or not.
The latex output (which was modeled following the previous wrong
assumption) is also correspondingly adapted.
2014-05-28 01:07:47 +02:00
Georg Baum
4cea2efe21 Native support for \notag
This is mainly needed to reduce the amount of ERT if you convert AMS example
documents with tex2lyx. No GUI support is needed, since \notag is equivalent
to \nonumber.
2014-05-27 22:17:35 +02:00
Georg Baum
5dc9568f8d Native support for \smash[t] and \smash[b]
This is a follow-up of bug #8967. The implementation is self-explaining, the
only part which needs a comment is lyx2lyx: Since a 100% correct solution is
not possible, it has been decided not to switch amsmath off in the forward
conversion if no other ams command than \smash[t] and \smash[b] is used, but
to consider it a bug that older versions do not load amsmath automatically for
these commands. In the backward direction it is easy to keep the document
compilable, so just do that.
2014-05-27 22:13:58 +02:00
Georg Baum
ff8450f839 Add missing member initializations 2014-05-27 22:13:58 +02:00
Enrico Forestieri
d4c21b42dd Allow inserting a blank line also after a nested environment. 2014-05-26 21:29:33 +02:00
Richard Heck
643deb8aa0 Add a FIXME. 2014-05-23 11:36:12 -04:00
Richard Heck
b992968a15 Fix bug #9131 for development branch. There are two parts to the fix.
The firs tinvolves a thinko in BibTeXInfo::expandFormat. We were previously
counting passes through this routine, which means: one for every character,
more or less. So long strings would hit the "recursion limit". But what
we are worried about is an infinite loop caused by misues of macros, so that
is what we need to count.

This prevents the error we were previously getting, but it reveals a huge
slowdown when one tries to open a citation inset with a large nubmer of keys.
So we also limit the number of keys we try to process, and the length of the
string we try to display, when we are generating citation information.

I'm convinced that there is a deeper problem in how citation information is
generated (see the bug tracker for more info), but that will require major
surgery and a file format change
2014-05-23 11:26:45 -04:00
Richard Heck
ba17d842b4 Add some const-ref-ness, and remove some default arguments that are
never treated as defaults.
2014-05-23 11:03:17 -04:00
Richard Heck
344ea62dd0 Fix up logic of BibTeXInfo::getInfo. We don't need to process the
richtext stuff unless we actually need it.
2014-05-23 10:48:22 -04:00
Enrico Forestieri
a596736d76 Fix another glitch with on-screen indentation.
If a new paragraph is created just before a nested environment,
the indentation of the nested environment is not computed
correctly because the parindent of the previous layout would
also be erroneously taken into account. This would cause the
nested environment to move back and forth when something is
added to the new paragraph.
2014-05-22 23:58:23 +02:00
Georg Baum
85db1005b6 Fix another crash similar to #9030
This one occured after the fix for bug #9030 if the cursor is in a math inset
and the edit menu is opened.
2014-05-22 22:02:46 +02:00
Enrico Forestieri
02e7bc18a7 Simplify the test for inserting a parbreak separator.
Instead of simply taking into account the layout of the previous
paragraph, it is better considering the layout of the environment
in which the previous paragraph may be nested. This makes the test
simpler and, at the same time, more robust.
2014-05-22 21:47:10 +02:00
Enrico Forestieri
52ebcd6280 Correct the check for a command. 2014-05-22 11:51:21 +02:00
Enrico Forestieri
2c613d5686 Fix potential crash.
Use the lfun for breaking the paragraph here, such that the metrics
are updated before the call to the next dispatch.
2014-05-22 11:41:23 +02:00
Enrico Forestieri
a17710e499 Fix wrong indentation on screen.
LyX fails to indent on screen a standard paragraph when it is
nested into an environment. The fix is a one-liner but the diff
is larger because it also fixes a previous wrong indentantion
in the source ;)
2014-05-21 21:47:01 +02:00
Enrico Forestieri
27e0bf54f5 Add a required paragraph break.
This is necessary, for example, if a standard paragraph is nested
in an environment and the environment does not end immediately after.
To be strictly correct, the layout of the following paragraph should
be compared to the layout of the nesting environment, otherwise, if
they are not the same, an empty line is nevertheless output. However,
this is harmless because an "\end{layout}" tag immediately follows.
2014-05-21 21:08:11 +02:00
Juergen Spitzmueller
58db7c34f9 Output arguments required by arguments with default or preset arg
Fixes: #9128
2014-05-21 13:12:14 +02:00
Enrico Forestieri
8d8d8e9df6 Small reorganization.
I am not sure I fully understand the pending_newline/unskip_newline
logic (which seems mainly related to rtl writing), so I prefer to
leave it alone, in the sense that now things go again as in 2.1
until the point where those booleans are used for producing output.
If it turns out that a spurious (and unwanted) empty line comes
from the previous code, it can be easily corrected later.

I am also reintroducing the check about a separator inset at the end
of the paragraph, because that is necessary for the plain version.
2014-05-21 00:59:36 +02:00
Enrico Forestieri
7145863466 Generalize control on double blank lines.
We can now tell whether a blank line was just output and so can
avoid outputting another one.
2014-05-20 21:52:29 +02:00
Scott Kostyshak
fc19148f6d Fix a GCC warning: comparing signed vs. unsigned
This also changes the type of an int to an ssize_t.

nRead is initialized as an ssize_t because it could
be negative. It is cast to a size_t for comparison
to the size of a vector, but only after we check
that nRead is not negative.
2014-05-20 08:01:49 -04:00
Jean-Marc Lasgouttes
275b7af75e Code cleanup: get rid of RenderPreview::status()
This method is a proxy for LyXRC::preview that forces to forward
declare some wrapper around an enum...

Instead, two simple static methods previewMath() and previewText() are
introduced, that make the code much easier to follow.
2014-05-20 12:19:26 +02:00
Juergen Spitzmueller
8226453684 Fix crash due to invalid pos 2014-05-20 11:14:13 +02:00
Enrico Forestieri
480f8d3115 Fix compilation after afc34c7a 2014-05-20 00:43:46 +02:00
Georg Baum
f5b829bc8a Initialize all members 2014-05-19 22:41:51 +02:00
Georg Baum
afc34c7a60 Fix bug 9030 except for windows
The format entries should be sorted according to the culture selected for the
UI. This was not the case previously, resulting in unexpected sorting of small
and capital letters. This is now fixed by using the standard C function
strcoll(). Qt does only offer similar functionality in Qt5, and this is not
mature enough yet to depend on it.
Unfortunately we have a report that strcoll() does not work on MSVC, however
this partial fix is better than nothing. The MSVC issue might also be a
configuration problem, since MS claims that strcoll() is supported. This
still needs to be checked.
2014-05-19 22:37:14 +02:00
Georg Baum
2acd00fc17 Remove unneeded slash
addPath() always adds a slash at the end, os got a double one before.
Qt and the OS are clever enough to understand that, but a single slash
looks more nice.
2014-05-19 22:09:12 +02:00
Georg Baum
923ab0734d Move code where it belongs
It is declared in Dimension.h, so the implementation should be in
Dimension.cpp.
2014-05-19 22:07:04 +02:00
Georg Baum
35ec98bcb2 Ugly fix for bug #9102
The real problem is the encoding of latex_language: It is hardcoded to latin1,
but InsetListig uses the currently active encoding. Therefore, we cannot tell
whether any given character wil be encodable or not, and we should not prevent
non-ACII characters.
In the future, we need to make the encoding of latex_language dynamic, so that
it always represents the currently active encoding. Then, we could do the
correct check both for listings and ERT. For now, I simply disabled the
encoding check for listings, which also means that bug 9012 might occur in
other cases for listings, but this is less important than bug 9102.
2014-05-19 21:40:11 +02:00
Enrico Forestieri
1ad3f809a4 Prettify the output of InsetSeparator.
If a separator inset is used after an environment with NextNoIndent
set to false, a blank line was already output. So, avoid outputting
another blank line or an odd looking line with only a '%' character
(as the previous blank line provides already a visual separation).
2014-05-18 23:02:24 +02:00
Enrico Forestieri
ee9ff6cb0c Extend the otexstream class to also report about paragraph breaks.
The new method afterParbreak() returns true if a blank line was just
output and we are at the beginning of the next line, false otherwise.
2014-05-18 22:46:33 +02:00
Enrico Forestieri
10d5897327 Don't allow inserting two consecutive separators. 2014-05-18 18:04:53 +02:00
Juergen Spitzmueller
c5753af50d Fix crash when right-clicking into an inset with more paragraphs than the main text.
Fixes: #9123.
2014-05-18 18:03:06 +02:00
Enrico Forestieri
0616c8fe32 Disregard font properties changes when inserting a separator.
This allows to output a simple blank line instead of strange constructs.
2014-05-18 17:34:11 +02:00
Enrico Forestieri
a919cd8c68 Take into account that a blank line is always output before a command. 2014-05-18 17:31:58 +02:00
Richard Heck
4d30b613ba Whitespace. 2014-05-18 11:27:54 -04:00
Scott Kostyshak
d863a76f45 Correct my previous comment (thanks Kornel) 2014-05-18 05:14:05 -04:00
Stephan Witt
b3b6fc643d #8849 catch exception in enchant speller backend and avoid multiple speller lookups for missing dictionaries 2014-05-18 10:43:32 +02:00
Scott Kostyshak
10df612191 Add comment 2014-05-18 04:29:59 -04:00
Scott Kostyshak
4bd0941b4f Graphics only handle inset-modify graphics (#8262)
inset-modify tabular and others are now passed on.
2014-05-16 23:38:32 -04:00
Scott Kostyshak
43d464cca0 Fix alignment rendering of multirow in LyX (#8976)
Multirow cells now have the same alignment rendering in LyX
as in the output. The alignment of a multirow can change as
long as the column is not of fixed width. If the column is
of fixed width, the multirow is left-aligned.

When setting a multirow, the alignment is copied from
the last cell in the selection.
2014-05-16 23:38:26 -04:00
Enrico Forestieri
936773c4f7 Adapt output to the on-screen representation.
LyX assumes that a standard paragraph following an aligned one or
a layout with NextNoIndent==false has to be indented on screen.
This means that in the latex output a blank line has to follow.
In this case there should be no problem as regards extra vertical
space and it simpler and more elegant to simply uncheck "Indent
Paragraph" in the Paragraph settings pane rather than changing
the current logic and allowing to insert a parbreak separator.
2014-05-16 15:39:33 +02:00
Enrico Forestieri
95787a0a4c Fix an on-screen representation glitch.
If a layout has NextNoIndent set to true, the following paragraph
is not indented on screen. LyX checks the previous layout for that
style parameter to decide whether to indent or not. Of course,
what matters is the latex output and the on-screen representation
should match this output. Now, when a layout has NextNoIndent==true,
the latex output is correctly not indented, while the on-screen
representation may fail to match this output. This can occur when,
for example, a standard paragraph is nested in the previous layout,
because LyX would check the property of the nested layout instead
of the container layout. Thus, LyX should check the property of a
previous layout at the same depth for correctly deciding whether
a paragraph has to be indented or not.
See also http://www.lyx.org/trac/ticket/9055#comment:12 for an
example document where the previous scenario actually occurs.
2014-05-16 15:31:43 +02:00
Jean-Marc Lasgouttes
f9e0d4a595 Remove unused parameter. 2014-05-16 15:25:17 +02:00
Jean-Marc Lasgouttes
ee7c4db72a Do not forget last word of paragraph in completion
With the old code, the last word of a paragraph would not be added in
the completion list. The key difference is to pass `from' instead of `pos'
to FontList::fontiterator.

Slight cleanup of the code.
2014-05-16 15:22:51 +02:00
Enrico Forestieri
15e1f5eb39 Make use of otexstream also in external::writeExternal
This was not necessary when LyX was generously outputting newlines.
As it may happen that the output produced by writeExternal (the
result of an external inset) starts right at the beginning of a
line, if otexstream does not know that something is already on
the line, the iomanip-like variable 'breakln' fails to actually
break the line.
2014-05-16 14:40:09 +02:00
Enrico Forestieri
7d5b1fb840 Output a parbreak after a command.
This is what LyX was previously doing. It has no effect on vertical
spacing but, for example, sectioning commands stand out on the output.
The parbreak is not output if an environment follows or the alignment
of the current or next paragraph is changed.
Also remove some superfluous code.
2014-05-14 22:25:15 +02:00
Scott Kostyshak
1821c6d8a3 Centralize substitution of python commands
The code for detecting python commands and substituting in the
correct prefix is now merged with what used to be libScriptSearch()
and is now renamed to commandPrep(). This commit does not change
any functionality and just improves organization to reduce the
chance of bugs in the future.
2014-05-14 15:45:20 -04:00
Scott Kostyshak
8b66f9cedf Centralize replacement of "$$s"
Now the replacement is done in startScript(). In addition to making
the code cleaner and more consistent, this commit fixes a bug where
"$$s" was not replaced when "latex=" was specified in the extra flags
of a converter.

Note that the temporary fix at 731b8610 is reverted with this commit.
2014-05-14 15:45:20 -04:00
Jean-Marc Lasgouttes
3b3d28cf8e Rename misleading parameter.
... and a typo and some whitespace.
2014-05-14 18:09:40 +02:00
Georg Baum
3c1b79dd5b Update tex2lyx test references
This is needed after c668ebf61. tex2lyx itself was already updated, and I
verified that the new output is correct.
2014-05-12 21:23:47 +02:00
Enrico Forestieri
c668ebf611 Fix bugs #8546 and #9055, and introduce new separator inset.
The algorithm used for breaking a paragraph in LaTeX export is changed
for avoiding spurious blank lines causing too much vertical space.
This change is tied to the introduction of a new inset (with two
different specializations) helping in either outputing LaTeX paragraph
breaks or separating environments in LyX. Both of the above goals were
previously achieved by the ---Separator--- layout and can now be
accomplished by the new inset in a more natural way. As an example,
after leaving an environment by hitting the Return key for two times,
a third return automatically inserts a parbreak inset, which is
equivalent to the old separator layout, i.e., it also introduces a
blank line in the output. If this blank line is not wanted, the
parbreak separator can be changed to a plain separator by a right
click of the mouse. Of course, an environment can still be separated
by the following one by using the Alt+P+Return shortcut (or the
corresponding menu key), but now the plain separator inset is used
instead of the old separator layout, such that no blank line occurs in
the LaTeX output.

Old documents are converted such that the LaTeX output remains unchanged.
As a result of this conversion, the old separator layout is replaced by
the new parbreak inset, which may also appear in places where the old
algorithm was introducing blank lines while the new one is not.
Note that not all blank lines were actually affecting the LaTeX output,
because a blank line is simply ignored by the TeX engine when it occurs
in the so called "vertical mode" (e.g., after an alignment environment).
The old ---Separator--- layout is now gone and old layout files using it
are also automatically converted.

Round trip conversions between old and new format should leave a document
unchanged. This means that the new behavior about paragraph breaking is
not "carried back" to the old format. Indeed, this would need introducing
special LaTeX commands in ERT that would accumulate in roundtrip
conversions, horribly cluttering the document. So, when converting a
modified document to old formats, the LaTeX output may slightly differ in
vertical spacing if the document is processed by an old version of LyX.
In other words, forward compatibility is guaranteed, but not backwards.
2014-05-10 23:25:11 +02:00
Richard Heck
6b0a8fbc96 Fix bug #9112: There is a test here that seems intended to catch the
case where there are unbalanced braces, but it comes too late. In that
case, we try to check cmd[docstring::npos] and crash.
2014-05-08 18:19:55 -04:00
Enrico Forestieri
3e681bea4f Fix problem with drawing of math backround with selections. 2014-05-07 14:18:14 -04:00
Juergen Spitzmueller
d7e9ab08a3 Listings: Validate skip amounts correctly.
Fixes: #7373.
2014-05-07 12:33:39 +02:00
Jean-Marc Lasgouttes
015333d987 Rely on Qt to handle small caps text
This has the advantage of simplifying our code and to produce the
correct output: the small capitals should have the exact same width as
the lower case letters.

The slanted fonts are also translated to oblique on Qt side, but this
does not seems to have an effect in my testing. It may be that proper
oblique fonts need to be installed.
2014-05-07 12:13:27 +02:00
Juergen Spitzmueller
5368645e70 Simplification 2014-05-07 08:09:04 +02:00
Juergen Spitzmueller
ef05f7cca9 Store InsetListingsParams in a vector of pairs, not a map, since order of insertion matters.
Fixes: #8144, #5203.
2014-05-06 20:22:25 +02:00
Juergen Spitzmueller
e43e4456ea Fix typos in InsetListingsParams validator 2014-05-06 20:17:03 +02:00
Kornel Benko
fdd5a1bd5f make build: Versioning of lyx.svg (missed in previous commit) 2014-05-06 17:24:00 +02:00
Jean-Marc Lasgouttes
ac9a2fa9f8 Turn an error message into a Debug::LOCALE warning 2014-05-06 14:29:42 +02:00
Juergen Spitzmueller
2730f9e2b5 Fix View Source size
Fixes: #9084.
2014-05-01 18:00:37 +02:00
Stephan Witt
36e5864a82 improve language flag for Objective-C compiler call 2014-04-30 23:14:41 +02:00
Stephan Witt
43d75a0796 struct with virtual functions should have virtual destructor 2014-04-30 23:14:41 +02:00
Georg Baum
8ed7f52584 Whitespace fixes 2014-04-29 22:06:02 +02:00
Georg Baum
351363c599 Fix C++11 test
Thanks Vincent for noticing. The old test was slightly off, the C++98 standard
guarantees that __cplusplus is defined as 199711L, not 19971L.
2014-04-29 21:00:02 +02:00
Vincent van Ravesteijn
2552c737be GuiLog: Use GuiClipboard to put the log on the clipboard
All direct interaction with the Qt clipboard is now done in either GuiClipboard or GuiSelection.
2014-04-29 15:38:35 +02:00
Vincent van Ravesteijn
847d1fb2f5 Use the cached value GuiSelection::selection_supported_
That's where it is for.
2014-04-29 15:17:15 +02:00
Juergen Spitzmueller
79a59fce1d Do not write an empty default_otf_view_format.
Fixes: #9100.
2014-04-28 14:59:03 +02:00
Georg Baum
0c0e16c61c Make iparserdocstream more like std::istream
In C++98 std::istream does not use an operator bool(), but an operator
void*() instead, which prevents some unwanted conversions (this is one
possible implementation of the safe bool idiom).
In C++11 std::istream uses explicit operator bool, which prevents the unwanted
conversions using a new language feature.

This change does not have any effect on correct code, but prevents some
mistakes.
2014-04-22 22:03:31 +02:00
Vincent van Ravesteijn
b6ccf21192 cmake: Objective-C compilation support with clang and C++11
This fixes an issue when compiling with C++11 flags on: the
objective-C clang compiler produces an error. This patch set
the -std option to ansi for the Objective-C sources.
2014-04-22 09:41:25 +02:00
Benjamin Piwowarski
d863088986 Revert "Objective-C compililation support with cmake and C++11"
This reverts commit c2e67a41ce.
2014-04-22 09:36:17 +02:00
Juergen Spitzmueller
a4ea543f2f Bibtopic requires styles files to be passed via argument
Fixes: #9060
2014-04-22 09:25:58 +02: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
Kornel Benko
f3a96fb833 Cmake build: Add include path for src/tests/dummy_functions.cpp
Othervise the statement '#include "../Messages.h"' results in error.
2014-04-21 19:14:25 +02:00
Jean-Marc Lasgouttes
6c8a775c73 Use subdir-objects for automake 1.14 or newer
This option is going to be mandatory starting with automake 2.0.
LyX is able to use this since version 2.1, but it turns out that it is
badly implemented in versions of automake older than 1.14.

We rely on some (undocumented) symbol to detect automake 1.14 and
use the subdirs-objects option in this case.

For more details, see:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181023.html

Making everything work with autotools required making a copy of two
files from support/tests. It seems that we should not point to source files
that are handled by another Makefile.am.
2014-04-21 11:52:00 -04:00
Richard Heck
39ac113ba1 Update other comment. 2014-04-21 11:52:00 -04:00
Richard Heck
6021322c01 Update comment slightly. 2014-04-21 11:52:00 -04:00
Juergen Spitzmueller
2928afbd01 Add comment. 2014-04-21 11:52:00 -04:00
Richard Heck
75aa0d61db Make some functions return const refs, and add a comment. 2014-04-21 11:52:00 -04:00
Richard Heck
c0be76a2d6 Whitespace. 2014-04-21 11:52:00 -04:00
Richard Heck
065db68067 Fix a bunch of minor issues discovered by the cppcheck script. 2014-04-21 11:52:00 -04:00
Richard Heck
84d4d45daa Fix two thinkos caught by the cppcheck script. 2014-04-21 11:52:00 -04:00
Juergen Spitzmueller
302228625b Stabilize mouse selection in mathed
Fixes: #9074
2014-04-21 11:51:59 -04:00
Tommaso Cucinotta
cb79658e54 Workaround for #7987: deleted text in change-tracking mode is not found in Advanced F&R any more. 2014-04-21 11:51:59 -04:00
Tommaso Cucinotta
13cb7da11d Merged Paragraph::stringify into asString(). 2014-04-21 11:51:59 -04:00
Juergen Spitzmueller
ad6f96bf48 Do not substract cursors pos from two different cells (fix assertion while doing adv search)
Fixes: #7944.
2014-04-21 11:51:59 -04:00
Richard Heck
0a6ff99f28 Typos and style. 2014-04-21 11:51:59 -04:00
Richard Heck
8b00b355ca Change forToc() to forOutliner(), to avoid confusion. The old name
is left over from when the outliner really did just display a TOC.
2014-04-21 11:51:59 -04:00
Richard Heck
f13e9a183d If this test fails, then we are about to crash, because we are about
to try to access whichever thing we did not find. So do an emergency
close of this Buffer.
2014-04-21 11:51:59 -04:00
Richard Heck
cd32001de6 Typo. 2014-04-21 11:51:59 -04:00
Uwe Stöhr
658aa3f026 PrefLanguageUi.ui: change a string
to have uniform uppercases in this dialog
2014-04-21 11:51:59 -04:00
Jean-Marc Lasgouttes
f8da042312 Do not store Languages objects in completion words lists
In the current code each paragraph contains a map<Language,
WordList*>, which means that it contains a full copy of the language
object. Since these objects contain translation tables nowadays, this
is a very bad idea.

This patch simply replaces the Language key by a string.

When loading the Userguide on linux/x86_64, the total memory
consumption decreases from 36.27MB to 31.50MB.
2014-04-21 11:51:59 -04:00
Juergen Spitzmueller
0b2d89eaea In Paragraph::changeCase, correctly track the font of the changed characters (fix crash)
Fixes: #7943
2014-04-21 11:51:58 -04:00
Uwe Stöhr
9776519cc5 PrefCompletionUi.ui: port commit 1a137950 2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
df1dbe28ce Do not allow the manual insertion of a directory (without filename) into the import dialog and thus prevent an assertion.
Fixes: #7437
2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
9b6eea6ca5 Do not crash when entering math in ct mode with merge dialog open.
Fixes: #7685.
2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
da196ed5b2 Fix corrupted PrefCompletionUI.ui 2014-04-21 11:51:58 -04:00
Richard Heck
f00104d222 Revert "Tooltip for completion word length."
This reverts commit 2aadcec1fc9ae784e6029b56790753ce82b9f055.

Conflicts:
	src/frontends/qt4/ui/PrefCompletionUi.ui
2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
5a4363c0f5 \lyxdeleted uses an ulem command.
Therefore we need to put \cite and \ref into \mboxes, as in our native ulem commands.

Fixes: #8806.
2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
9aa0fe91f6 ulem commands can be nested. 2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
b8661bcfb3 style 2014-04-21 11:51:58 -04:00
Juergen Spitzmueller
a70571258d Fix assertion when ChkTeX hit math.
The problem here was that we used texted-only methods (via paragraph()), which triggered the assertion as soon as we were inside math.

Fixes: #8798
2014-04-21 11:51:57 -04:00
Juergen Spitzmueller
8e6d367f94 InsetListings: Rewrite C-ism in C++ and fix terminator bug.
The rewriting is completely done by JMarc. The terminator bug fix has been added to that by me.

Fixes: #8985
2014-04-21 11:51:57 -04:00
Scott Kostyshak
abc4c663ca Focus on buffer after section select in Outliner 2014-04-21 11:51:57 -04:00
Benjamin Piwowarski
73405549cb Avoids const_cast in configure_command by using mutable 2014-04-21 11:51:57 -04:00
Richard Heck
d53cf7f575 Typo. 2014-04-21 11:51:57 -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
Richard Heck
3d6790607e Tooltip for completion word length. 2014-04-21 11:51:57 -04:00
Richard Heck
7765b1c9a8 Draw a small red frame around preview images that are too small. 2014-04-21 11:51:57 -04:00
Benjamin Piwowarski
54a534c81f Really use qstr to convert a string in a QString 2014-04-21 11:51:57 -04:00
Benjamin Piwowarski
91980ebfc5 Use qstr to convert string to a QString 2014-04-21 11:51:56 -04:00
Juergen Spitzmueller
8913031faf Fix section-select when issued from outliner
Fixes: #8936
2014-04-21 11:51:56 -04:00
Juergen Spitzmueller
33e10ff213 Fix selection drawing after mouse-double/triple in mathed
Fixes: #8829
2014-04-21 11:51:56 -04:00
Benjamin Piwowarski
382b42d6c2 OS X: Title bar can be clicked to access file path 2014-04-21 11:51:28 -04:00
Benjamin Piwowarski
4e38cf1524 Fix problem with python and change of PATH
- waits that lyxrc has been read before finding python
- when the PATH changes, resets the value
2014-04-21 11:51:28 -04:00
Benjamin Piwowarski
2da0d32771 CMake: specific modules for Qt5 2014-04-21 11:51:04 -04:00
Benjamin Piwowarski
14de3aa49b CMake install and bundling improvements (esp. OS X)
This patch improves the cmake bundling process:
- reworked bundle handling for OS X: only when installing resources are copied, otherwise
only the smallest bundle is built
- on OS X, the utility programs (tex2lyx) are now installed in the right location
- it removes some unneeded BUNDLE DESTINATION
- it provides a basic support for QT plugins inclusion
- it properly builds a disk image on OS X (only the background image is missing)
- it fixes the library paths for all executables (not only LyX)
- Use the COPYING file for cmake install license
2014-04-21 11:51:04 -04:00
Benjamin Piwowarski
c2e67a41ce Objective-C compililation support with cmake and C++11
This fixes an issue whe compiling with C++11 flags on: The
objective-C clang compiler produces an error. This patch waits
avoid including specific C++ flags and uses LYX_CPP_SPECIFIC_FLAGS
to store the confliciting flags (for the moment, just C++11).
2014-04-21 11:51:04 -04:00
Jean-Marc Lasgouttes
4356f2254a Respect group integrity when removing stuff from the Undo stack.
Fixes: #9079
2014-04-20 19:01:07 +02:00
Stephan Witt
024e1175dc Apple recommends the use of drain instead of calling release for NSAutoreleasePool objects 2014-04-19 18:27:14 +02:00
Juergen Spitzmueller
bf0d854654 Typo. Sorry. 2014-04-09 11:29:40 +02:00
Juergen Spitzmueller
148317b60c Do not stop on BibTeX errors.
BibTeX errors are still reported via the BibTeX Log dialog, but users are not actively pointed to it.
The feature might be re-enabled in 2.2.
2014-04-09 11:17:53 +02:00
Juergen Spitzmueller
21f62c7184 Fix iterator invalidation. 2014-04-06 19:21:47 +02:00
Juergen Spitzmueller
fb21a63339 Set cursor pos after cursor idx to avoid invalid cursor.
Fixes: #9076
2014-04-04 11:39:22 +02:00
Richard Heck
130c375174 Remove obsolete formats from file dialog
It is confusing for the users to see the formats 1.3--1.6 in the file-open
dialog and not the 2.0 format. The exotic extensions were only used when
e.g., LyX 1.6.x exported to LyX 1.5.x format.
2014-04-01 21:53:50 +02:00
Vincent van Ravesteijn
3fb7394db8 Initialize variable to fix Counter 0 problem
Fixes: #9070
2014-04-01 21:41:13 +02:00
Vincent van Ravesteijn
53b60462ac Revert "Fixing #7987: deleted text in change-tracking mode is not found in Advanced F&R any more."
This reverts commit cb351665f4.
2014-03-29 22:21:40 +01:00
Benjamin Piwowarski
ac8b77fc03 Fix problem with python and change of PATH
- waits that lyxrc has been read before finding python
- when the PATH changes, resets the value
2014-03-29 22:19:03 +01:00
Georg Baum
e85e9424b3 Fix display of predefined macros (bug #9059)
This was a regression of e86cdc40: A newly introduced member variable was
not initialized in the constructor, which made it quite random whether symbols
like \coloneqq where displayed correctly or as an empty edit box.
2014-03-28 23:16:36 +01:00
Tommaso Cucinotta
cb351665f4 Fixing #7987: deleted text in change-tracking mode is not found in Advanced F&R any more.
Merged Paragraph::stringify into asString().
Added ignore of deleted text to Advanced F&R.
2014-03-27 23:36:15 +00:00
Pavel Sanda
0f8a2d2860 Squash gcc warning.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg183142.html
2014-03-27 01:12:26 -07:00
Scott Kostyshak
23a28e78a8 Bump RC format for commit 214f7ed2 2014-03-19 21:56:31 -04:00
Vincent van Ravesteijn
99c5a46c68 Fix comparing a pointer with a char
Fixes: #8985.
2014-03-19 21:08:50 +01:00
Vincent van Ravesteijn
3c67d6f77c Add a comment for the special code on Windows 2014-03-19 21:07:43 +01:00
Juergen Spitzmueller
aeb51be944 Re-add removed workaround (fixes #9042).
This code was commented out at [ad94e7bd/lyxgit], since we thought it was not necessary anymore and then removed at [5aede959/lyxgit]. Bug #9042 is the evidence that we were wrong.
2014-03-19 16:21:46 +01:00
Richard Heck
1c76460858 A a copule comments reminding us where preference formats should
be updated.
2014-03-19 11:05:34 -04:00
Richard Heck
1d9d51c4b3 Whitespace. 2014-03-19 11:04:56 -04:00
Vincent van Ravesteijn
d44b465efa Do not use QProcess::startDetached on Windows
QProcess::startDetached cannot provide environment variables. When the
environment variables are set using the latexEnvCmdPrefix, a console
window is shown every time a viewer is started.

On Windows, this reverts commit 5225821242.

Fixes: #9035.
2014-03-19 08:29:38 +01:00
Jean-Marc Lasgouttes
264ea28cbd Fix bug #8837: LyX hangs on selection
The code that checks whether the cursor was at the end of a row in
Cursor::upDowninText was not able to set boundary correctly. This
causes a hang in because the cursor got stuck on a line and there is an
infinite loop BufferView::dispatch when trying to go down.

The fix is to avoid using the watered-down TextMetrics::x2pos wrapper
around getColumnNearX and use the real thing instead.

Eventually, the last user of x2pos (InsetTabular) should be fixed and
the method should go away.
2014-03-17 11:15:42 +01:00
Jean-Marc Lasgouttes
a27333144d Also show boundary when displaying Cursor value. 2014-03-17 11:14:19 +01:00
Jean-Marc Lasgouttes
220fe66a67 Remove duplicate call to Cursor::selHandle 2014-03-17 10:55:49 +01:00
Richard Heck
717d19d3c3 Fix for bug #8939: Don't just close if the user enters a shortcut
that is already assigned.

From new contributor Roy Xia.
2014-03-15 23:05:48 -04:00
Richard Heck
a818ed0aab Accidentally overwrote this commit of Vincent's. 2014-03-15 12:09:35 -04:00
Jean-Marc Lasgouttes
a8c05f20be Whitespace only. 2014-03-14 14:22:26 +01:00
Georg Baum
f7e06dbf16 Fix wrong comment (thanks Enrico) 2014-03-13 21:02:41 +01:00
Juergen Spitzmueller
7c1fc6ea75 Include child's own authors when using BufferParams from master. 2014-03-13 06:43:38 +01:00
Georg Baum
362630fba1 Add comments about putenv() usage
Again thanks to Enrico.
2014-03-10 20:59:03 +01:00
Georg Baum
e3714947b0 Add comment (thanks Enrico) 2014-03-10 20:52:51 +01:00
Richard Heck
bdaad6e6ff This is not a recoverable error. 2014-03-10 15:39:43 -04:00
Vincent van Ravesteijn
ce26efcbd4 Revert "Fix opening files from command line"
Reverted because of
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181795.html.

This reverts commit d1db30a188.
2014-03-10 20:05:48 +01:00
Vincent van Ravesteijn
3dec25e5a7 Revert "Return an error if file-open is called with a non-absolute path"
Reverted because of
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181795.html.

This reverts commit 9c4461deea.
2014-03-10 20:05:28 +01:00
Vincent van Ravesteijn
2db3f50186 Revert "Return an error on file-open only when a filename is given"
Reverted because of
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181795.html.

This reverts commit a4d881c58e.
2014-03-10 20:05:18 +01:00
Vincent van Ravesteijn
0bd907b7b8 Gracefully return a value if an invalid author is requested 2014-03-10 20:02:57 +01:00
Juergen Spitzmueller
656586d9fc Unblock some more internal qt events while doing advanced f&r. This fixes #9009 and some remaining drawing problems for me. 2014-03-10 09:07:36 +01:00
Georg Baum
c9a49d2145 Arrgh, fix warning 2014-03-09 18:49:09 +01:00
Georg Baum
a6f4aa2d18 MSVC compile fix 2014-03-09 18:19:01 +01:00
Tommaso Cucinotta
eef602cc9e Prevent LyX from freezing in additional common cases where it would
try to show dialogs or ask for user input while doing advanced find
and replace. In many of these cases we should simply find a way for
avoiding lyx to show a dialog, however an extra info/warning dialog
is better than the GUI freezing and having to kill the process.
2014-03-09 15:43:58 +00:00
Georg Baum
23752e6114 Disable unicode math symbol replacement.
This seems to work only in some cases, so better display the symbol in ERT.
2014-03-09 10:57:09 +01:00
Georg Baum
1b675d3a62 Prevent the most important case of bug #9012
Currently you can easily create an uncompilable document if you insert
non-ASCII characters in a pass-through paragraph (e.g. ERT inset or verbatim
style). This commit prevents entering these characters directly, but of
course they can still be inserted via tricks, e.g. changing a standard
paragraph to verbatim. A complete fix would handle this case as well,
and also change the fixed latin1 encoding of latex_language to a dynamic one,
so that a verbatim paragraph can contain any character that is encodable in
the encoding of its environment.
2014-03-09 10:30:20 +01:00
Richard Heck
80b058cb18 Fix some shortcut conflicts (bug 9008). 2014-03-08 17:25:57 -05:00
Stephan Witt
d39eae0a88 #6902: Enable About and similar menu items without view and create a new view if needed 2014-03-08 12:51:02 +01:00
Stephan Witt
0e7eaef349 * fix bug 8925: create a temporary action to avoid a menu with any action. Otherwise it will not shown on Mac OS X 10.9 with Cocoa 2014-03-08 12:49:40 +01:00
Georg Baum
5aede95971 Remove dead code + whitespace 2014-03-08 11:59:39 +01:00
Georg Baum
be0cd47559 Work around broken math symbol display (bug 7954)
This extends the already existing math symbol fallback mechanism in two ways:
1) When considering the availability of the math font, also take broken
   code points into account. These are currently 0x0009 and 0x00ad, depending
   on the platform.
2) If the fallback symbol in the standard "Symbol" font is not given, or if
   the "Symbol" font is not available, or the fallback symbol is one of the
   broken ones, try to use a generic unicode symbol as second fallback instead.
   If this is available, we rely on Qt to find a font which has it. Only if
   this is not available, display the symbol as ERT.
This ensures that we do never get a symbol which is not displayed: Either
it can be displayed, with or without fallback, or it will be shown as ERT.
2014-03-08 11:13:39 +01:00
Georg Baum
a09ec1fe43 whitespace 2014-03-08 10:57:24 +01:00
Juergen Spitzmueller
0dc4f4636f Enable environment-split for standard classes (#9023) 2014-03-07 08:58:24 +01:00
Juergen Spitzmueller
b57eb39731 Disable invalid inset-modify (#9019). 2014-03-06 08:34:32 +01:00
Richard Heck
e86cdc4020 Fix bug #8999 by locking math macros while they are updating. 2014-03-05 18:46:38 -05:00
Richard Heck
f5a7aebdfa Add comment. 2014-03-05 18:07:01 -05:00
Richard Heck
bcf86b8477 Simplify, and delete unused routine. 2014-03-05 17:55:38 -05:00
Richard Heck
c37cacaffb Check in InsetLabel if LFUN_INSET_MODIFY is intended for us.
Every inset should do this.
2014-03-05 17:43:41 -05:00
Benjamin Piwowarski
908c92e831 Updates to AppleScript support, and documentaoin for it. 2014-03-05 15:46:27 -05:00
Juergen Spitzmueller
0c447db0ca Adjust FIXME 2014-03-05 12:16:57 +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
Jean-Marc Lasgouttes
ad56bded03 Bug #9005: various things that do not work as intended in passthru paragraphs
* disable branch-add-insert in pass thru paragraphs

* when it is not possible to input a quote inset, insert a single
  ascii quote when argument to quote-insert is "single"

* handle "mathspace" dialog in Text::getStatus

* disable insertion of newline inset in pass thru paragraphs

* handle "mathdelimiter" and "mathmatrix" dialogs in GuiView::getStatus.
2014-03-04 11:56:03 +01:00
Jean-Marc Lasgouttes
8f8e8ed43c Fix bug #8998: changed document setting is recoded twice as undo
The general trick to avoid this kind of problems is to use undo groups.
2014-03-03 18:28:23 +01:00
Jean-Marc Lasgouttes
c98ce56a03 Fix bug #8884: Crash when "navigate to next change"
The two fixes here a obviously right, although it is not clear why they are sufficient to fix the bug. Anyway I cannot reproduce any crash with it.

 * the first part just conditions a whole if/else to change_next_pos.changed(). Originally, only the if branch was concerned.

 * the second part is to avoid calling CursorSlice::backwardPos() when position is 0. Doing this leads to an assertion.
2014-03-03 11:16:56 +01:00
Juergen Spitzmueller
5c4acd6bc0 Add FIXME 2014-03-03 10:45:40 +01:00
Juergen Spitzmueller
4824f7c9db Fix crash after undo following replacement of a multicell selection (#8973). 2014-03-02 13:21:59 +01:00
Georg Baum
8097911a9f Fix crash if magic_file() returns an error
Thanks to Benjamin Piwowarski who reported the problem and provided a fix.
magic_file() returns a NULL pointer if an error occurs, and due to a bug
this happens frequently on OS X: https://trac.macports.org/ticket/38771
I did not use the original patch, since I did not want to put a platform
specific workaround in (this needs further discussion), but the crash can
occur on all platforms and needs to be fixed.
2014-02-28 22:42:38 +01:00
Georg Baum
5dedf8005d Fix dataloss for align env inside math
The math parser aborts with an error message on \begin{align} and
\begin{align*} if this is not the hull inset. This is now fixed, however
this is not complete support for these two environments (the GUI does not
respect the numbering). It is only the minimal fix that ensures that no data
loss occurs for documents imported by tex2lyx.
2014-02-27 21:25:19 +01:00
Georg Baum
7f373e8de1 Fix misparsing of alternative simple formulas
This comes from trying to run tex2lyx on the AMS math test document
testmath.tex. Both \(...\) and \begin{math}...\end{math} are defined as
inline math formulas in standard LaTeX. tex2lyx recognizes this, but the
math parser in LyX did not handle "\begin_inset Formula \(" and
"\begin_inset Formula \begin{math}" correctly.
The fix is simple and safe: If we are in undecided mode (this is only true
for the first token of a math inset), create a hull inset of the respective
kind. Otherwise, handle the commands as before.
2014-02-26 21:54:09 +01:00
Georg Baum
9130bdb5ec Add missing math delim decorations
This avoids a message "Deco was not found. Programming error?" on stderr.
The added decorations are defined by amsmath, and equivalent to \vert (single
vertical bar) and \Vert (double vertical bar), respectively. They are used to
distinguish the single and paired versions (for use with \left and \right).
These symbols should cause amsmath to be loaded, but this would be too
dangerous to implement now.
2014-02-26 21:18:31 +01:00
Georg Baum
f4dd0ba561 Load listings after babel (bug #8995)
Babel makes the character ':' active in french documents, and the listings
package cannot cope with that if it is loaded before babel. If it is loaded
after babel it works. This makes the french EmbeddedObjects manual compilable.
2014-02-26 20:43:04 +01:00
Richard Heck
6a85db2307 Table cells are insets, but not from the point of view of DocIterators
and Cursors. So just calling InsetText::addToToc for the cells causes
problems, because InsetText::addToToc then adds the cell inset itself
as part of the DocIterator. This then leads to assertions, such as bug

The solution is to refactor InsetText::addToToc so that we can call the
iterating part without adding the inset.
2014-02-25 20:54:29 -05:00
Prannoy Pilligundla
214f7ed262 Allow statusbar to be set on or off in full screen mode as a
preference.
2014-02-25 20:48:56 -05:00
Georg Baum
bd79001387 whitespace 2014-02-25 21:21:47 +01:00
Georg Baum
89c7d0eea3 Remove unsupported optional argument.
Thanks Jürgen for insisting. The \caption* command of long tables does indeed
not support optional arguments.
2014-02-25 20:05:07 +01:00
Juergen Spitzmueller
e359d8f5ca Fix caption counter in longtables (see #8993). 2014-02-25 08:00:43 +01:00
Juergen Spitzmueller
4066d3818e whitespace 2014-02-24 16:40:57 +01:00
Juergen Spitzmueller
3cba653a67 Allow to unset header/footer in caption rows (#8990). 2014-02-24 10:12:21 +01:00
Richard Heck
7b46aa8fbb Forgot in previous commit to deal with case. As I'm doing it now,
it's easy to use the existing docstring routine, so I've commented
out the string version of lowercase I had introduced. I've left the
code in case someone else needs it later.
2014-02-23 12:04:56 -05:00
Richard Heck
e5ea535952 If the selection is some sort of URL, then make it the target, not
the name, in the hyperlink. Fixes bug #8792.

This also fixes a bug discovered while working on this code: The
params passed to GuiHyperlink were never used.
2014-02-23 11:36:54 -05:00
Richard Heck
fabf507902 Whitespace. 2014-02-23 11:33:56 -05:00
Juergen Spitzmueller
5c1731b060 Fix #8657 on Linux.
On windows, there is apparently some more work to do.
2014-02-23 13:33:04 +01:00
Georg Baum
52072b9b4e Fix crash on recursive include (bug #8994)
The problem was that collectBibKeys() was called before the recursive include
check was done. Now collectBibKeys() works even for recursive includes, and
your get a proper error message if you try to change the file name to the
parent file.
2014-02-23 12:33:15 +01:00
Georg Baum
418d4c02d2 Fix bug #8992 without reintroducing #8933
At efa0f198 I introduced a more flexible caption handling for long tables.
This was needed to fix tex2lyx bug #7412. Unfortunately this created bug #8933,
since I forgot to output captions to LaTeX which are not in any header or
footer. This was fixed at 2b941da7f, but this introduced bug #8992 (duplicate
caption output).
This commit is hopefully the final fix: Captions which are in header or footer
lines are output with the header or footer line, and captions in standard
lines are output standalone.
2014-02-23 10:55:23 +01:00
Georg Baum
877e73e0a2 Fix bug #8784 (mathml export for scripts)
For displaystyle scripts we need to use munder, mover or munderover.
2014-02-22 19:01:20 +01:00
Enrico Forestieri
3c1969574f Fix bug #8889 by always issuing \protect in fragile environments. 2014-02-22 10:30:55 -05:00
Georg Baum
270201ed67 Fix bug #8891 (wrong depth of copied text)
This was an obvious thinko: When pasting a paragraph list the depth of the
pasted paragraphs need to be adjusted, so that no paragraph has a negative
depth afterwards. However, the maximum allowed depth was only adjusted after
the second and following pasted paragraphs. Since the computed value was only
used for the subsequent paragrph this meant that the second paragraph did
still use the same maximum allowed depth as the first one, which came from the
paragraph the text as pasted into. This was wrong e.g. in case the outside
paragraph was a standard paragraph (max_depth = 0), and the first pasted
paragraph was an enumeration (max_depth = 1). Therefore, max_depth needs to
be adjusted also after the first pasted paragaph. Since the adjustment is
done aftre max_depth was used for the current paragraph the condition
mentioned in the comment is still met.
2014-02-22 11:02:50 +01:00
Pavel Sanda
02bde93d2a Allow statusbar toggling in fullscreen (part of #8816). 2014-02-22 00:21:17 -08:00
Georg Baum
acb7906fb5 Fix remaining part of bug #8967
Now interactive insertion of \smash[t] and \smash[b] is possible again.
\smash with optional argument behaves now exactly as in LyX 2.0.x, and without
optional argument it is supported by InsetMathPhantom.
2014-02-21 21:31:35 +01:00
Scott Kostyshak
731b8610af Allow $$s converter substitution if 'latex' flag
A more general patch will be committed for 2.2 that
centralizes replacement of $$s in startScript().
2014-02-21 12:51:48 -05:00
Scott Kostyshak
9ca242e5bf moveColumn now also swaps column_info
For example, width and alignment are now swapped.

Same for moveRow.
2014-02-21 09:40:16 -05:00
Scott Kostyshak
f52eb9d823 Comment a minor bug not worth fixing (#8986) 2014-02-19 16:21:46 -05:00
Georg Baum
227675ee02 Fix regression of 18779013 for \smash
When adding native support for \smash in 18779013 I overlooked that amsmath
redefines \smash to take an optional argument t or b. These optional
arguments are not parsed correctly anymore (bug 8967). This change fixes
the regression, so that \smash with optional argument appears in red, as it
was before th introduction of the native smash inset.
In the future, we should have native support for \smash[t] and \smash[b]
as well, but this would be a file format change (automatic amsmath loading),
and it is too late for 2.1.0.
2014-02-19 20:50:57 +01:00
Stephan Witt
cfe9724a4c add -fobjc-exceptions for compiling linkback sources with g++ and cmake on Mac
Original patch is from Ramanathan Vishnampet
2014-02-19 16:11:03 +01:00
Richard Heck
7220f1459e Fix bug #8540 by not resetting the GUI if the request came from
the minibuffer. As the comments explain, this leaves a different
bug, but (a) it isn't a crash and (b) it probably won't affect
many users, if *any* users.
2014-02-18 10:42:52 -05:00
Richard Heck
0a5b33bcad Rename a routine. 2014-02-18 10:42:52 -05:00
Uwe Stöhr
789a6ebf2a InsetMathXArrow.cpp; code simplification 2014-02-17 02:11:57 +01:00
Uwe Stöhr
e9ce68dddc InsetMathXArrow.cpp: the cells of \xleftarrow must be centered
the cells are centered in the output so also center them in LyX
2014-02-17 01:23:16 +01:00
Uwe Stöhr
8c33f73cc7 MathSupport.cpp: fix drawing of leftrightarrow
- to see the difference use this in a formula:
\overleftrightarrow{aasasasasassdsdsdasdsdsd}
2014-02-17 01:19:31 +01:00
Juergen Spitzmueller
cc7c042dda Fix localization of captions (#8977) 2014-02-16 10:23:30 +01:00
Juergen Spitzmueller
e0e8d6a40f Simplification 2014-02-16 09:57:17 +01:00
Richard Heck
27af044a2d It's definitely not safe to continue in this case. The cursor is
invalid. So we should try to save the document before anything
really bad happens.
2014-02-15 20:56:13 -05:00
Jean-Marc Lasgouttes
d25e273abf Whitespace 2014-02-14 12:00:56 +01:00
Richard Heck
2e23f1719e This is meant to be almost UINT_MAX, but needn't really be that
big, and I don't see the point of pulling in limits.h.
2014-02-13 17:55:53 -05:00
Jean-Marc Lasgouttes
2b1791641f Fix various typos in LFUNs.lyx 2014-02-13 14:20:43 +01:00
Jean-Marc Lasgouttes
e7a1cce551 Rename some LFUN names to match their text name
Also, rename copy-label-as-reference to label-copy-as-reference and update LFUNs.lyx accordingly.
2014-02-13 13:50:33 +01:00
Richard Heck
b7a1eb68e1 Fix bug #8944 by introducing a maximum size for keys we process.
The problem is caused by the fact that Encodings::fromLaTeXCommand
is very slow. It's not clear to me if that can be fixed, or if that
is just how things are. Georg suggested another time that we might
use tex2lyx in or instead of convertLatexCommands() in BiblioInfo.cpp,
but I don't know if that would much faster. The author string in the
example file is 32K characters long. As long as some files tex2lyx
would convert.
2014-02-12 13:28:26 -05:00
Georg Baum
6b49b6b129 Fix conflicting inset font defaults (bug #8874)
This makes the defaults of Inset::inheritFont() and Inset::resetFontEdit()
compatible. There is no user visible change except for the Chunk inset which
does not produce invalid LaTeX after editing operations anymore.
This is the safe version for 2.1.0, for later there are still open questions:
- All insets with ResetsFont true should be audited: Is this really needed,
  or do they show similar editing problems as the Chunk inset?
- Does inheritFont() need to be customizable in the layout file as well?
- Is resetFontEdit() != !inheritFont() needed at all?
I did not use change tracking for the docs, since I updated all existing
translations.
2014-02-10 22:06:32 +01:00
Juergen Spitzmueller
8b1504d7ad Do not crash with empty (invalid) math environments (part of #8359) 2014-02-10 09:24:14 +01:00
Juergen Spitzmueller
d4f04513c2 Fix LFUN_MATH_AMS_MATRIX: it was possible to generate corrupt documents (part of #8359) 2014-02-10 09:23:17 +01:00
Juergen Spitzmueller
fa6b388cb3 Do not issue module warnings when just cloning a buffer (#8864) 2014-02-09 11:16:20 +01:00
Scott Kostyshak
1fd32312e9 Right border of multicol should be set if 1 column
This commit fixes a bug uncovered by the fix to #8082:
If you create a table, select all columns in a row,
and set as multicolumn, the right border used to be unset.
2014-02-08 00:13:10 -05:00
Vincent van Ravesteijn
77d532bd51 Compare: Add the authors from the 'other' document
Otherwise the resulting document may contain references to authors that are not present in the author list, which results in a crash.

Fixes-bug: #8769
2014-02-07 23:14:36 +01:00
Vincent van Ravesteijn
fc6b8c64f8 Return true to indicate we might have invalidated the cursor
If we don't do so, Cursor::notifyCursorLeavesOrEnters might continue with
an invalidated cursor.

Fixes-bug: #8329
2014-02-07 23:04:15 +01:00
Vincent van Ravesteijn
795535e44f Do not try to track_change an auto-deleted bibitem
We are not capable of handling two bibitems within one biblio paragraph.
That's why we have functions like Paragraph::brokenBiblio() and
Paragraph::fixBiblio(). So, if we fix the biblio by deleting the second
bibitem, we should not keep it as deleted.

This code caused a crash because the inset was released, but still kept as
deleted.

Fixes-bug: #8646.
2014-02-07 22:55:05 +01:00
Juergen Spitzmueller
6837345209 Fix crash 2014-02-06 13:07:00 +01:00
Juergen Spitzmueller
b13f5dee53 Fix assertion in editing math (bug #8946) 2014-02-06 11:09:02 +01:00
Vincent van Ravesteijn
ebf18a9711 Fix wrong painting of lines right of multicol
We should skip the other cells that are part of the multicolumn before we find the cell right to the current one.

Fixes-bug: #8082
2014-02-05 21:37:57 +01:00
Georg Baum
c616c7e73f Add more paste lfun doc from bug #8749. 2014-02-04 22:22:54 +01:00
Juergen Spitzmueller
5a669fa62b Style 2014-02-04 10:37:29 +01:00
Vincent van Ravesteijn
cda585baf5 CMake: Move biblio test projects into tests group 2014-02-03 20:07:09 +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
Kornel Benko
3369de6d7c Added test for algo2e tex2lyx conversion
Testfile from Jürgen Spitzmüller
2014-01-28 13:58:28 +01:00
Juergen Spitzmueller
f76a8c8ab1 tex2lyx: support algorithm2e (#8728) 2014-01-28 12:44:22 +01:00
Jean-Marc Lasgouttes
bab58480bc Do not skip space at start of row (fixes #8947, #8838)
TextMetrics::getColumnNearX (x -> pos translation) has special code to
ignore spaces at the beginning of a row, but neither the display code
nor TextMetrics::cursorX (pos->x translation) follow this logic. One
might argue that spaces should actually be ignored (like LaTeX does),
but this leads to UI issues and is probably too difficult to
implement.
2014-01-28 11:04:31 +01:00
Juergen Spitzmueller
ef5d702325 Harmonize naming 2014-01-27 12:04:58 +01:00
Juergen Spitzmueller
e6c5f9a17c Whitespace 2014-01-27 11:14:24 +01:00
Juergen Spitzmueller
5a3f1a731f Extend environment-split to an 'outer' split function
This fixes a major beamer UI flaw reported by several users.
2014-01-27 08:01:24 +01:00
Richard Heck
9d7f25a4ae Do not allow newlines in subfloats. Fixes #8752. 2014-01-26 14:23:40 -05:00
Juergen Spitzmueller
35e64bf951 Allow usage of algorithm2e package (#8744)
This simple module allows users to use the algorithm2e package at all. Before, it was not possible with LyX, since this package conflicts with LyX's own algorithm support (see also #8728)
2014-01-26 19:23:40 +01:00
Juergen Spitzmueller
2b941da7fc Fix longtable captions (#8933)
Don't know why this code is now needed again (or why it had to be removed in the first place).
2014-01-25 09:33:23 +01:00
Stephan Witt
01969e59fb #8932 improved spell checker debug messages 2014-01-15 21:20:05 +01:00
Scott Kostyshak
27131e655a Shortcut box now stays open if bad input (#8703)
This allows the user to correct the bad input without
having to enter the other fields again in a new dialog.

Patch from Martin Hoffmann.
2014-01-14 08:04:05 -05:00
Jean-Marc Lasgouttes
2a99afee94 Handle undo in `branch-add' LFUN 2014-01-13 17:32:32 +01:00
Kornel Benko
5efd59733a Remove warning 2014-01-05 10:04:23 +01:00
Stephan Witt
358e9ab31b fix Symbols dialog box grid size in case of broken QFontMetrics::maxWidth() 2014-01-04 20:14:06 +01:00
Enrico Forestieri
581400937d Fix file dialogs with Qt 5.2.0 and later.
See https://bugreports.qt-project.org/browse/QTBUG-34132

   * [QTBUG-34132] QFileDialog does no longer instantiate widgets if a
     native dialog will be used instead.  Therefore some accessors
     which previously returned unused objects will now return null.
     As before, you can set the DontUseNativeDialog option to ensure
     that widgets will be created and used instead.

Seemingly, Qt uses native dialogs by default starting from version 5.2.0.
When trying to open a file dialog, LyX segfaults in release mode, whereas
Qt asserts in debug mode:
ASSERT failure in QList<T>::at: "index out of range",
file /usr/local/qt/5.2.0/include/QtCore/qlist.h, line 472

This is avoided by explicitly setting the DontUseNativeDialog option
in the code path selected by *not* setting USE_NATIVE_FILEDIALOG.
This option was introduced in Qt 4.5, which is the minimum required
for compiling LyX. So, it is not protected by a preprocessor macro.
2013-12-24 17:21:56 +01:00
Juergen Spitzmueller
49d3557d0c Correct \file statement 2013-12-21 12:58:23 +01:00
Jean-Marc Lasgouttes
f7b0ecb64e Remove obsolete comment
It is not possible to make editXY const because of checkInsetHit, getPitNearY and getPitandRowNearY that modify the TextMetrics object.
2013-12-20 14:14:32 +01:00
Georg Baum
62a1dabcfc Fix typo 2013-12-15 12:19:12 +01:00
Juergen Spitzmueller
ed1ef9d740 Fix typo 2013-12-14 15:09:23 +01:00
Juergen Spitzmueller
0766f94ee0 Recognize changed babel error message (rewording) 2013-12-14 13:19:40 +01:00
Juergen Spitzmueller
3f9e644c25 Do not load the tipa package when fontspec is used
This was until now only cared of by the IPA inset, not by unicodesymbols.
2013-12-14 09:13:17 +01:00
Georg Baum
99cdabd206 Fix writer2latex quote handling (bug #8903)
writer2latex surrounds quotes by braces which we skip to avoid useless ERT.
I broke this in 25fe87e5 which made Parser::next_next_token() not recognize
that it needed to parse one more token. If we had a unit test for the Parser
class it would probably have detected that. Now we have at least a test for
the special quote.
2013-12-11 21:54:26 +01:00
Vincent van Ravesteijn
d1db30a188 Fix opening files from command line
Fixes: 9c4461de
2013-12-10 19:19:17 +01:00
Juergen Spitzmueller
740c247dfe Do not load the xunicode package with TeX fonts 2013-12-05 17:39:16 +01:00
Vincent van Ravesteijn
a4d881c58e Return an error on file-open only when a filename is given
Fixes: 9c4461de
2013-12-03 06:37:27 +01:00
Vincent van Ravesteijn
9c4461deea Return an error if file-open is called with a non-absolute path 2013-12-02 21:04:46 +01:00
Juergen Spitzmueller
027b5dc4af Rerun makeindex if all nomencl entries have been removed (#8905) 2013-12-02 14:36:18 +01:00
Juergen Spitzmueller
44df37ab2a Check if string holds absolute file name before passing to FileName
See http://comments.gmane.org/gmane.editors.lyx.cvs/38213http://comments.gmane.org/gmane.editors.lyx.cvs/38213
2013-12-02 09:50:21 +01:00
Georg Baum
08c5d34922 Make -userdir available to child processes
Otherwise tex2lyx would not find textclass.lst, and thus TeX import and
paste from LaTeX would not work.
2013-12-01 22:11:55 +01:00
Richard Heck
f8f1232465 Fix bug #8727: Text::breakParagraph() was always setting the default
layout, even if the paragraph in question requires plain layout.
2013-12-01 13:23:43 -05:00
Juergen Spitzmueller
b3a8abffc7 Load the CJK package if requested
The package was not loaded if a the main language was not CJK, the main encoding was non-default and the document had a secondary CJK language.
2013-12-01 10:57:36 +01:00
Juergen Spitzmueller
afab1140e9 Add a real Cancel button to 'Already Loaded' dialog box (part of #8787).
Also correlate the other buttons more explicitly to the question asked.
2013-11-28 17:06:49 +01:00
Juergen Spitzmueller
0445c8e08e Revert "Properly name Cancel button (part of #8787)"
This reverts commit aa5ef5bbbe.
2013-11-27 08:38:42 +01:00
Juergen Spitzmueller
aa5ef5bbbe Properly name Cancel button (part of #8787) 2013-11-26 16:16:24 +01:00
Juergen Spitzmueller
766e8b1e33 Also when not using tabs, do not open a file twice if already opened (part of #8787) 2013-11-26 16:12:52 +01:00
Richard Heck
460c80f851 Prettify the tooltip for footnotes. 2013-11-26 10:08:35 -05: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
Kornel Benko
805e51eff8 Implement file locking and apply to configure
Functions for file locking are added. They are used for ensuring that
for specified userdir only one LyX process runs configure.
2013-11-20 19:40:32 +01:00
Juergen Spitzmueller
dd739820d2 Set default to button which does _NOT_ discard data (part of #8787) 2013-11-18 15:06:32 +01:00
Juergen Spitzmueller
50bcd6ed7b Use the master buffer's param when compiling as a child (#8893) 2013-11-18 08:46:50 +01:00
Pavel Sanda
a3d685c16c Add Georg's comments from #8749. 2013-11-17 11:11:03 -08:00
Pavel Sanda
105f9bb5d9 Get rid of one useless translation.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg181106.html
2013-11-17 10:41:18 -08:00
Juergen Spitzmueller
7e259c8d76 Do not reset custom space values if accessed via context menu (#8847) 2013-11-15 19:41:36 +01:00
Juergen Spitzmueller
c89ae3b517 Add missing widget update 2013-11-15 19:29:15 +01:00
Juergen Spitzmueller
e014f3fabf Some fixes to the SaveAs dialog
LFUN_BUFFER_SAVE_AS has an optional argument where an initial format can be preset

This fixes:

* The remainder of bug #3402: Open Export As dialog when attempting to export to read-only directories
* Bug #8886: 'export as' should default to the default document output format
2013-11-15 09:20:07 +01:00
Juergen Spitzmueller
ed268ac9f7 Clarify description 2013-11-15 08:57:11 +01:00
Juergen Spitzmueller
ab96df492a List all exportable document formats in the Save As dialog, not only the selection from the export menu 2013-11-15 08:56:13 +01:00
Scott Kostyshak
1e365fe315 Focus on custom line edit when custom is selected
Do so for the horizontal and vertical space dialogs.
2013-11-15 01:03:14 -05: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
Juergen Spitzmueller
f83ac67e1a Fix language issues in Argument read (#8471) 2013-11-14 17:44:03 +01:00
Juergen Spitzmueller
3ccb2a1691 Also consider main language in hasOnlyPolyglossiaLanguages() and hasPolyglossiaExclusiveLanguages() 2013-11-14 17:40:47 +01:00
Juergen Spitzmueller
68a4a53b36 Do not try to validate custom value in VSpace dialog if it is disabled 2013-11-14 10:42:24 +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
Juergen Spitzmueller
70b0298fe2 Fix shortcut clash (bug #8878)
Patch by charley
2013-11-12 16:27:32 +01:00
Juergen Spitzmueller
7e22abec5d Fix bug 8880: do not try to validate custom value if it is disabled 2013-11-12 15:48:34 +01:00
Georg Baum
14a5d07df6 Fix encoding for copying LaTeX from clipboard
If we call tex2lyx on a temporary file created from the clipboard, the
file is always in utf8 encoding, without any temporary changes, even if it
contains encoding changing LaTeX commands. Therefore, we must tell tex2lyx
to use a fixed utf8 encoding for the whole file, and this is done using the
new latexclipboard format. Previously, tex2lyx thought the encoding was
latin1.
As a side effect, the -e option is now also documented in the man page.
2013-11-11 21:52:14 +01:00
Juergen Spitzmueller
ce8ec78783 Fix crash when using context menu in empty outliner
Fixes: #8885
2013-11-10 15:31:27 +01:00
Tommaso Cucinotta
275f269cb7 Advanced F&R dialog does not need to be restored at start-up. 2013-10-26 18:37:25 +01:00
Enrico Forestieri
45a6a9362c Ditch the quote_python flag.
This was discussed on the list some months ago:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg179563.html
2013-10-13 23:57:33 +02:00
Vincent van Ravesteijn
514aef937a Revert "Fix make distcheck for monolithic build"
This was committed by accident.

This reverts commit 9734ab7e34.
2013-10-12 02:41:36 +02:00
Vincent van Ravesteijn
9734ab7e34 Fix make distcheck for monolithic build 2013-10-12 02:38:15 +02:00
Vincent van Ravesteijn
6ed292122d Make the export of macros thread-safer
When we export the file to latex, we use the redefinition_ variable to check whether we should output newcommand or renewcommand. This variable was set by the MathMacroTemplate::metrics() function, and this caused problem when the export is running in a different thread as the GUI.

In general, the metrics() functions should not change the Buffer; we have updateBuffer/updateMacros for that purpose.
2013-10-12 02:36:08 +02:00
Tommaso Cucinotta
acbba50a65 Added tooltip to new math-only checkbox in advanced options of advanced find & replace. 2013-10-13 11:36:38 +01:00
Juergen Spitzmueller
36730a2f3f fix macro order for newsubfloat 2013-10-13 11:45:59 +02:00
Tommaso Cucinotta
b93f2c20d3 Added restrict-search-to-maths-only checkbox to advanced pane of Advanced F&R. 2013-10-13 00:59:46 +01:00
Georg Baum
561c5bfd50 Fix missing updates for lazy MacroData
Not all accessors did update the data previously. Therefore it could happen
that document export from the command line would output \newcommand, and from
GUI it would output \renewcommand for the same macro, simply because in the
GUI case the data was updated as a side effect of the GUI thread reading some
other member.
I also removed the mutable flag for requires_, since this member is always
set on construction and does not need any lazy update.
2013-10-11 20:38:05 +02:00
Jean-Marc Lasgouttes
50af06c29b Implement reading of mo files with bad byte endianness 2013-10-11 17:21:16 +02:00
Juergen Spitzmueller
969f49c2c5 Fix unbalanced bracket problem with CJK
The bug was introduced with commit [47f7d447/lyxgit], where the unnecessary trailing bracket in CJK environments was suppresed, but not the preceding bracket (which is only output if CJK is a secondary language).
2013-10-11 12:19:41 +02:00
Georg Baum
6a30211fef Make encoding conversions thread safe
This is the result of the discussion on the list "2.1.0 Blocker". Thanks to
all contributors!
The main idea is to use thread-local storage for all static variables.
This solution does not need any mutex. For more details, see the comment in
unicode.h.
2013-10-10 21:20:44 +02:00
Georg Baum
3e83380350 Remove questionable Mutex copy code
It is no longer needed, and it had a comment that it needed review...
Now anybody who tries to make a copy again is forced to think about it,
instead of trying and using possibly wrong semantics by accident.
2013-10-08 22:06:55 +02: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
Jean-Marc Lasgouttes
f835134f16 Fix bug #8859: crash on alignment of two cells in tabular
The solution is the same as the other text-properties lfuns: use special loops when there is a multi-cell selection.
2013-10-04 12:52:00 +02:00
Vincent van Ravesteijn
c75db6757a Remove the TEX2LYX define when compiling tex2lyx 2013-09-29 15:26:23 +02:00
Vincent van Ravesteijn
8164fea772 Encodings: Use BufferEncodings where needed 2013-09-29 15:26:22 +02:00
Vincent van Ravesteijn
88d0939166 Encodings: Make members of CharInfo private 2013-09-29 15:26:20 +02:00
Stephan Witt
2e23774c6c Encodings: Split off the functions that need Buffer
This is needed to be able to use Encodings in tex2lyx without the need to
compile Buffer as well, or to use a TEX2LYX define.
2013-09-29 15:26:18 +02:00
Vincent van Ravesteijn
01e94f5e03 Encodings: Add CharInfo to Encoding.h 2013-09-29 15:26:17 +02:00
Jean-Marc Lasgouttes
72c13323d8 Remove dependency on NO_LAYOUT_CSS #define in Layout.cpp
Remove all traces of this #define.
2013-09-29 15:26:15 +02:00
Jean-Marc Lasgouttes
fa5519d4f0 Move tex2lyx dummy implementations in their own file.
Also try to document their use.
2013-09-29 15:26:13 +02:00
Jean-Marc Lasgouttes
9a1e972edb Remove dependency on TEX2LYX #define in ModuleList.cpp 2013-09-29 15:26:12 +02:00
Jean-Marc Lasgouttes
aef31d666e Remove dependency on TEX2LYX #define in Lexer.cpp 2013-09-29 15:26:10 +02:00
Stephan Witt
b293bd3670 cosmetics: remove unneeded std:: prefix
Amended-by: Vincent van Ravesteijn <vfr@lyx.org>
2013-09-29 15:15:17 +02:00
Juergen Spitzmueller
1ace930f7d Handle is_child runparam in preview (bug #8445) 2013-09-29 14:14:15 +02:00
Juergen Spitzmueller
6781db79c5 InsetSpace and InsetVSpace are clickable (part of #8847) 2013-09-22 12:49:43 +02:00
Juergen Spitzmueller
5686ad11f3 Fix loop when trying to export a read-only document 2013-09-16 10:13:16 +02:00
Juergen Spitzmueller
00cd9ce4a9 remove unused and error-prone function 2013-09-15 17:19:51 +02:00
Juergen Spitzmueller
b7c1bbfb0b Export as: Further cleanup 2013-09-14 17:53:57 +02:00
Juergen Spitzmueller
2535f2f271 Further localization fixes 2013-09-14 15:40:57 +02:00
Juergen Spitzmueller
e100536d59 Fix 'Export As...' in non-English localizations
It is always a bad idea to compare a localized string. I think the whole method Formats::getFormatFromPrettyName (which is now unused) should be ditched. This is bound to fail.
2013-09-14 13:11:47 +02:00
Juergen Spitzmueller
53445f7b99 Localize 'Export As...' dialog 2013-09-14 12:36:58 +02:00
Juergen Spitzmueller
151158f191 Fix string (patch by Jean-Pierre Chretien) 2013-09-14 11:39:33 +02:00
Georg Baum
592deaa423 Remove layout and tex2lyx tests from make check
These tests need a built and configured LyX, so they do not work in the
distcheck target. They can now be called with make alltests.
2013-09-09 21:00:11 +02:00
Vincent van Ravesteijn
72f70cbe5e Fix bug #8830: Compile error with disabled NLS
The Messages::gui_lang_ variable is instantiated in the '#ifdef ENABLE_NLS' block. To prevent compile problems, we should also instantiate it when NLS is disabled.
2013-09-09 16:25:53 +02:00
Jean-Marc Lasgouttes
56e2448546 Fix compilation on Solaris 11.1 (bug #8783)
Make sure that the configure script only checks features using the C++ compiler.

Also get rid of our last C files, since they are not compiled nor distributed anyway.
2013-09-09 11:02:14 +02:00
Kornel Benko
f57e8b98ea Cmake build tests: Label also layoyt tests 2013-09-07 09:27:40 +02:00
Kornel Benko
f2553ebf6c Cmake build tests: Threadsafety and test-labeling
The tests are now more robust if ctest uses '-j' (number of threads) parameter.
a.) keytests are running in sequence and in one thread only, no other thread running
b.) tex2lyx tests are locking in respect to each other
c.) Test gets one or more labels, so that we can select
        ctest -L url
  to run tests labeled url
d.) New macro settestlabel() to add labels to a test
2013-09-07 09:25:02 +02:00
Jean-Marc Lasgouttes
78780e7b38 Allow master view/update when current buffer is the master 2013-09-01 20:14:44 +02:00
Juergen Spitzmueller
d1a77eadc1 Load AMS packages before newtxmath (#8824) 2013-09-01 10:21:21 +02:00
Richard Heck
967e0db9e0 Fix obvious oversight. 2013-08-30 13:16:23 -04:00
Richard Heck
f1d1c06174 Comments only. 2013-08-30 13:03:53 -04:00
Juergen Spitzmueller
f9411f1f26 Catch uncodable character problem 2013-08-30 11:28:15 +02:00
Kornel Benko
29381d2b52 Copyright 2013-08-26 22:06:01 +02:00
Tommaso Cucinotta
cd84a3024d Now an attempt to export into a folder without write permission causes LyX to automatically pop-up the "Export As" dialog (addressing #3402). 2013-08-26 11:28:07 +01:00
Kornel Benko
e6f2598323 Cmake build tests: Unify use of userdir
Forgotten in commit 788e2b1ac8
2013-08-25 11:45:26 +02:00
Kornel Benko
788e2b1ac8 Cmake build tests: Unify use of userdir
While some test runns lyx-exe, we need userdir be
different from default. All relevant tests should use the same directory.
2013-08-25 11:41:10 +02:00
Tommaso Cucinotta
0b6edb0b2f Revert "Let non-ASCII chars within regexp insets match their occurrence within TEXT, rather than MATHS (seems the most recurrently needed scenario)."
This reverts commit 6a3792bdbb.
2013-08-24 17:42:14 +01:00
Tommaso Cucinotta
203dab97c3 Now the regexp insets entered in Advanced F&R search/replace boxes do not preview anymore independently, unless embedded/nested within other math elements.
Fixing crash as described in #7805.
2013-08-24 13:06:05 +01:00
Kornel Benko
c5d0e818e6 Cmake tests renaming. tex2lyx2lyx/roundtrip/ => tex2lyx/cmplyx/
This one was forgotten
2013-08-23 02:19:09 +02:00
Kornel Benko
bbe183b087 Cmake testing: Added test_biblio 2013-08-07 15:00:03 +02:00
Kornel Benko
723cda15d3 tex2lyx roundtrip: ignore version string while comparing lyx files 2013-08-04 16:47:03 +02:00
Kornel Benko
d3245d4cd2 tex2lyx roundtrip: expand diff to bu usefull to files created by lyx
Otherwise the comparision used by tex2lyx2lyx-tests would fail
2013-08-04 15:57:01 +02:00
Kornel Benko
39bef61e84 tex2lyx roundtrip: Ignore the lyx-version which created
When comparing the contents of two lyx-files, we should not care about the specific version. Later, this can be extended to also not care whether the file is produced by tex2lyx, lyx2lyx, or LyX.

Modified-By: Vincent van Ravesteijn <vfr@lyx.org>
2013-08-04 15:42:51 +02:00
Juergen Spitzmueller
138bb4d14f Fix the fix to the decimal separator problem with Qt5 2013-07-27 11:18:16 +02:00
Enrico Forestieri
92863de517 Fix Qt5 decimal separator bug
Always use '.' as the decimal separator in the GUI, because we
call setlocale(LC_NUMERIC, "C") in setLocale() (GuiApplication.cpp).
2013-07-26 20:52:44 +02:00
Tommaso Cucinotta
b32ce2cf08 When agreeing to wrap-around, but nothing is found, keep the cursor where it originally was.
Now this is coherent with Advanced F&R.
2013-07-22 23:55:43 +01:00
Tommaso Cucinotta
7081fed380 Fixed a number of bugs in "preserve first case" feature of Advanced F&R (addressing #8383). 2013-07-22 10:39:11 +01:00
Juergen Spitzmueller
8a15fb0593 Fix setting of is_child runparam if grandchildren are involved 2013-07-21 21:33:34 +02:00
Juergen Spitzmueller
2f2841a016 Establish missing connections to change_adaptor 2013-07-21 19:27:57 +02:00
Tommaso Cucinotta
2a86379ea7 Adding wrap-around pop-up question to simple find and replace dialog (fixing enhancement request #1262). 2013-07-21 17:51:53 +01:00
Stephan Witt
bb2a75b778 add frameworks to linker flags for Mac OS X 2013-07-20 21:24:56 +02:00
Juergen Spitzmueller
6445cd9df4 Bug in 'Use non-tex fonts' checkbox auto-toggling (#8717) 2013-07-20 16:15:47 +02:00
Juergen Spitzmueller
98dd9e9b91 Fix encoding problems in citation labels by using docstring (not string) where appropriate 2013-07-20 16:05:52 +02:00
Richard Heck
d938284fb3 Fix logic error that led to bug #8777. I have no idea what I was
previously thinking.
2013-07-20 09:56:34 -04:00
Juergen Spitzmueller
d788d497aa Trivial fix: escape ampersands in file names before pushing to tab header (#8757) 2013-07-19 15:55:56 +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
c3aad9624f Fix tests which were forgotten in c7cdac6561. 2013-07-17 21:08:03 +02:00
Richard Heck
a34ce7ca85 Fix crash reported by Scott on the list. The test on latexname() was
obviously wrong. We want to know if we are in the same layout, and
that is not enough.
2013-07-17 11:09:03 -04:00
Juergen Spitzmueller
6f9a272ca3 Fix toggling of 'misc' font options (bug #8764) 2013-07-17 08:30:42 +02:00
Uwe Stöhr
158571ea00 LaTeXFeatures.cpp: fix bug #8731
- we must assure that the package mhchem is loaded before the package esint
2013-07-16 23:16:09 +02:00
Uwe Stöhr
c7cdac6561 Preamble.cpp: fix bug #8723 2013-07-16 23:07:46 +02:00
Georg Baum
85e635d2e3 Fix failing test caused by 89b2c54c00.
Actually, the old reference was wrong, since it misparsed IPA short cuts as
spaces. I verified that the re-exported .tex is correct.
2013-07-16 22:53:25 +02:00
Scott Kostyshak
5225821242 Prevent zombie processes (#8774)
Using Systemcall::startscript() with Starttype::DontWait used to create
zombie processes, as nobody would collect them. This patch starts those
processes as detached, hence preventing them from becoming zombies.

In addition to #8774, this bug was also reported here:
https://bugs.launchpad.net/ubuntu/+source/lyx/+bug/1096666

Patch from Guy Rutenberg. For reference, see this email thread:
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg180034.html
2013-07-16 01:02:28 -04:00
Georg Baum
c0ea37f337 Fix image pasting regression
I introduced a regression in c14b9e67 for pasting images:
If an image is on the clipboard both as PNG and HTML with just an url,
but no plain text, pasting would fail. The reason for this was that
text contents was detected (the HTML code), nd preferred, but actually
pasting it resulted in an empty string, since the HTML import could not
handle the url This error was not checked.
The solution is first to try text paste if both text and image content
is present, and then  try image paste if the text failed.
2013-07-13 22:44:20 +02:00
Juergen Spitzmueller
6e69a61d00 Fix problem with unbalanced braces in XeTeX output (bug #8765) 2013-07-13 22:44:09 +02:00
Juergen Spitzmueller
c2cea31aea Properly nest ulem commands within other font changes
This reverts the wrong fix to #8424 which caused #8733 and fixes both problems properly
2013-07-13 22:43:39 +02:00
Georg Baum
89b2c54c00 Fix wrong space symbols (#8729)
The main part of the fix (unicodesymbols) is from Jürgen. This commit fixes
tree problems:
- \; etc. were also used in text mode, but are math only
- all of those glyphs need to be forced with utf8
- actually, \; etc. are not the correct macros, since the encoded spaces are
  breakable, but the math spaces are all protected. The sapce symbols are not
  defined in the utf8 encodings.
2013-07-13 22:43:31 +02:00
Julien Rioux
73368ed2d9 Fix pdf format conversion
When calling the default converter (convert) we pass the format on the
command line. In LyX we have various pdf, pdf2, pdf3, etc. formats all
representing PDF. We need to strip to trailing digit in the format string
otherwise the format is not understood by convert.
2013-07-13 16:15:13 +02:00
Julien Rioux
096204e23f Fix JPEG format detection
Detect JPEG files using the magic number FF D8 (so-called SOI marker)
instead of the string JFIF, which does not appear in all JPEG files.
2013-07-13 16:14:58 +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
Pavel Sanda
b76b6575bd Add introduction to cursor related classes, written by JMarc. 2013-07-01 09:52:06 -07:00
Jean-Marc Lasgouttes
878a86ff46 Document the Bidi class a bit
This is from information given by the auther (Dekel Tsur).
2013-06-28 15:18:17 +02:00
Richard Heck
30d3fcd640 Fix bug #8746: Images have to have alt tags. 2013-06-12 17:25:39 -04:00
Vincent van Ravesteijn
d15bc5ef53 Update tex2lyx testcases to latest fileformat 2013-06-04 21:56:51 +02:00
Jean-Marc Lasgouttes
deb6e16e79 Move a Qt workaround to the Qt frontend. 2013-06-04 12:08:36 +02:00
Vincent van Ravesteijn
9a6c402a82 Make sure numeric conversions are not locale dependent
In [19024f72\lyxgit] this line was removed. Later this caused that floats were converted to strings using ','s instead of '.'s. Readding this line fixes this.
2013-06-03 17:58:06 +02:00
Jean-Marc Lasgouttes
a2546357eb Update chunk handling to use new inset
At the same time, rename parse_noweb to parse_chunk.
2013-06-03 12:36:35 +02:00
Pavel Sanda
63c193afef Remove years forgotten files.
http://marc.info/?l=lyx-devel&m=136956959518828&w=2
http://marc.info/?l=lyx-devel&m=120506622513617&w=2
2013-06-03 02:35:32 -07:00
Vincent van Ravesteijn
83399dcb7a PrefsUi: Remove unneeded widths 2013-06-02 23:30:06 +02:00
Richard Heck
bbce65b68e Initialize initial_value_. 2013-06-02 09:41:09 -04:00
Vincent van Ravesteijn
129d43c5c9 Correctly find the gmo files in build dir
The path to the lyx binary is either <build_dir>/bin (CMake) or
<build_dir>/src (autotools). This means the po directory can be found one
directory up.
2013-06-02 15:32:35 +02:00
Juergen Spitzmueller
c9ea13ee99 Bump RC format for commit 8f287f5ffa 2013-06-02 12:06:01 +02:00
Kornel Benko
22d52f5f08 cmake: Use provided gmo-files if platform lacks python or gettext tools.
Running lyx from the build-directory now searches for the gmo-files
first in the build dir and then in source dir
2013-06-02 11:38:27 +02:00
Richard Heck
2374229cc6 Introduce InitialValue tag for counters. Fixes bug #8707. 2013-06-01 17:42:08 -04:00
Juergen Spitzmueller
8f287f5ffa Implement option to set a global default output format for dics with non-tex fonts (#8706) 2013-06-01 16:58:34 +02:00
Juergen Spitzmueller
0972b15ee2 Typo. 2013-06-01 10:26:03 +02:00
Kornel Benko
823ed6cf17 Remove ugly multiple definition hack (Georg)
Enable APPLE again for test_layouts (Missed in commit ...48d3518d6d)
2013-06-01 09:42:36 +02:00
Georg Baum
12554c93d8 Remove ugly multiple definition hack
Since 00387b2a38 it is possible to construct a dummy Messages object
which does not translate at all. With the old gettext implementation, a
Messages object without a defined language would have used a language from
an environment variable. Therefore, the duplicate definition of _() is no
longer needed. This gettext removal was really a good idea!
2013-05-31 22:07:14 +02:00
Juergen Spitzmueller
83d0b3bd1a Re-introduce linebreak after caption, as in LyX 1.6 (#8514) 2013-05-31 16:20:00 +02:00
Juergen Spitzmueller
1e42af6c44 Windows compilation fix 2013-05-31 14:27:39 +02:00
Jean-Marc Lasgouttes
00387b2a38 Fix crash at startup for tex2ylx and lyxclient
This is done by handling explicitly a dummy Message object, where no parsing of mo file is attempted. This avoids in turn that the lyxerr object is used during initialization of a global dummy Message object.
2013-05-31 11:59:52 +02:00
Jean-Marc Lasgouttes
3a985a228c tex2lyx does not use LYXERR, but basic cerr stream 2013-05-31 11:38:41 +02:00
Juergen Spitzmueller
a2b34f66ea revert unintended commit 2013-05-31 11:07:48 +02:00
Juergen Spitzmueller
2c1679e958 Small UI polishment 2013-05-31 10:45:21 +02:00
Stephan Witt
3f59d7e2cc add toFilesystemEncoding for --binary-dir argument 2013-05-31 09:00:28 +02:00
Uwe Stöhr
bf7af9fd07 Package.cpp: correctly quote configure call
- fixes bug #8711
2013-05-31 04:23:40 +02:00
Jean-Marc Lasgouttes
149b574b07 Read the right .gmo files when running in place
With gettext, we have been forced to install .mo files at the right place in order to read them. Now that we have our code, the situation changes.

* Add new method Package::messages_file(code), when returns the right path, depending on whether we are running in place.
* In Messages class use that intead of the existing one.
2013-05-30 22:10:01 +02:00
Vincent van Ravesteijn
a3c864102a CMake: Remove libintl 2013-05-30 22:10:01 +02:00
Jean-Marc Lasgouttes
d7e2705228 Get rid of all traces of libintl.
This requires to re-add some tests in configure.ac.

Note that the code to generate a Makefile in po/ has been kept.
2013-05-30 22:10:01 +02:00
Jean-Marc Lasgouttes
19024f7255 Implement native reading of mo files.
Get the default language by a mix of QLocale and LyXRC::gui_language

Known limitations:
   * encoding is supposed to be UTF-8 (the charset parameter is checked);
   * context is not handled (implemented differently in LyX);
   * plural forms not implemented (not used for now in LyX);.
   * tThe byte endianness of the machine on which the .mo file have been
     built is expected to be the same as the one of the machine where this
     code is run.
2013-05-30 22:10:01 +02:00
Uwe Stöhr
6baa65119b Merge branch 'master' of git.lyx.org:lyx 2013-05-30 18:15:57 +02:00
Uwe Stöhr
f33454b3c7 LaTeXFeatures.cpp: add rsphrase
- also modify the rsphrase.module
- correct naming scheme for the bicaption.module
2013-05-30 18:15:44 +02:00
Richard Heck
1b6c1380bb Revert "version.h: tex2lyx can have the same actual fileformat"
This reverts commit ca66e175c9.
2013-05-30 12:10:27 -04:00
Uwe Stöhr
a2e6fc773a LaTeXFeatures.cpp: add multicol and shapepar 2013-05-30 17:55:21 +02:00
Uwe Stöhr
ca66e175c9 version.h: tex2lyx can have the same actual fileformat
(nothing has been changed that requires the action of tex2lyx)
2013-05-30 17:40:29 +02:00
Richard Heck
8f044f3c95 Patch to convert Sweave chunk paragraphs to insets (bug #8588). Work
by Liviu (C++) and Richard (Python).
2013-05-30 10:20:34 -04:00
Richard Heck
d515ddefc0 Fix bug #8506: Output all references when asked to do so. 2013-05-30 10:00:02 -04:00
Uwe Stöhr
ea2d5947e9 support to set Tibetan as document language
- polyglossia supports http://en.wikipedia.org/wiki/Standard_Tibetan so we can support it too
- fileformat change
2013-05-28 23:40:17 +02:00
Richard Heck
39ea882806 Fix logic of new InsetFlex::updateBuffer() routine from a9614f1. 2013-05-28 09:41:44 -04:00
Juergen Spitzmueller
bfaa84d97f Attempt to fix #8702 2013-05-28 11:45:42 +02:00
Richard Heck
a9614f15d2 We already allowed a counter declaraton for flex insets. We just
didn't do anything with it. So let's do something with it.

Fixes bug #8470.
2013-05-28 00:11:43 -04:00
Juergen Spitzmueller
9992348223 Add FIXME 2013-05-27 18:48:46 +02:00
Juergen Spitzmueller
7e188c515e Catch and report BibTeX/biber errors (#2757) 2013-05-27 17:27:05 +02:00
Juergen Spitzmueller
a9409b4785 InsetArgument: Set ResetsFontEdit to false
This makes the language of arguments adapt to the language of the paragraph, which is what we want.
2013-05-27 11:29:15 +02:00
Julien Rioux
9e50872e50 Add babelbib, bibgerm, chscite, and opcit to LaTeXFeatures.
This way they can be Required by layout or module files and LyX
will insert them in the appropriate location in the preamble.
2013-05-26 21:10:32 +02:00
Georg Baum
b188e74cd6 Remove include test with space
Unfortunately automake does not support file names with spaces for files in
EXTRA_DIST: These file names are put into a shell list, and it is impossible
quote the name in a way that works both with the shell and with make.
Therefore I removed the corresponding test file.
2013-05-26 16:47:17 +02:00
Georg Baum
3ebf1c9bac Fix tex2lyx include output for roundtrip
In roundtrip mode, tex2lyx produces documents with extension lyx.lyx, so that
the original files are not overwritten on re-export. This was not done for
included documents which were converted, and this broke 'make dist'.
2013-05-26 16:07:56 +02:00
Juergen Spitzmueller
83a6107392 Recognize biber warnings/errors/info messages 2013-05-26 16:06:13 +02:00
Uwe Stöhr
e28625160a aa.layout: updated for A&A 8.2 2013-05-26 05:29:24 +02:00
Pavel Sanda
f75becdc4e Years forgotten file 2013-05-25 16:40:19 -07:00
Pavel Sanda
0ce10160da Header cleanup cont. 2013-05-25 16:38:20 -07:00
Stephan Witt
75c631df7f On Mac, moving down a paragraph should place the cursor at the end of the current paragraph
(unless it's already there, in which case it should move to the end of the next paragraph).
Change the preference setting name (mac_like_word_movement to mac_like_cursor_movement)
to better reflect its function.

Patch and description from Bennett Helm
2013-05-25 18:02:21 +02:00
Uwe Stöhr
427aeff90f GuiBox.cpp, InsetBox.cpp: fix some wrong logic
- InsetBox.cpp:
 a framebox without inner box and without a width is \fbox
 a framebox with inner box is also \fbox
 a framebox without inner box and with width is \framebox

- GuiBox.cpp: the width checkbox must be checked if there is width
2013-05-25 15:07:17 +02:00
Uwe Stöhr
472732f92d GuiBox.cpp: addendum to [f04c7711/lyxgit]
- this was forgotten to commit;
(without this we would get invalid LaTeX code when changing in the box dialog a makebox without a width to a minipage and press apply - a makebox required to specify a width, at least an invisible one like "0cm")
2013-05-25 13:52:09 +02:00
Jean-Marc Lasgouttes
f04c7711b0 Fix empty width support for Box inset
* InsetBox and GuiBox: Use proper empty length instead of the broken -9.99col% trick
* some slight changes to the logic of GuiBox to make sure that values are set as needed.
* lengthToWidget(): handle properly the empty length case. All the other related Qt helpers did it already, it was probably an oversight. Also set the default_unit parameter as optional (not needed in this patch actually, but I got carried away :)
* allow generating LaTeX code for an empty length, since some broken code does that.
2013-05-24 15:44:59 +02:00
Jean-Marc Lasgouttes
25ff2f8e2b Improve support for empty lengths
Parse empty string as empty length
Output empty length as empty string when it makes sense (not for LaTeX strings, for example).
2013-05-24 15:44:58 +02:00
Pavel Sanda
f6d505c1ee Years forgotten files. 2013-05-23 22:17:20 -07:00
Pavel Sanda
84c5e67e07 Header cleanup cont. 2013-05-23 22:12:29 -07:00
Georg Baum
952853eb23 Fix layout tests for autotools
This part was forgotten in 6f16814d3b.
2013-05-23 22:00:56 +02:00
Richard Heck
f34394460a Whitespace. 2013-05-23 09:39:16 -04:00
Richard Heck
1230372566 Add support for package options in layout files. E.g.:
PackageOption tipa safe will load tipa with the
 "safe" option, if we load it.
2013-05-23 09:34:40 -04:00
Stephan Witt
0cd85602ed fix whitespace: avoid mixed tabs and spaces 2013-05-23 07:55:09 +02:00
Pavel Sanda
de9d8cc0ba Header cleanup cont. 2013-05-22 19:58:58 -07:00
Pavel Sanda
707b099102 Header cleanup cont. 2013-05-20 18:47:16 -07:00
Vincent van Ravesteijn
b701eea8c8 Update tex2lyx test cases to format 471 2013-05-20 14:39:19 +02:00
Juergen Spitzmueller
a8a2bd463c Force encoding switch when switching from/to CJK, even if we use a customized encoding (#8558) 2013-05-20 13:40:40 +02:00
Juergen Spitzmueller
a78bed06eb revert parts of 53002538 which set wrong local_font 2013-05-20 12:31:46 +02:00
Juergen Spitzmueller
b65d5f2012 Handle secondary babel languages when main language is CJK 2013-05-20 11:07:47 +02:00
Pavel Sanda
4c0ef38200 Header cleanup cont. 2013-05-19 18:07:53 -07:00
Vincent van Ravesteijn
c8d685c665 Fix zombie toolbars (bug 8520)
If there is a new toolbar, it will not be restored by Qt and we need to
initialize it ourselves. However, it is not so easy to find out which
toolbars are restored by Qt and which are not. For this, the setVisible
function of GuiToolbar is 'misused'. If the visibility is set, the toolbar
must have been restored by Qt and we should leave it alone.
2013-05-19 22:17:16 +02:00
Vincent van Ravesteijn
97405fa623 Fix bug 7673 by reverting changes to BufferView::checkDepm
This reverts commit 210a4406 and a part of 5577e877.
2013-05-19 22:17:14 +02:00
Vincent van Ravesteijn
762c4eca57 Increase the uniqueness of the temp directories
Now, the temporary directories are composed of the PID + 8 random
characters. This used to be the PID + 2 random characters.

See also 327f7ed90d.
2013-05-19 14:09:06 +02:00
Vincent van Ravesteijn
327f7ed90d Seed Qt's random generator
LyX uses QTemporaryFile to create a unique temporary directory. This
temporary directory will consist of two random characters and the process
identifier (PID).

Currently, the two random characters are often the same because Qt's
random generator was not seeded. If there are a lot of lyx temporary
directories accumulated, the chance of failing to find a unique temporary
directory is (N/100)%.

The temporary directories can be left behind if either LyX crashes, or
when a file in the temporary directory is opened in another viewer when
LyX closes. This can be a pdf that is viewed in a reader that disallows
the file to be removed while viewing it.
2013-05-19 13:59:45 +02:00
Vincent van Ravesteijn
30f5187070 Disallow to insert an inset without a font
Doing so could lead to an assertion in Paragraph::fontSpan.
2013-05-19 12:48:35 +02:00
Vincent van Ravesteijn
8a40336848 Fix assertion: icon in insetinfo without a font
InsetInfos of the type ICON have a graphics Inset in their paragraph.
These insets were inserted without a font. This lead to an assertion in
Paragraph::fontSpan because the fontlist_ of the paragraph is empty.
2013-05-19 12:48:34 +02:00
Vincent van Ravesteijn
cd802e5cf6 Fix assertion: bibitem inset without a font
Move the cursor in front of a bibitem and press enter.
Paragraph::fixBiblio will insert a new bibitem without a font in the new
paragraph. This will make Paragraph::fontSpan assert because the fontlist_
of the new paragraph is empty.
2013-05-19 12:48:32 +02:00
Vincent van Ravesteijn
d9da8dc2c1 Fix assertion: label copy-paste-as-ref in new par
Because the reference got inserted without specifying a font,
Paragraph::fontSpan fired an assertion because the fontlist_ is empty.
2013-05-19 12:48:31 +02:00
Vincent van Ravesteijn
2d8941eec3 Revert "Fix assertion for InsetInfos of icon types"
Using "Font no_font" in case no font was supplied was wrong. Instantiating a font object without specifying the language lead to a font object having the default_language that is hardcoded to "english". See Language::read().

This caused that there were spurious language changes in the LaTeX output
and made some document uncompilable.

This reverts commit 3619954590.
2013-05-19 12:48:29 +02:00
Julien Rioux
cde541d785 New \cite_engine_type default.
The default citation capability of LaTeX is not a true numerical
citation engine, rather it uses a mixture of labels/numbers. Thus
we now distinguish them: "numerical" always increments the bibitem
counter and uses its value as a numerical citation label, while
"default" only uses the bibitem counter when no label is provided.

LyX file format incremented to 471.
2013-05-16 20:39:23 +02:00
Julien Rioux
9da74fe207 Don't use widest label for numerical citations.
Fixes bug #8513.
2013-05-16 16:10:06 +02:00
Julien Rioux
bfc731de45 Compute and output numbers for numerical citations. 2013-05-16 16:10:05 +02:00
Pavel Sanda
183b188ebe Slowly going through the suggestion made by our headers script.
I tried not to kill "redundant" includes which are actually used
in the header, apology for mistakes.
2013-05-15 22:02:10 -07:00
Kornel Benko
6e992e3544 cmake:
1.) Do not include layout tests on MAC, since the
  linker-option which allows multiple definitions is
  no longer supported.
2.) Indenting made consistent
2013-05-15 11:28:04 +02:00
Stephan Witt
1f41a4fcfd lyx::support::get_document_dir uses QDesktopServices::storageLocation and this is in QT_QTGUI_LIBRARY 2013-05-15 10:24:22 +02:00
Vincent van Ravesteijn
19418730dd Add a special regfile for filetools test on windows 2013-05-15 09:11:25 +02:00
Vincent van Ravesteijn
7a8995f295 check_layout: Add more libraries 2013-05-15 08:08:33 +02:00
Vincent van Ravesteijn
483e0f61e7 GuiAbout: Add missing include 2013-05-15 07:47:02 +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
Uwe Stöhr
a0030713e9 InsetBox.cpp: remove unnecessary non-ASCII char
- this char made problems when storing the file in Unicode
2013-05-15 00:03:46 +02:00
Vincent van Ravesteijn
6f16814d3b Fix check_layout and adhere casing to other tests
- Fixes cases such that it is the same as check_convert, check_filetools, check_listrings,
- Makes the compilation work on MSVC
2013-05-14 18:52:21 +02:00
Vincent van Ravesteijn
db32d1b155 Only show the configuration of theme icons on X11
Also hide the ui items in the constructor to prevent flickering.
2013-05-14 18:04:17 +02:00
Vincent van Ravesteijn
0b9714f8df Revert "qt5: Fix use of zlib"
This reverts commits ba3332c6 and f96583e8.
2013-05-14 17:34:51 +02:00
Vincent van Ravesteijn
147dcb4cb9 Make the use of system's theme icons configurable
A lyxrc variable is added and a checkbox is added to the LyX->preferences
dialog.
2013-05-14 17:26:06 +02:00
Vincent van Ravesteijn
b1f6ab69f2 Use system's theme icons
On X11 Qt offers the possibility to use the system's icons. To this end,
we must link the "lyx command" to a standard action icon as specified in:

http://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
2013-05-14 17:26:06 +02:00
Kornel Benko
f96583e8d2 Fix compilation 2013-05-14 16:23:24 +02:00
Kornel Benko
c8e325afec cmake: Try to make layout-tests available for MSVC too 2013-05-14 15:34:15 +02:00
Vincent van Ravesteijn
ba3332c62d qt5: Fix use of zlib
As Qt5 includes zlib as well, we have to use the same naming convention.
2013-05-14 14:24:12 +02:00
Vincent van Ravesteijn
62d6dcde6e qt5: Only include a single header to fix compilation 2013-05-14 14:19:38 +02:00
Vincent van Ravesteijn
7f123b8610 Fix MSVC warnings 2013-05-14 13:56:31 +02:00
Kornel Benko
ebddec15de Add test for Layout::write() on cmake too
(For now runns only on unix platforms using gcc)
2013-05-14 11:17:50 +02:00
Uwe Stöhr
ef94c42383 GuiMathMatrix.cpp: remove an unused header
- sorry, I accidentally added it in the last commit
2013-05-14 02:26:22 +02:00
Uwe Stöhr
4b7fd9fea2 GuiMathMatrix.cpp: fix bug #7049
- we should not fill the dialog comboBoxes in the .ui-files
2013-05-14 02:19:43 +02:00
Vincent van Ravesteijn
813c00a21f Use [[Context]] for the msgid of some strings 2013-05-13 22:22:04 +02:00
Vincent van Ravesteijn
fec57fe959 Implement the use of [[Context]] for placeholders
When placeholders are used, the context can indicate what will be
substituted for the placeholder (e.g. "%1$s[[date]], %1$s[[time]]).
2013-05-13 22:21:33 +02:00
Georg Baum
b79c88034e Add test for Layout::write()
When running the test, you'll get the following messages:

Testing ../../src/../lib/layouts/siamltex.layout...
Layout.cpp (268): Cannot copy unknown style `Enumerate'
Testing ../../src/../lib/layouts/svglobal.layout...
Cannot delete style `Dedication'
Testing ../../src/../lib/layouts/svjog.layout...
Cannot delete style `Dedication'
Testing ../../src/../lib/layouts/svprobth.layout...
Cannot delete style `Dedication'

These are no errors of Layout::write(), but they indicate problems in the
definition of the layout files.

Kornel, it would be nice if you could do the cmake part.
2013-05-13 21:53:28 +02:00
Julien Rioux
66f44f46c2 Add modifier to jurabib and natbib (author-year) modules. 2013-05-13 20:58:12 +02:00
Julien Rioux
75ffcc8e86 Initialize BibTeXInfo modifier to zero, always. 2013-05-13 20:26:46 +02:00
Richard Heck
8b858d113f Get font sizes working for XHTML. 2013-05-13 12:22:41 -04:00
Richard Heck
c713030edb Get font families working for XHTML. 2013-05-13 11:58:52 -04:00
Richard Heck
b383d04e07 XHTML support for font shapes. 2013-05-13 10:45:12 -04:00
Richard Heck
5cadeed4d7 Rework that way that font tags are handled in XHTML output. We need
to do this in order to handle span tags properly, when they act as
font tags.
2013-05-13 10:45:12 -04:00
Richard Heck
64f0cffbba Rework the way the parsep tag is handled, and introduce comparison
operators for these tags.
2013-05-13 10:45:12 -04:00
Richard Heck
ad56bb7286 Rework how paragraph ids are handled.
Previously, an empty paragraph would always yield something like:
	<div><a id='magicparid-35' /></div>
because we had no way to "defer" the anchor tag. Now this is wrapped
into the div, in effect, and we abandon it all if there's no content.
2013-05-13 10:45:12 -04:00
Richard Heck
c5a707ba74 Reorganize the TagStack objects. 2013-05-13 10:45:12 -04:00
Vincent van Ravesteijn
cba5060e74 Translate build version strings 2013-05-13 12:57:21 +02:00
Vincent van Ravesteijn
ed5585966b Remove the 'running' booleans quit and optional
Reason for this 'cleanup' is the strange "optional = false" lines at the
end of the "case md_item" and "case md_subitem". Then, it is nicer to
directly use the value of the switch to be the running variable and to use
this to determine whether an item is optional and whether we should quit.
2013-05-13 11:37:26 +02:00
Vincent van Ravesteijn
a033b88a37 Fix assert: Do not use translated names as keys
The panels in GuiDocument and GuiPrefs are stored in a map. The keys are
the translated descriptions of these panels. Whenever someone changes the
gui language and reopens the Document Settings pane, LyX asserted because
it could not find the "Child Documents" pane.
2013-05-13 10:00:57 +02:00
Vincent van Ravesteijn
3e65edd729 Add a function to translate QStrings 2013-05-13 10:00:49 +02:00
Vincent van Ravesteijn
03f98402f4 Fix crash with FindAndReplaceUi
In commit bd9e8fecd the currentIndex of the FindAndReplaceAdv Pane was
changed from 0 to 1. Since then LyX crashed when requesting the pane or
when changing LyX preferences.

This patch reverts this, although it is not clear why it would crash
otherwise. It is still committed like this, because LyX is unusable
without.
2013-05-12 16:14:27 +02:00
Lars Gullik Bjønnes
704328d348 Remove ; from end of function definitions 2013-05-12 13:04:18 +02:00
Uwe Stöhr
6cfa7feb6d PageLayoutUi.ui: use a more sensible option name 2013-05-10 18:34:05 +02:00
Uwe Stöhr
1112a17372 GuiMathMatrix.cpp: fix a compiler warning 2013-05-10 13:13:20 +02:00
Jean-Marc Lasgouttes
cc00530743 Remove cruft 2013-05-08 15:12:42 +02:00
Jean-Marc Lasgouttes
151960440e Another try at making the source view dock arrange itself.
The idea is to minimize the size of the form that contains the buttons.

Since I do not really know what I am doing, I will revert if problems occur.
2013-05-07 11:30:46 +02:00
Jean-Marc Lasgouttes
249d96ed94 Small clanup (just move functions around) 2013-05-06 22:50:26 +02:00
Jean-Marc Lasgouttes
68202fdf44 Fix bug 6055: change-next does not work in tables
The problem was just the faulty use of CursorSlice::at_begin/end(), which does not look for end of cell, but end of inset.
2013-05-06 12:29:27 +02:00
Uwe Stöhr
1b32a0502e Revert "tex2lyx/text.cpp: fix a typo spotted by clang"
This reverts commit 055b425b64.

This requires much more work and i don't have time to do this now
2013-05-06 01:54:17 +02:00
Uwe Stöhr
055b425b64 tex2lyx/text.cpp: fix a typo spotted by clang 2013-05-06 01:35:38 +02:00
Uwe Stöhr
72b2c54fae GuiBox.cpp: fix a dialog initialization issue
thanks Jean-Marc for the hint
2013-05-06 01:31:04 +02:00
Tommaso Cucinotta
bd9e8fecd3 Automatic horiz/vert switch also for Advanced Tab (completing e3677975). 2013-05-05 15:09:53 +01:00
Tommaso Cucinotta
e36779755e Automatic horiz/vert switch of layout when docking Advanced F&R pane top-bottom/left-right (copying 49c2450f). 2013-05-05 14:08:40 +01:00
Pavel Sanda
49c2450f3f Add layout intelligence to View Source pane (bug #8653).
View Source pane layout now automatically switches between horizontal
and vertical design when docked in vertical or horizontal way.

Original idea and patch from Edwin.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg178801.html

Note: the long standing-fight with too bulky minimal QTextEdit size
is now solved via ViewSourceUi.sizePolicy=Ignored.
2013-05-04 23:05:51 -07:00
Richard Heck
030326466f Set "dryrun" to true for XHTML copying routine. This suppresses
the production of images, etc, making copying even the entire
User's Guide and almost instantaneous operation.
2013-05-04 08:30:56 -04:00
Pavel Sanda
dae6ca73df ViewSourceUi.ui layout was broken 2013-05-04 01:09:07 -07:00
Richard Heck
5636646134 Don't consider unnumbered sections for tocdepth. 2013-05-03 17:49:19 -04:00
Richard Heck
8e23cfdbdc Minor cleanup. 2013-05-02 21:23:11 -04:00
Richard Heck
b4e2a65d50 The update here needs doing no matter what.
This fixes a bug introduced in db358a4315.
2013-05-02 21:21:24 -04:00
Richard Heck
9c749331a0 Re-rename. The last renaming broke monolithic compilation. 2013-05-02 15:21:19 -04:00
Richard Heck
edd127f993 Make strings used in various assertions non-static. 2013-05-02 15:21:19 -04:00
Jean-Marc Lasgouttes
ea6240b785 Even more llvm/clang warnings
Remove lyxview_ member of lyx::Action, fix a prototype in TexStream and comment out a Cursor function.
2013-05-02 19:22:10 +02:00
Jean-Marc Lasgouttes
623d2f9530 More llvm/clang warnings
This is mostly unused private class members.

There are also a few unused functions that got #if'ed out. I never know in this case whether the code should be nuked.
2013-05-02 18:27:32 +02:00
Jean-Marc Lasgouttes
bd2e7480b1 A first batch of potential bugs spotted by llvm/clang
There are more warnings left, but these are the easiest to fix. And some of them are real bugs (assignments with == instead of =).
2013-05-02 16:38:25 +02:00
Pavel Sanda
154319d063 Remove some header leftovers based on Scott's script hints.
False positive rate of hints is quite high. Although the includes can be
technically removed (due to other includes) they logically belong to the
header.
2013-05-02 00:30:16 -07:00
Georg Baum
5c63944ec2 Don't ask for creating branches on copying
As discussed on the list. This gets rid of the unwanted message boxes when
copying the complete Userguide.
2013-05-01 13:51:39 +02:00
Jean-Marc Lasgouttes
fb0827f8bb Small changes to Poor man's profiler
* report results in milliseconds instead of microseconds
* report total time spent in block, additionally to mean time
* cause compilation error with --enable-stdlib-debug
2013-04-30 16:43:29 +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
Vincent van Ravesteijn
3619954590 Fix assertion for InsetInfos of icon types
InsetInfo inserted insets in its text without specifying a font. This
caused the fonlist to be incomplete and firing the assertion.
2013-04-28 21:47:37 +02:00
Vincent van Ravesteijn
88eae06611 Fix FontIterator to not access pos >= par.size()
An iterator is typicall incremented passed the valid data into the 'end'
state. However, if this means that other functions are called with invalid
parameter, we should fix this.

This explains why fontSpan was called with pos==size() while this was not
expected to happen.

This patch reverts partly f5ad0c128a (Jean-Marc Lasgouttes; Get rid of
annoying warning message).
2013-04-28 19:12:16 +02:00
Vincent van Ravesteijn
e115b006e6 Make sure MarkAsExporting is deleted before buffer
This fixes a crash when cutting something.
2013-04-28 18:51:21 +02:00
Vincent van Ravesteijn
ea118f2da5 Make staticbuffer static again
Otherwise the number of internal buffers in incremented on each cut
action.
2013-04-28 18:51:20 +02:00
Richard Heck
68408556c7 Clean up comments a bit. 2013-04-28 12:08:30 -04:00
Richard Heck
76c96c22ac Another assertion that got changed wrongly.
I've read back through that patch, and everything else looks good.
2013-04-27 18:12:27 -04: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
Kornel Benko
06d72d6ca0 Use doctring as LBUFFER() etc parameters 2013-04-27 21:38:01 +02:00
Kornel Benko
07ca50d905 Strings as parameters to LASSERT should not be translatable.
But empty strings are even worse.
2013-04-27 21:13:32 +02:00
Jean-Marc Lasgouttes
d243e53f54 Another assertion that got transformed in 1b1f8dd2 2013-04-27 20:14:43 +02:00
Jean-Marc Lasgouttes
f5ad0c128a Get rid of annoying warning message 2013-04-27 20:01:02 +02:00
Jean-Marc Lasgouttes
418e884680 Fix assertion related to cursor anchor. 2013-04-27 11:19:19 +02:00
Richard Heck
78652c98c8 Remove assertion accidentally added during the audit. 2013-04-26 10:42:45 -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
62df59cde4 Add additional LASSERT-type macros for dealing with various kinds
of situations.
2013-04-25 17:22:07 -04:00
Richard Heck
88d9f08806 Add a bunch of comments about the different exceptions. 2013-04-25 17:22:07 -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
Richard Heck
6e25ae3272 Default font for an InsetLayout should be to inherit everything.
Fixes bug #8610.
2013-04-25 17:08:59 -04:00
Richard Heck
7ade656670 Just a bit of renaming. 2013-04-25 17:08:58 -04:00
Vincent van Ravesteijn
262f58ddc3 Fix the size of the hAlign combobox in GuiTabular
The default sizeAdjustPolicy is AdjustToContentsOnFirstShow. As the
combobox is initially filled with all items, it will not change size if we
later remove the 'At Decimal Separator' item.
2013-04-25 22:35:56 +02:00
Jean-Marc Lasgouttes
77bf805155 Fix bug #3199: change-next may leave empty lines behind
Using Cursor::setCursor or even BufferView::setCursor is often a bad
idea since it does not run DEPM. In this case (and other cases in
f&replace code) it is better to use BufferView::mouseSetCursor (which
should maybe be renamed...).
2013-04-25 15:37:15 +02:00
Jean-Marc Lasgouttes
a6325095c4 Fix bug #8633: change tracking: paragraph break is restored by undo
A recordUndo call was missing in this case.
2013-04-25 11:06:11 +02:00
Vincent van Ravesteijn
6f8a74791b Adjust CMake for Qt5 2013-04-23 21:45:49 +02: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
Scott Kostyshak
b75ecdfaf0 GuiRef: only enable "Group" CB if non-empty refs 2013-04-22 15:39:16 -04:00
Scott Kostyshak
21d1f97cad GuiRef: do not insert a category as a ref
Before, if a user had "Group" checked in GuiRef and double-clicked
on a category, that category would be inserted as a (broken)
reference. Now, when a category is double-clicked, nothing happens.
2013-04-22 15:39:16 -04:00
Scott Kostyshak
647ae51a46 GuiRef: do not hide labels that start with ':'
If a label starts with ':' and 'Group' is checked,
the label is now shown under "<No prefix>" instead of
not shown.

Note that labels starting with ':' can be valid in LaTeX.
2013-04-22 15:39:16 -04:00
Scott Kostyshak
9887dd48ca GuiRef: only show "<No prefix>" if non-empty
If "Group" is checked, "<No prefix>" is shown only if there exists a
label with no prefix. Before, it was shown even when it was empty and
even when there were no labels at all.
2013-04-22 15:39:16 -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
Georg Baum
928dc03324 Fic crash for repeated pasting from complex docs
Using a cloned buffer was an idea by Richard, and it works well.
2013-04-21 21:16:41 +02:00
Georg Baum
ed2f6a8599 Use MathML on the clipboard for formulas in HTML
This speeds up the copying, and although not many applications understand
MathML currently (MS word is supposed to understand it), their number should
go up in the future.
2013-04-21 21:16:41 +02:00
Uwe Stöhr
0050245151 PrefInputUi.ui: change 2 strings
because all over the docs we refer to the keyboard maps as primary and secondary
2013-04-21 20:20:08 +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
Juergen Spitzmueller
be0610362d Revert "Fix the zombie toolbar problem (bug #8520)"
This reverts commit d00ec4dece.
2013-04-20 11:42:21 +02:00
Juergen Spitzmueller
f3bb757f97 Revert "avoid redundant toolbar initialization"
This reverts commit 0f26aabeee.

It turned out this breaks session.
2013-04-20 11:40:40 +02:00
Uwe Stöhr
d750b6610f fix some more typos spotted by Yuri 2013-04-19 23:26:58 +02:00
Georg Baum
60448bf681 Whitespace 2013-04-19 21:34:05 +02:00
Vincent van Ravesteijn
cd88c51cce Pass the binary dir to the configure script to find tex2lyx
When using CMake, the binary files are stored in <build-dir>/bin. LyX can't fin tex2lyx with the current code. So, we have to point configure.py to explicitly look in the binary dir.
2013-04-19 20:31:30 +02: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
Georg Baum
db0ba3a3c6 Add class for threadsafe temp file handling
FileName::tempName() is not thread safe, since the QTemporaryFile object is
immediately deleted after creating it. Therefore, another thread could create
the same temporary file in the time span before the user of FileName::tempName()
recreates it. This is not as theoretical as it may look: I observed that
repeated creation and deletion of QTemporaryFile objects always use the same
name.
This problem is solved by the new class TempFile which should be used like
QTemporaryFile itself.
2013-04-14 18:22:42 +02:00
Enrico Forestieri
f6ca8350cd Fix bug #8631: Python detection unfinished 2013-04-14 13:44:59 +02:00
José Matos
2be29006ad sgml: ignore paragraphs named *dummy*
dummy is the name given in the latex backend to simple (usually single) paragraphs and since dummy is not a docbook element it is acceptable to ignore it. It is a reasonal compromise.
2013-04-14 11:34:47 +01:00
Pavel Sanda
fb16e5cca1 Make parameter more readable. 2013-04-13 21:56:52 -07:00
Georg Baum
f4eae12d60 Improve LaTeX format detection
libmime is a bit lacking here.
2013-04-12 22:31:48 +02:00
Georg Baum
0613a218aa Also put HTML on the clipboard when copying
The HTML export is now mature enough so that it can be used to transfer
formatted text to the clipboard. This enhances interoperability e.g. with
office applications.
2013-04-12 22:12:47 +02:00
Richard Heck
19554dda4e Remove useless test and add comment. 2013-04-11 21:43:01 -04:00
Richard Heck
0c61991c9a Do less indenting. 2013-04-11 21:41:52 -04:00
Richard Heck
b447587aa9 Remove obsolete comment. 2013-04-11 21:07:57 -04:00
Richard Heck
f6fceea317 Const. 2013-04-11 15:56:41 -04:00
Tommaso Cucinotta
7779d46920 Replacing git status --porcelain along with output parsing, with a simple git ls-files.
git ls-files tells me straight whether or not a file-name is in the repo.
I cannot say the same of git status --porcelain.
See also discussion at: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg177840.html
2013-04-11 02:04:25 +01:00
Tommaso Cucinotta
34dfe2d71e Avoid check mistakenly current folder for .git/.svn/.CVS, when going up the path checking for parents. 2013-04-11 02:04:24 +01:00
Georg Baum
ceb2303e2b Remove partial support for non-buffer files in VCS
This reverts a small part of 0526eb9d and gets rid of the double calls of
SVN::findFile() and GIT::findFile(). Please note that git detection does
currently not work because of 26dd4d0c.
2013-04-10 22:31:38 +02:00
Jean-Marc Lasgouttes
ec962dea20 Fix another faulty signature 2013-04-08 15:18:04 +02:00
Juergen Spitzmueller
15fe9fe7b4 Fix plaintext header definition 2013-04-08 11:09:45 +02:00
Juergen Spitzmueller
d288b2d628 Revert "Do not pass thru argument of pass-thru layout literally"
This reverts commit 4564c88469.

The bug is actually elsewhere.
2013-04-08 11:07:02 +02:00
Juergen Spitzmueller
4564c88469 Do not pass thru argument of pass-thru layout literally 2013-04-08 08:26:49 +02:00
Tommaso Cucinotta
6a3792bdbb Let non-ASCII chars within regexp insets match their occurrence within TEXT, rather than MATHS (seems the most recurrently needed scenario).
See also: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg177747.html
2013-04-07 23:35:32 +01:00
Jean-Marc Lasgouttes
a88e5cbf74 Fix bug #8370: crash when searching for next change
Cursor::backwardPos() may enter in a nested inset, while CursorSlice::backwardPos() will not.
2013-04-07 14:22:37 +02:00
Richard Heck
72aee2a9c5 Add a FIXME.
(cherry picked from commit 4363ff2a93aa82ce2bcdc36351f0c041aff9f5bd)
2013-04-06 18:09:08 -04:00
Tommaso Cucinotta
26dd4d0c15 Now LyX correctly asks to retrieve non-existing file from GIT repo only if the file is actually registered in repo.
See also discussion at: http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg177840.html
2013-04-06 16:12:06 +01:00
Tommaso Cucinotta
6ea1479252 Just refactoring patch 5e5115c3 in simpler terms. 2013-04-04 00:50:02 +01:00
Tommaso Cucinotta
5e5115c376 Fixed issue #8543 also for advanced search (cursor moved at proper end of selection before starting Find Advanced operation). 2013-04-04 00:43:36 +01:00
Uwe Stöhr
6d4cde435d BufferParams.cpp: fix bug #6813
- varioref needs to be loaded after babel to know what languages it has to use
2013-04-02 23:53:27 +02:00
Scott Kostyshak
2427e9b57a Remove exclamation mark from "String not found!"
When using 'find' and a string is not found, this is not an error or a
surprising event. It is often expected (e.g. after searching through
the whole document for a certain string eventually you will get this
message). The exclamation mark should be reserved for messages that
are unexpected or that need extra attention, such as errors.
2013-04-01 15:33:41 -04:00
Georg Baum
0d7702e5e6 Delete temp file after usage 2013-04-01 12:24:24 +02:00
Kornel Benko
415343d19b Advanced search: Allow faster searching for normal (non-regular) strings
Setting variable 'par_as_string_nolead' also in case we are ignoring format,
drastically accelerates the search.
2013-04-01 10:16:45 +02:00
Georg Baum
274b3caff2 Fix most important case of bug #8205
Since a complete solution requires some refactoring, I fixed the bug for the
most important case: The main document language is only supported by
polyglossia. If any other language than the main one is only supported by
polyglossia the bug is still there.
2013-03-31 23:48:05 +02:00
Georg Baum
7462381a27 Fix layout write bugs found by tests 2013-03-31 18:17:40 +02:00
Georg Baum
7cf8b9da78 Implement writing of layouts
This will be needed for layout forward compatibility, and could also be used
for a layout editor. Writing was only implemented for styles, not for complete
layout files (text class). I rarely made use of default values for missing
variables which exist in read(), so the output it a bit verbose (but more safe
against future changes). Also, some things like CopyStyle are never written for
obvious reasons.
2013-03-31 15:33:26 +02:00
Vincent van Ravesteijn
ea7d36912b Use setSectionResizeMode from qt_helpers
This is needed to compile with Qt5.
2013-03-30 12:41:08 +01:00
Scott Kostyshak
d42c5fcd23 Exit with error if required filename is not given
This is a second attempt to fix the problem described in
6df4a7bb (2c2c1767 reverted the first attempt).

The solution here is more general: if we get to a certain point
in the code and there is no filename, an error is given.

The following command now gives an error:

  lyx -e pdf2

And the following command continues to not give an error:

  lyx myfile.lyx -e pdf
2013-03-30 00:01:39 -04:00
Scott Kostyshak
70eddf2c30 Give an error message when LyX cannot load a file
Before, the following commands correctly exited with code 1, but now
a reason for exiting is also given:

  lyx -e pdf2 doesNotExist
  lyx doesNotExist -e pdf2
2013-03-29 23:58:43 -04:00
Scott Kostyshak
2c2c17675d Revert "Exit with error if no filename given to -e switch"
This reverts commit 6df4a7bb40.

As Vincent points out, this commit is not correct. For one reason,
it would incorrectly exit with error for the following syntax:

lyx myfile.lyx -e pdf

I will look for a correct solution to the problem specified in the
message of the reverted commit.
2013-03-29 11:20:23 -04:00
Scott Kostyshak
6df4a7bb40 Exit with error if no filename given to -e switch
Before, 'lyx -e pdf2' would give no error and would exit with 0. A use
case is if a user has in a bash script the following command:

lyx -e pdf2 "${mylxyfile}" || exit 1

where 'lyx' is mispelled as 'lxy' and thus yields an empty
string. If LyX does not exit with an error, the script continues where
the user probably intends for it to stop.
2013-03-29 01:57:29 -04:00
Scott Kostyshak
cc138f6e68 Remove an empty line to make style consistent 2013-03-29 01:57:29 -04:00
Jean-Marc Lasgouttes
3231ab7d70 Putenv requires a char *, for some reason. 2013-03-28 14:03:43 +01:00
Richard Heck
5fbbd863db Remove "List of" from outliner dropdown. 2013-03-28 08:33:21 -04:00
Richard Heck
4a6efbb102 Implement XHTML output for InsetPrintNomencl. 2013-03-27 21:30:48 -04:00
Richard Heck
62d1e762c7 Remove debugging code. 2013-03-27 21:30:47 -04:00
Richard Heck
410c716bf7 Add Nomenclature to the TOC. 2013-03-27 20:03:32 -04:00
Richard Heck
79f428d201 Use InsetLayout to get the tag type for TOC-like things. 2013-03-27 20:03:32 -04:00
Richard Heck
df1af5df47 Update the XHTML output for InsetFloatList. We'll now use an
InsetLayout to style it.
2013-03-27 20:03:32 -04:00
Richard Heck
1f6f5d2d53 Minor code simplification. 2013-03-27 18:36:01 -04:00
Richard Heck
d3feabfc86 Remove the "arrow" from the XHTML TOC. I think I put it there near
the beginning, when the titles themselves were not being used as
links. Now they are, so it is not needed.
2013-03-27 18:28:25 -04:00
Richard Heck
d3f6e28e35 Use the TOC:Listings layout to hold CSS information for it. 2013-03-27 18:22:20 -04:00
Richard Heck
ad6250f1a6 A little bit more cleaning up. 2013-03-27 17:19:47 -04:00
Richard Heck
2d34e48869 Re-order things a little bit. 2013-03-27 17:17:57 -04:00
Richard Heck
050142de1b Factor common code from TOC updates. 2013-03-27 17:16:34 -04:00
Richard Heck
597fdbf22f Allow for the possibility of an "InsetLayout TOC". 2013-03-27 17:06:38 -04:00
Richard Heck
5286ce6dfe Get lists of listings working for XHTML output. Fixes bug #8602. 2013-03-27 16:59:40 -04:00
Richard Heck
4df02801a6 Links between citations and bibliography entries were broken in XHTML
output, due to failure to clean the ids in the new citation stuff.

I've solved this by allowing the citation format information to contain
keys of the form "clean:key". This signals that we are to apply the
html::cleanAttr() function to the key before returning it. I.e., we
strip non-alphanumeric stuff, basically.
2013-03-27 15:59:36 -04:00
Richard Heck
54cff4129f Forgot to include "u" as a font tag. 2013-03-27 15:46:06 -04:00
Richard Heck
c56d524cd6 Use master buffer's setting for math output type. 2013-03-27 14:51:27 -04:00
Richard Heck
7a6b717f5e Continuing here will crash us. This shouldn't be an issue, but
it seems worth doing something sensible.
2013-03-27 14:46:22 -04:00
Richard Heck
82b8723654 Handle other text ranges in XHTML output. 2013-03-27 13:51:26 -04:00
Richard Heck
dd7d76cc6c Disable extractFunctions() for MathML and HTML output.
I'm not sure there was all that much benefit to doing this, but
if so then it could be re-enabled, if we fixed extractFunctions().
2013-03-27 12:05:00 -04:00
Richard Heck
ff91db5ece Add some notes about problems with extractFunctions(). 2013-03-27 12:01:44 -04:00
Richard Heck
56796c2a9e Implement math-as-HTML output for InsetMathExFunc. 2013-03-27 11:41:29 -04:00
Richard Heck
15fd8d7400 Fix bug #8608: Don't output index entries from notes, etc. 2013-03-25 17:36:21 -04:00
Richard Heck
ca03f8cf7b Should also use doing_output here. Oversight in previous commit. 2013-03-25 17:36:21 -04:00
Vincent van Ravesteijn
cb93f034d4 Add an LFUN for continuous spell checking
This fixes the first part of #8589.
2013-03-24 20:28:37 +01:00
Vincent van Ravesteijn
a31df78133 Do not sort formats in BufferParams::exportableFormats
We only need to sort the formats when it is really necessary, i.e. for GUI
purposes.

This also prevents 11000 requests for translation everytime the toolbars
are updated.
2013-03-24 18:06:32 +01:00
Vincent van Ravesteijn
755a14a5d1 Remove unused typedef 2013-03-24 18:06:31 +01:00
Vincent van Ravesteijn
367126bf24 Add a WIN32 equivalent for gettimeofday
This function does not really returns the "time of day", but it will suffice to evaluate elapsed times.
2013-03-24 16:47:07 +01:00
Vincent van Ravesteijn
2662386077 Small simplification 2013-03-24 16:47:03 +01:00
Richard Heck
1928bb9ed1 Don't abbreviate titles in TOC. 2013-03-24 09:39:41 -04:00
Richard Heck
d2e947d585 Fix bug #8603: We want unabbreviated TOC entries here. 2013-03-24 09:34:36 -04:00
Richard Heck
1c0100d3b1 Silly mistake here in earlier commit. 2013-03-24 09:34:36 -04:00
Richard Heck
7dac3a2715 Fix bug #8604: Forgot not to escape the caption string in listings. 2013-03-23 10:05:56 -04:00
Richard Heck
cca2d4c927 Crush warning. 2013-03-23 09:14:44 -04:00
Richard Heck
a93a8cd393 Fix a few more translation probelms for XHTML output. 2013-03-23 09:10:35 -04:00
Scott Kostyshak
8831e4a11f InsetGraphics: add a layoutName method
Now when using inset-forall, "Graphics" can be used
to refer to all Graphics insets.
2013-03-23 05:35:09 -04:00
Georg Baum
c61ef8b205 Support \caption* (bug #3209)
This was a low hanging fruit which would have to wait for a long time because
of a file format change if it was not implemented before 2.1.
2013-03-22 22:23:38 +01:00
Jean-Marc Lasgouttes
11e0d941a2 Implement inset-select-all in mathed 2013-03-22 14:42:47 +01:00
Jean-Marc Lasgouttes
7d698b43a8 More documentation for the poor man's profiler 2013-03-22 11:23:48 +01:00
Jean-Marc Lasgouttes
4663618cfd A poor man's profiler.
The use of this profiler is trivial:

 * #include <support/pmprof.h>

 * in the block one wants to profile, add
   PROFILE_THIS_BLOCK(some_identifier)

 * At the end of the execution, statistics will be sent to standard error.
2013-03-22 10:30:48 +01:00
Uwe Stöhr
9aeb084a22 tex2lyx: we support now \framebox without options
-> this is \fbox

- also update the tex2lyx example file result
2013-03-22 02:00:25 +01:00
Uwe Stöhr
22ad7e4369 support for \mbox and \fbox
- fileformat change
- it was a pity that LyX did not yet support a simple rectangular frame without a defined width but LyX did this for e.g. oval frames
- \fbox and \mbox often occur in TeX files and can now be imported
2013-03-22 01:33:58 +01:00
Georg Baum
cb5dd33475 Split pdf format as discussed on the list
Previously, the format used for included pdf files was the same as for
document export via ps2pdf. This caused unwanted conversion routes, e.g.
export via odt->pdf instead of dvi->ps->pdf.
I renamed the format for included graphics and not for exported documents,
since otherwise the command line syntax for export would change. This would
require more adaptions for the users, since with the chosen solution the
custom converters are almost always changed correctly in prefs2prefs(),
so that only custom external templates need manual adjustement.
2013-03-21 20:13:02 +01:00
Juergen Spitzmueller
0f26aabeee avoid redundant toolbar initialization 2013-03-20 13:59:25 +01:00
Juergen Spitzmueller
d00ec4dece Fix the zombie toolbar problem (bug #8520) 2013-03-20 13:01:48 +01:00
Georg Baum
450159174b Update test references 2013-03-19 21:24:51 +01:00
Scott Kostyshak
ccd46cbe8e GuiTabular: disabling is now done on textChanged()
Before, it was done on editingFinished(). The new behavior is more
intuitive because it is easier for the user to see how editing the box
is connected with enabling/disabling the other widgets. Before, the user
would not get instant feedback and would have to click away before the
connection is revealed. This new behavior is less efficient, however,
because checkEnabled() is called after every keystroke.
2013-03-19 14:48:20 -04:00
Scott Kostyshak
429b39bc0c GuiTabular: LC and ED should both be disabled
Previously, only columnWidthED was disabled.
2013-03-19 12:25:38 -04:00
Richard Heck
3057bce3f2 Fix bug #8587 properly, by using local language for translation. 2013-03-19 11:30:36 -04:00
Uwe Stöhr
c669b6f4d2 tex2lyx: support for Iwona fonts
- also correct the support for the Kurier fonts. Thanks to our cleaner implementation, some code can now go.
2013-03-19 01:18:38 +01:00
Uwe Stöhr
575d98664a Merge branch 'master' of git.lyx.org:lyx 2013-03-19 00:57:50 +01:00
Uwe Stöhr
f08f5821ec support for the Iwona fonts
- the support for Iwona is exactly the same as for the Kurier fonts
- fileformat change
2013-03-19 00:57:37 +01:00
Richard Heck
6dac777dbc Don't try to show the status message if we are busy.
Intended to fix #8523.
2013-03-18 19:49:33 -04:00
Richard Heck
fbe9e96b5e Make things a little better with respect to bug #8587.
Is it possible to figure out the current language from within
an InsetRef? If so, how?
2013-03-18 19:47:17 -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
27e27db147 Add FIXME concerning bug #8599. 2013-03-18 19:31:04 -04:00
Richard Heck
9548274f39 I'm not absolutely sure about this, but it seems to me as if we
need the master buffer here, too: in looking up fonts during XHTML
output.

I'm half tempted to pass the master buffer to these routines, though
there are times, I think, when we want the actual buffer: e.g., when
looking up branches.
2013-03-18 18:56:38 -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
b3ceb89efc Fix bug #8598. We need to use the masterBuffer's counters in the
XHTML output routines.
2013-03-18 18:45:09 -04:00
Richard Heck
5f0e82b72d Fix bug #8597: Output only (ref) for \eqref, not: equation (ref). 2013-03-18 18:09:22 -04:00
Vincent van Ravesteijn
41843646b7 Fix monolithic build 2013-03-18 20:42:28 +01:00
Juergen Spitzmueller
3ab2798b6e Powerdot updates
* Powerdot now also uses the native overlay item arguments
* a list option argument is finally available
* \pause natively supported (like in beamer)
* support for \onslide (via InsetFlex)
* support for \twocolumn

File format change.
2013-03-18 13:36:56 +01:00
Juergen Spitzmueller
370bbbc7f2 Old beamer frames bite the dust
With this commit, old beamer frames are converted to new ones. The old styles are removed (including the infamous \lyxframe).

This should be tested with as much beamer documents as possible (I have already done so), also, tex2lyx now probably produces invalid LyX files.
2013-03-16 12:52:00 +01:00
Georg Baum
257edda49a Fix output of getCaptionAsPlaintext() 2013-03-15 21:16:40 +01:00
Richard Heck
6633a93b6d Forgot the crucial piece of the last commit!! 2013-03-12 13:12:45 -04:00
Richard Heck
3f748c79c3 Add a for_search member to OutputParams, and use it to limit what
work we do when calling plaintext() for the purpose of generating
material for the advanced search function.

Here again, not only were we parsing BibTeX files, since Julien's
(sensible) introduction of plaintext output for that inset, but we
were in fact writing (to disk) complete plaintext output for
included files every time we did such a search.
2013-03-12 12:45:15 -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
872c71ffa6 Try again to fix Kornel's slowness problem. The previous attempt was
worth doing, as we were creating too much output for tooltips anyway.
But we need to ignore BibTeX insets altogether, as the collection of
the references, etc, is too slow.
2013-03-09 12:42:56 -05:00
Richard Heck
65b74b9a1d Fix bug #8580: Do not include material in the XHTML TOC that is not
also included in the output.
2013-03-08 16:38:45 -05: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
bb36296275 Remove unused code. 2013-03-08 16:22:01 -05:00
Richard Heck
ecef54500d Introduce max_length parameter for plaintext() output routines,
so we can write a limited amount when using this for TOC and
tooltip output.

This should solve the problem with slowness that Kornel noticed,
which was caused by our trying to write an entire plaintext
bibliography every time we updated the TOC. We did that because
he had a bibliography inside a branch, and we use plaintext for
creating the tooltip that goes with the branch list.

Other related bugs were fixed along the way. E.g., it turns out
that, if someone had an InsetInclude inside a branch, then we would
have been writing a *plaintext file* for that inset every time we
updated the TOC. I wonder if some of the other reports of slowness
we have received might be due to this kind of issue?
2013-03-08 15:12:58 -05:00
Richard Heck
f6480263e5 Whitespace. 2013-03-04 18:12:11 -05:00
Richard Heck
e987952664 Fix stupid mistake that led to bug #8574. 2013-03-04 18:07:48 -05:00
Georg Baum
df4f08862e Remove confusing warning
I added it because of a misunderstanding. If the encoding is really set too
late, to_utf8() in the Token constructor would probably fail, but a non-empty
putback buffer is no problem, since it was always created via to_utf8() ->
from_utf8().
2013-03-04 19:50:49 +01:00
Juergen Spitzmueller
9b0f907871 Minor UI polishment 2013-03-02 16:23:51 +01:00
Juergen Spitzmueller
0f48953a7d Re-Introduce translatable line breaks in tool tips
Real line breaks in (recent?) designer are not recognized by lyx_pot.py
2013-03-02 14:30:56 +01:00
Juergen Spitzmueller
dc7029dbf7 Small tweaks to the new pref pane(s) 2013-03-02 14:15:11 +01:00
Juergen Spitzmueller
a4a610221a Split the overcrowded and chaotic UI pref pane into two (#7524) 2013-03-02 12:24:32 +01:00
Juergen Spitzmueller
3861fa1cb4 Maths packages: Further GUI improvements 2013-03-02 10:03:08 +01:00
Juergen Spitzmueller
e53b5972c3 Improve math packages GUI 2013-03-01 15:59:37 +01:00
Georg Baum
97bc443584 Fix regression of f2d2b7c
Thanks Scott for finding the relevant change set!
2013-02-28 22:23:23 +01:00
Georg Baum
ea4bbece46 Forgotten files.
Kornel, it looks like the cmake update tests method misses these.
2013-02-28 21:06:45 +01:00
Kornel Benko
74e9f2eb38 Adapt tex2lyx testcases to format 464 2013-02-28 13:19:04 +01:00
Kornel Benko
2639734157 Missed in previous commit. Added handling of package cancel to the new lyx-format 464 2013-02-27 13:14:59 +01:00
Kornel Benko
8f36aef17a Added "cancel" to the GUI handled list of LaTeX packages.
Generalized convert_use_???() and revert_use_???() routines in lyx2lyx.
2013-02-27 13:12:03 +01:00
Georg Baum
6e2d8cf10a Fix sideset keyboard short cuts
\sideset1 can't be entered via keyboard, so I renamed the commands.
2013-02-26 21:38:27 +01:00
Richard Heck
a4fa1a8f7b Continuing in this case invites disaster. So let's try returning. 2013-02-24 15:34:08 -05:00
Georg Baum
efaae780db Fix regression of 5261ae6a2
Somehow I overlooked that \sideset also supports nonscript arguments for
left and right. This is now fixed, although I do not like the toolbar names.
If somebody knows something better, please improve.
2013-02-24 21:23:50 +01:00
Georg Baum
284f991519 Forgot this in f2d2b7cc7d 2013-02-24 19:43:13 +01:00
Georg Baum
f650c242d0 Found one more nested if to remove 2013-02-24 19:12:56 +01:00
Georg Baum
4ad910c3a6 Try to fix MSVC compile error
We did hit again the MSVC limit of 128 nested if clauses. This change reduces
the number of nested if clauses by 6 which is hopefully enough.
2013-02-24 19:00:17 +01:00
Georg Baum
f2d2b7cc7d Fix some texl2yx accent bugs
This fixes bug #8554 and some recently introduced busg:
- Encodings::fromLaTeXCommand() can now handle all combining characters,
  not only the one letter ones
- The remainder returned from Encodings::fromLaTeXCommand() must never be
  thrown away in tex2lyx, but output as ERT
- No special case for combining diacritical marks needed anymore in parse_text()
- No special cases for accents and IPA combining diacritical marks needed
  anymore in parse_text()
- special tipa short cuts may only be recognized if the tipa package is loaded
- Use requirements returned by Encodings::fromLaTeXCommand() instead of
  hardcoded registering of tipa and tipax
- Get rid of the name2 variable in parse_text(): We must use name, otherwise
  the extra stuff that might have been put into name vanishes
2013-02-24 15:44:16 +01:00
Juergen Spitzmueller
41060c9723 Allow to specify default argument for layout/inset argments
This default argument is inserted iff no inset argument is present. This is useful particularly for mandatory arguments that need to have a sensible default value.
2013-02-24 11:29:21 +01:00
Georg Baum
48c9926d87 Fix bug #8552
tex2lyx skips LyX preamble code only if it thinks that the file was created
by LyX (i.e. special comments are found). I don't like that, but this is
how it works and therefore the special comment neds to be added if the
theorem commands are to be skipped. This header makes also the temporary
setting of in_lyx_preamble obsolete, which caused skipping of user preamble
commands, which were not re-added by LyX.
2013-02-22 22:21:56 +01:00
Georg Baum
b59547ebd5 Improve texl2yx refstyle support
- Convert prettyref to the autopackage mechanism
- Do not load refstyle automatically if some refstyle preamble code of LyX
  is found, since LyX will only load the package if an actual reference
  command is used. This is needed for mixed refstyle/prettyref documents.
- Only recognize refstyle commands if refstyle was detected in the preamble
- Only recognize prettyref commands if prettyref was detected in the preamble
- Add a mixed refstyle/prettyref test case
2013-02-22 21:59:23 +01:00
Jean-Marc Lasgouttes
aa3bbfc984 Fix parsing of literate chunks (bug 7838)
* use verbatimStuff for parsing chunks and make try to follow closely the sweave sytax constraints.
 * merge the two cases for parsing << (noweb or quote)
 * \verb|ff| requires that its parameter is on a single line.
2013-02-22 15:53:40 +01:00
Jean-Marc Lasgouttes
e5a9199927 Improvements to Parser::verbatimStuff
* return a Parser:Arg pair to indicate whether parsing was successful
 * add new parameter to restrict parsing to the current line
2013-02-22 15:53:40 +01:00
Jean-Marc Lasgouttes
683050d4f9 Some fixes to parsing in tex2lyx
* put_almost_back and putback are actually the same thing
* add Parser::dropPosition
* deparse on Parser::popPosition
2013-02-22 15:53:40 +01:00
Jean-Marc Lasgouttes
0082d183b3 Fix confusing behavior in search when changing directions (bug 8543) 2013-02-22 15:53:40 +01:00
Jean-Marc Lasgouttes
05a4c7f908 Typo 2013-02-22 10:50:49 +01:00
Uwe Stöhr
22101c1044 tex2lyx/text.cpp: whitespace only 2013-02-22 01:21:17 +01:00
Uwe Stöhr
2ba1360509 tex2lyx/text.cpp: logic fix for previous commit
- continue; is here not necessary
2013-02-22 01:18:45 +01:00
Uwe Stöhr
a47e61e666 tex2lyx: support further characters
- support for Cyrillic characters
- support for \textifsymbol and \ascii (fixes bug #8556)
- support for \ding
- tex2lyx/text.cpp: correct an indentation and use "name2" because "name" is already defined in this clause
2013-02-22 01:11:30 +01:00
Richard Heck
c4bed8dbe8 Don't convert --- and -- to entities in XHTML listings output.
Fixes bug #8561.
2013-02-21 18:12:53 -05:00
Uwe Stöhr
8254e84f8f Merge branch 'master' of git.lyx.org:lyx 2013-02-21 23:13:57 +01:00
Uwe Stöhr
e7c75296d6 tex2lyx/text.cpp: correction for TIPA character support
- for all TIPA characters the tipa and tipx package must always be registered because these characters are also allowed outside a TIPA inset
- include \textvertline because we again reached the maximum number of if statements allowed by MSCV (so safe at least one for now)
2013-02-21 23:13:05 +01:00
Georg Baum
84e176851d Add a note about ERT environment
The LyX file format only supports one CJK font mapping per document.
Therefore all CJK environments which use a different mapping than the main
one are output in ERT. THis is now explained in the test case, and also the
converion to ERT is improved (although it is still wrong e.g. for paragraphs).
2013-02-21 22:31:22 +01:00
Georg Baum
eb53c60a8f Complete the NoInsetLayout format change 2013-02-21 21:57:59 +01:00
Richard Heck
eb90ac0988 Do not try to load or copy included files when we are in a comment
or doing a dryrun. We skipped some of this before, but not all of it,
which led to bug #8557.
2013-02-21 11:38:36 -05:00
Kornel Benko
7b7f268552 tex2lyx tests: Sort test files 2013-02-20 12:43:36 +01:00
Georg Baum
9f93983b61 Extend unicodesymbols force flag
As suggested by Günter Milde.
2013-02-19 22:19:10 +01:00
Kornel Benko
b353a0b037 Adapt tex2lyx testcases to new format 2013-02-19 15:44:11 +01:00
Jean-Marc Lasgouttes
30cbe535c3 Make annoying debug message optional 2013-02-19 13:48:48 +01:00
Jean-Marc Lasgouttes
efe06103f3 Add test case for bug #5312 2013-02-19 12:36:06 +01:00
Jean-Marc Lasgouttes
3d2dcab03f Handle properly insets which have the PassThru property
This fixes in particular bug 5312:
  % escape in \url{} treated as TeX comment start by importer
2013-02-19 12:04:41 +01:00
Uwe Stöhr
df6589a97e Merge branch 'master' of git.lyx.org:lyx 2013-02-19 00:07:42 +01:00
Uwe Stöhr
6deb2b7680 tex2lyx: support further TIPA characters
- support for \textdoublevertline, \textvertline, \textglobfall
- support \!o and \!b and \!d and \!g and \!G and \!j
- support  and \*k and \*r and \*t and \*w
- register the package "tipa" if \textipa is detected in an equation
- add a \textipa equation to the testfile

(I failed to implement support for the TIPA character "\t*{ }" and the command "\=*".)
2013-02-19 00:07:24 +01:00
Julien Rioux
9dd1b7c578 Use the LyX name of encodings instead of the LaTeX names.
- Use the LyX name of encodings instead of the LaTeX names.
  The LyX name must be unique, while the name used by LaTeX
  not necessarily, e.g. different packages might implement
  support for the same encoding.

- Rename koi8 to koi8-r, so that the LyX and LaTeX names match.

- Rename euc-jp-plain to euc-jp-platex, jis-plain to jis-platex
  and shift-jis-plain to shift-jis-platex.

- Add utf8-platex encoding (fixes #8408).

LyX file format incremented to 463.
2013-02-18 23:52:42 +01:00
Georg Baum
2a1eb2fe9b Fix encoding for japanese documents
The header parameter \inputenc uses the LaTeX name, so we need must not set
it to the LyX name for japanese documents.
2013-02-18 21:22:21 +01:00
Georg Baum
4061e5bbdb Fix missing language option for CJKutf8.tex 2013-02-18 20:05:33 +01:00
Richard Heck
ef88b88aec Typo. 2013-02-18 09:44:27 -05:00
Uwe Stöhr
fd68d8a37c test-insets.tex: fix the encoding of the œ character 2013-02-18 15:04:28 +01:00
Uwe Stöhr
9027802114 tex2lyx: a fix for the \tone support
- the package tone must explicitly be registered because there can be a single tone that is not found via unicodesymbols
2013-02-18 14:07:13 +01:00
Pavel Sanda
f7d47a803d git typo 2013-02-17 23:30:07 -08:00
Pavel Sanda
8ef1e2b9df Git VCS: use describe for tree revision info. 2013-02-17 23:22:50 -08:00
Uwe Stöhr
112abd1978 tex2lyx: add a missing TIPA mark 2013-02-18 05:03:18 +01:00
Uwe Stöhr
2e5ba6f3f2 tex2lyx: support for TIPA \tone
- also simplify the code a bit
- test-insets.tex: add missing preamble code
2013-02-18 04:50:18 +01:00
Uwe Stöhr
b25016b613 tex2lyx: more support for TIPA
- support for the combining diacritical marks
- support for \texttoptiebar and \textbottomtiebar
- test-insets.lyx: add complete testcase
- TODO.txt: update what still needs to be done
2013-02-18 03:23:34 +01:00
Uwe Stöhr
c27976d372 tex2lyx: support for IPA environment 2013-02-17 22:39:56 +01:00
Georg Baum
25fe87e55c Make tex2lyx encoding changes more robust
This is achieved by not calling Parse::tokenize_one() anymore in
Parser::good(): The status of the input can be tested without performing the
actual tokenizing. Now there are only two methods that may prevent an encoding
change:next_token() and next_next_token().
2013-02-17 15:04:14 +01:00
Georg Baum
5261ae6a29 Fix bug #1424: Native \sideset inset
The toolbar image is the one Uwe attached to the bug report. Note that
\sideset works only for operators like \sum in the nucleus. LyX allows
any content, so you might get a LaTeX error. I don't know how to prevent
wrong content in the nucleus.
2013-02-17 11:08:58 +01:00
Georg Baum
c0395333b2 Fix force flag for multiple encodings
A comma cannot be used as delimiter, since it is already the flag delimiter.
2013-02-17 10:19:58 +01:00
Georg Baum
798f104f99 Add forgotten files 2013-02-17 09:54:21 +01:00
Uwe Stöhr
047218ee8b tex2lyx/TODO.txt: update once again
- the kurier font support of fileformat 461 was already committed
- nothing to do for format 460
2013-02-17 06:23:28 +01:00
Uwe Stöhr
1d6573a330 tex2lyx: support for multiple indices and subindices 2013-02-17 06:18:42 +01:00
Uwe Stöhr
a8563a0f02 Preamble.cpp: code simplification 2013-02-17 04:26:56 +01:00
Uwe Stöhr
7da29712b9 tex2lyx/TODO.txt: update once again
- \nocite and \nocite{*} is already supported since a while, see also the test-insets.tex test file
2013-02-17 04:18:50 +01:00
Uwe Stöhr
a2022d457b tex2lyx: support bibtex inset with \phantomsection
This is an addendum to [72a44b3c/lyxgit] because depending on the environment, LyX adds a \phantomsection before \addcontentsline.

- also update the test file
2013-02-17 04:17:02 +01:00
Uwe Stöhr
3a201976b7 tex2lyx/Makefile.am: rename the file renamed in previous commit 2013-02-17 03:22:20 +01:00
Uwe Stöhr
735c81d2b9 tex2lyx/TODO.txt: update as refstyle is now really supported 2013-02-17 03:18:50 +01:00
Uwe Stöhr
a99241266b tex2lyx/Preamble.cpp: proper handling of the refstyle preamble code
- also rename the test file because it is also an excellent test file for the theorem environments - which are not yet supported by tex2lyx
2013-02-17 03:15:24 +01:00
Uwe Stöhr
fb64fe613f Parser.cpp: a workaround for bug #8525 2013-02-17 02:38:29 +01:00
Uwe Stöhr
43bcf4c9c2 Preamble.cpp: register refstyle
- also Revert "tex2lyx/TODO.txt: update" [4159f05c/lyxgit]
more works needs to be done here
2013-02-17 02:17:04 +01:00
Uwe Stöhr
ec09560cb8 tex2lyx: support for the \textipa inset 2013-02-17 02:11:54 +01:00
Uwe Stöhr
16eaf36436 tex2lyx/TODO.txt: update
- there is nothing to do for xymatrix, the Xy-pic manual roundtrip works fine
2013-02-16 22:34:28 +01:00
Georg Baum
d7013065ad Fix tex2lyx file format comparison
This is an important part of the tests. If updating the test cases is really a
problem there are two better solutions than not testing the format: Convert
the references with lyx2lyx on the fly, or remove the hard coupling of tex2lyx
and LyX versions again. Both increase additional possible error sources, but
these errors could at least be detected. If the test machinery is made blind
for versions, file format errors are impossible to detect.
2013-02-16 17:48:43 +01:00
Georg Baum
633aca9273 Update test case file format 2013-02-16 17:48:43 +01:00
Georg Baum
5f3cd55f1d Fix dangerous parser use
Jean-Marc discovered a possible data loss caused by Parser::getChar().
This is now fixed, and Parser::getChar() is removed, since it is no longer
needed and easy to use it in the wrong way.
2013-02-16 17:48:42 +01:00
Kornel Benko
fe24992a93 tex2lyx testing. Adapt files. 2013-02-16 10:49:34 +01:00
Uwe Stöhr
72a44b3c75 tex2lyx: support for \addcontentsline in BibTeX inset 2013-02-16 05:51:23 +01:00
Uwe Stöhr
8e2d727e36 tex2lyx/TODO.txt: update again
- nothing needs to be done for feyn.sty - it is already recognized as simple feature and the roundtrip using the feynman example file works
- update entry for undertilde to be uniform
2013-02-16 04:04:49 +01:00
Uwe Stöhr
4159f05ced tex2lyx/TODO.txt: update
refstyle support was added by http://www.lyx.org/trac/changeset/49c88776/lyxgit
2013-02-16 03:14:21 +01:00
Jean-Marc Lasgouttes
21be4a31cc Fix bug with reading of verbatim environment
The kind of putback() functionality that we need is more tricky
than I thought at first...
2013-02-15 23:22:46 +01:00
Kornel Benko
f78c69b554 Adapt to corrected tex2lyx 2013-02-15 19:07:26 +01:00
Kornel Benko
df4003b232 Adapt test-insets.lyx.lyx to now correctly running tex2lyx.
Removed errocase.
2013-02-15 18:49:00 +01:00
Jean-Marc Lasgouttes
8cb9707b17 Move stuff around (again!) 2013-02-15 17:15:16 +01:00
Jean-Marc Lasgouttes
47b8ab14db Implement deparsing of tokens
When switching catcodes (for example to verbatim), there are in general some tokens that have already been parsed according to the old catcodes. It is therefore needed to "forget" those token and reparse them.

The basic idea is to use idocstream::putback() to feed the characters back to the stream, but this does not work (probably because we disable buffering). Therefore, we implement a simple stream-like class that implements putback().
2013-02-15 17:15:16 +01:00
Jean-Marc Lasgouttes
fd939a0426 Move stuff 2013-02-15 17:15:16 +01:00
Uwe Stöhr
ac7d08cb32 environment.cpp: MSVC compile fix
MSVC told me
"environment.cpp(139): error C4716: 'lyx::support::unsetEnv' : must return a value"
2013-02-15 16:28:02 +01:00
Jean-Marc Lasgouttes
9631c36ff0 Move stuff around 2013-02-15 14:46:57 +01:00
Juergen Spitzmueller
3e90b2029c Some libertine versions have osf default, some lining 2013-02-15 10:52:00 +01:00
Juergen Spitzmueller
6885007f1d Adjust Libertine font support to most recent version
This needs yet a file format change. I hope the interface is stable now (I had an exchange with the package maintainer, Bob Tennent, about that)
2013-02-15 10:45:11 +01:00
Juergen Spitzmueller
63eaefc740 tex2lyx: latexfonts importation fixes 2013-02-12 18:47:05 +01:00
Richard Heck
06cac41193 Add "NoInsetLayout" tag for Uwe. Fixes bug #8545. 2013-02-12 10:13:41 -05:00
Jean-Marc Lasgouttes
e4051a6bd5 Remove unused Mac specific code 2013-02-12 12:29:33 +01:00
Jean-Marc Lasgouttes
81d863fd41 Fix bug #8537: LyX creates the environment variable LC_ALL
The current code is not able to unset an environment variable, only to set it to an empty value. This patch refactors a bit the Message class and uses a new EnvChanger helper class that allows to change temporarily an environment variable and that is able to unset variables if needed.

The patch also adds new functions hasEnv and unsetEnv in environment.cpp.

Open issues:
 * there may be systems where unsetenv is not available and putenv("name=") does not do the right thing;
 * unsetenv may lead to leaks on some platforms.
 * when using unsetenv, we may need to remove strings from the internal map that setEnv uses.
2013-02-12 12:14:06 +01:00
Juergen Spitzmueller
a063defd9f If a LaTeX font has a monolithic option for all expert sets (Osf, SC), honor this in the GUI (#8547) 2013-02-11 15:02:24 +01:00
Uwe Stöhr
348b5e6610 tex2lyx: support for fileformat change 444
biolinum is used if libertine is detected
2013-02-11 14:40:35 +01:00
Uwe Stöhr
2066b57ca2 tex2lyx: support for libertine 2013-02-11 14:22:56 +01:00
Uwe Stöhr
1ddcbbdf92 tex2lyx/TODO.txt: update todo list
listings support was added a year ago by r40856 and r40860
2013-02-11 12:13:44 +01:00
Uwe Stöhr
5db148d22c Revert "tex2lyx/Preamble.cpp: fix bug #8525 temporarily"
This reverts commit a69fcde072.
The commit causing #8525 is [2f7f0c76/lyxgit]
2013-02-11 11:56:27 +01:00
Kornel Benko
f1102e8dd4 tex2lyx-tests: Adapt to changes for emty line in preamble 2013-02-11 09:43:10 +01:00
Uwe Stöhr
a9504b8060 tex2lyx: support for newtxmath 2013-02-11 02:56:48 +01:00
Uwe Stöhr
87fe26e5eb tex2lyx: support for eulervm 2013-02-11 02:34:03 +01:00
Uwe Stöhr
0be810ac44 tex2lyx: support for txtt font 2013-02-11 02:24:31 +01:00
Uwe Stöhr
407cc9a62d tex2lyx: support for biolinum-type1 2013-02-11 02:14:53 +01:00
Uwe Stöhr
999fd86dcf tex2lyx: support for TeX Gyre fonts 2013-02-11 02:07:22 +01:00
Uwe Stöhr
d27dac3efc tex2lyx: support for libertine-type1 2013-02-11 01:56:47 +01:00
Uwe Stöhr
6a3acd336b tex2lyx: support for garamondx 2013-02-11 01:46:03 +01:00
Uwe Stöhr
c466916a25 tex2lyx: support for mathdesign 2013-02-11 01:40:13 +01:00
Uwe Stöhr
e3a3797e2f tex2lyx/Preamble.cpp: remove unnecessary whitespace in the preamble
- this removes blank lines that are otherwise written to the preamble
2013-02-11 01:37:03 +01:00
Uwe Stöhr
690d9b68f2 tex2lyx: add test for font settings 2013-02-11 00:49:20 +01:00
Uwe Stöhr
487d3bffab support for the kurier sansserif fonts
- fileformat change
2013-02-11 00:47:09 +01:00
Uwe Stöhr
a69fcde072 tex2lyx/Preamble.cpp: fix bug #8525 temporarily
- this might break some tex2lyx features but tex2lyx was completely broken - not even the simplest TeX file could be imported and compiles
2013-02-10 23:31:38 +01:00
Juergen Spitzmueller
55bc3665a2 LaTeXFonts: Support the rare case where there is really only preamble code 2013-02-10 14:31:49 +01:00
Pavel Sanda
5000a016cf Fix #7865 - Math autocorrection is broken
Patch from Martin Vermeer.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg177004.html
2013-02-09 21:51:30 -08:00
Pavel Sanda
6ba3e8d408 Leftover from SVN. 2013-02-09 19:50:06 -08:00
Pavel Sanda
75090250d4 Add very simple revision comparison for git.
At this moment we do not allow comparison between arbitrary hashes,
but except GUI the code is ready.
Thanks to the powerful way of git addressing we could even ask
for comparisons like '-2 weeks back' if someone wants to play
with GuiCompareHistory.
2013-02-09 19:35:22 -08:00
Richard Heck
a95ed3a2b9 Use std::map::find() instead of iterating ourselves. 2013-02-09 14:40:22 -05:00
Richard Heck
d6709df3d7 Layout changes for changes to LabelType:
LabelType Counter --> LabelType Static
	LabelType Top_Environment --> LabelType Above
	LabelType Centered_Top_Environment --> LabelType Centered
2013-02-09 13:44:06 -05:00
Richard Heck
e7827264e7 Eliminate the hard-coded special handing of chapters. We'll use the
new Above LabelType instead.
2013-02-09 13:44:06 -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
Juergen Spitzmueller
9cbba74a62 Preamble tag for LaTeXFonts (#8530) 2013-02-09 11:00:42 +01:00
Uwe Stöhr
33e185e5ed IEEEtran.layout: support for conference articles
- IEEEtran-Conference.lyx: new template for conference articles of the IEEE
2013-02-09 03:23:34 +01:00
Georg Baum
22b7ad2b0a Implement revision info for git 2013-02-08 21:02:37 +01:00
Richard Heck
99402cd09c Don't hardcode listings but use InsetLayout. 2013-02-08 09:48:48 -05:00
Richard Heck
f623ded109 Fix bug #7948 by not hardcoding XHTML info for captions but instead
using InsetLayout.
2013-02-08 09:30:31 -05:00
Richard Heck
7821022ca0 Fix bug #7947 by using InsetLayout rather than hardcoding things. 2013-02-08 09:19:09 -05:00
Richard Heck
1b7d812e51 Fix really silly logic error. This should make prettyref-based
files work better when converted to refstyle.
2013-02-07 08:45:21 -05:00
Georg Baum
2f9ef2b98a Implement very basic git support
Only the local index is considered, no remote repo. Also getting the revision
(aka commit hash) is missing. How push and pull could be integrated with the
LyX VCS interface needs to be discussed, but the implemented functionality was
quite straight forward.
2013-02-06 22:07:31 +01:00
Georg Baum
a3e6c7830c Fix copy-paste error 2013-02-06 20:38:54 +01:00
Georg Baum
0526eb9d47 Implement VCS copy and rename
The advantage of having this in LyX is the intelligent file name handling
of included files. Implementation as discussed on the list, but ensure also
that an attempt to use locked files fails.
2013-02-06 20:38:54 +01:00
Georg Baum
067fbe49cd Correctly delete temp files
FileName::erase() only clears the file name, if you want to delete the file
you need to call FileName::removeFile().
2013-02-06 20:38:54 +01:00
Julien Rioux
3408ca4204 Support for \fullcite in LyXHTML and text export (fixes #8491). 2013-02-06 17:37:59 +01:00
Julien Rioux
cc1ce04798 Generate the citation labels before exporting to plain text. 2013-02-06 17:37:58 +01:00
Julien Rioux
6456c2262e Move label generation from InsetBibtex to BiblioInfo.
This only move the code, but does not change the displayed labels.
Thus for numerical citation, the label is set to the cite number;
for author-year citation, the abbreviated list of authors is used
i.e. "Smith et al. 2001".

Eventually, we might want to make the label customizable, or get
it from BibTeX.
2013-02-06 17:37:58 +01:00
Julien Rioux
f51636b547 Remove unused code. 2013-02-06 17:37:57 +01:00
Julien Rioux
f94d77ae88 Whitespace only. 2013-02-06 17:37:56 +01:00
Kornel Benko
7333494c89 tex2lyx tests:
Corrected the tex2lyx check-file for test-refstyle-references.tex
2013-02-06 13:44:46 +01:00
Kornel Benko
55c2dc15fa tex2lyx tests:
1.) Remove empty layout 'Plain'
2.) Adapt to changed look of layout 'Verbatim'
2013-02-06 13:42:27 +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
d33450a592 Fix inconsistent VCS checkin return values
It is not possible to transport the different error/abort/success conditions
of a VCS checkin through a simple empty or nonempty string. Therefore it was
no wonder that the return values were used inconsistently for different VCS.
Now the log and return status are decoupled, and all VCS are handled
consistently. This is a prerequisite for proper locking detection of the
upcoming rename command.
2013-02-04 22:01:59 +01:00
Uwe Stöhr
f2eb5004de tex2lyx: adapt refstyle support aft the fix for bug #8536 2013-02-04 21:37:14 +01:00
Uwe Stöhr
387a6ba09a tex2lyx/Makefile.am: fix a typo 2013-02-04 20:14:22 +01:00
Jean-Marc Lasgouttes
bac4fe7843 Continue support for verbatim
This is a refactoring commit, which may introduce minor regressions, but should go in the right direction.

 * introduce Parser::verbatimEnvironment, which is a wrapper around verbatimStuff
 * introduce output_ert, which inserts a string as ERT; this allows to factor out several code instances.
 * rename handle_ert to output_ert_inset: this creates an inset and then calls output_ert
 * remove handle_comment (use handle_ert instead)
 * remove handle_backaspace (unused now)
 * use the new methods in handle_listing

TODO:
 * use for other verbatim-like cases (Sweave chunk, url...)
 * maybe implement Parser::unparse to reparse tokens already parsed with the wrong catcodes (if needed)
2013-02-04 15:14:30 +01:00
Kornel Benko
83e2c45d83 Add test for verbatim environment in tex2lyx tests 2013-02-04 10:53:25 +01:00
Jean-Marc Lasgouttes
be42f1398d Fix bug #5408: tex2lyx cannot handle verbatim code
- Implement catcode setting in Parser
- add a new Parser::verbatimStuff method that reads verbatim contents
- use this method to parse "verbatim" environment.
- use it to parse \verb too.
- rename Parser::verbatimEnvironment to ertEnvironment.

TODO:
- use for other verbatim-like cases (Sweave chunk, lstlisting...)
- factor out the function that outputs ERT (including line breaks)
- maybe implement Parser::unparse (if needed)
2013-02-04 10:25:58 +01:00
Juergen Spitzmueller
f9691aed8d Fix float label prefix (bug #8536) 2013-02-04 08:41:46 +01:00
Kornel Benko
9dbbe6a372 Add test-refstyle-references to cmake. Also added missing file test-refstyle-references.lyx.lyx 2013-02-04 08:36:18 +01:00
Uwe Stöhr
ede866f67a tex2lyx: test also for algorithm floats 2013-02-04 02:19:54 +01:00
Uwe Stöhr
49c887761a tex2lyx: support refstyle and its commands
fixes #4288
2013-02-04 01:41:56 +01:00
Uwe Stöhr
793dd3b9c0 tex2lyx: update fileformat of LyX files 2013-02-04 01:39:49 +01:00
Georg Baum
1a48d5a967 Dot not swallow log messages 2013-02-03 19:55:44 +01:00
Georg Baum
e82cc5d498 Fix typos 2013-02-03 19:55:44 +01:00
Stephan Witt
141fbb6f8c Prepare LyX code to compile and link with Qt5:
* some functionality is in new modules now
  new header locations and library names: QtConcurrent and QtWidgets
* method setResizeMode is renamed to setSectionResizeMode
* deprecated QAbstractItemModel::reset() is dropped now
* platform specific code like QApplication::syncX() is not common anymore
* QString::fromAscii() is dropped now
* some QDesktopServices methods has been moved to QStandardPaths
2013-02-03 19:26:21 +01:00
Juergen Spitzmueller
0de23da9cd Tooltip change as suggested by Jean-Pierre 2013-02-02 09:08:42 +01:00
Jean-Marc Lasgouttes
652512a38c Clarify two strings in PDF properties
This is a patch from Martin Vermeer.
2013-02-01 15:00:41 +01:00
Juergen Spitzmueller
75fb3e4b6c Do not output ZERO WIDTH NON JOINER glyph for ligature break via toString
I do not see where this is really useful (contrary to real plaintext). And it breaks spell checking with hunspell and 8bit disctionaries (part of bug #8526)
2013-01-26 09:53:53 +01:00
Pavel Sanda
718eeba60f Another attempt at Encoding::any (we don't compile at linux now). 2013-01-25 21:19:10 -08:00
Scott Kostyshak
e2f5b4a5e6 Add some linebreaks to LyXAction.cpp
Should make the LyX output look better.
2013-01-25 23:27:02 -05:00
Scott Kostyshak
c70b62a18e LyXAction.cpp: add move row to LFUN_INSET_MODIFY
Same for move column.
2013-01-25 23:27:02 -05:00
Uwe Stöhr
9e29dc2338 Encoding.cpp: make it compilable again after [2eea1590/lyxgit] 2013-01-25 23:24:26 +01:00
Jean-Marc Lasgouttes
dc5d63ae24 Fix bug #8049: extra empty line at the end of verbatim environment 2013-01-25 12:18:40 +01:00
Jean-Marc Lasgouttes
f7548ae2cd Make sure that inset-forall does not skip insets
This could happen with
  inset-forall Note:Note char-delete-forward
when there where consecutive note insets.
2013-01-25 10:57:10 +01:00
Julien Rioux
e5165f7fc3 Exclude unsafe encodings when setting the inputencoding value.
All of the japanese encodings are safe, but nevertheless the
logic here should exclude unsafe encodings.
2013-01-23 12:30:15 +01:00
Julien Rioux
0601336c24 Respect the encoding passed to tex2lyx on the command line.
Fixup for #8218, fixes #8518.
2013-01-23 00:25:00 +01:00
Julien Rioux
2eea1590b1 Separation of the various names for encodings.
Provide functions for translating to the LyX name
of an encoding from either a LaTeX name or an Iconv
name, with the possibility to specify the package.
This is in anticipation of changing to use the LyX
name of the encoding in the .lyx file format and
allowing multiple lib/encodings entries to have
the same LaTeX name (but different packages!).

The tex2lyx parser needs to worry about the iconv
name of the input encoding, so store that instead
of the latex name.
2013-01-22 23:43:18 +01:00
Scott Kostyshak
0247f726aa Improve -help output regarding --export switch
Thanks to Jean-Pierre Chrétien.
2013-01-22 03:26:59 -05:00
Jean-Marc Lasgouttes
db025be5ae Consider deleted text when inserting quote inset.
This bug was reported against the ubuntu build:
  https://bugs.launchpad.net/bugs/1100046

Additionally, some extra code for avoiding double undo entries has
been removed, since this is handled by grouped undo now.
2013-01-21 14:49:45 +01:00
Scott Kostyshak
3c84267d8d Implement move row/column in tabular inset
This patch implements 'move row' and 'move column' features for tabular.
The purpose is to provide a useful behavior in tabular that is
consistent with PARAGRAPH_MOVE_UP and PARAGRAPH_MOVE_DOWN so that the
user can, for example, do alt-<up> to move a row up. Alternatively,
icons for these features are also added to the table toolbar and
context menu.

If there is any selection, the feature is disabled. This is consistent
with how PARAGRAPH_MOVE_UP works in other contexts. Additionally, 'move
row' is disabled if there is a multi-row in the current or target row;
and 'move column' is disabled if there is a multi-column in the current
or target column.

'move row' moves only the left and right borders of a cell along with
the row. Similarly, 'move column' moves only the the top and bottom
borders.

Implementing similar functionality for other insets, such as arrays and
array environments, is on my TODO list.
2013-01-20 21:54:30 -05:00
Juergen Spitzmueller
e199ec0310 Fix typo spotted by Jean-Pierre 2013-01-20 15:33:33 +01:00
Pavel Sanda
6479c6fd4a Add comment from Georg.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg176694.html
2013-01-15 21:39:51 -08:00
Julien Rioux
6c58e3faa9 Highlight warning and errors in the BibTeX log. 2013-01-15 16:13:20 +01:00
Julien Rioux
843be77e54 Remove unused include. 2013-01-15 15:34:40 +01:00
Benjamin Piwowarski
8c09d3ba1a Fixed a bug when there is no citation 2013-01-15 14:51:29 +01:00
Benjamin Piwowarski
9f62413b10 Initial patch for citation-insert 2013-01-15 14:51:29 +01:00
Julien Rioux
cd17d87e47 Implement plain text export of BibTeX bibliography (fixes #8487). 2013-01-15 14:13:38 +01:00
Julien Rioux
a14e3d9a5d Use buffer().B_() instead of translateIfPossible. 2013-01-15 14:13:06 +01:00
Julien Rioux
3f8de8fe92 Better fix for #7732: Use buffer.B_().
Also handle "and others" which is translated by BibTeX to "et al.".
2013-01-15 14:12:34 +01:00
Georg Baum
7c6a6a05a2 Fix bug #5087 as suggested by Jürgen
Now it is possible to force certain commands only for some encodings.
2013-01-13 21:36:41 +01:00
Juergen Spitzmueller
e27ee60098 Reset postcommandargs as well on resetargs (bug #8500) 2013-01-13 09:16:39 +01:00
Scott Kostyshak
a4a836916b LyXRC: escape existing quote characters in 'cmd' 2013-01-12 16:04:50 -05:00
Julien Rioux
2ffd130d2b Force BibTeX rerun upon add/remove/change citation (fixes #6955).
Reordering citations is one case where catching "Citation undefined
on page ..." doesn't catch the need for a bibtex rerun. This patch
ensures the proper ordering is obtained in pdf output without having
to resort to closing and reopening the LyX document.
2013-01-12 10:12:25 +01:00
Scott Kostyshak
010f64735f LyXRC: allow space in {editor,viewer}_alternatives 2013-01-12 01:13:58 -05:00
Scott Kostyshak
47e9848783 Fix editor and viewer combo boxes in prefs (#8237) 2013-01-12 01:13:58 -05:00
Scott Kostyshak
562fa5bcb0 Typo in LFUN doc 2013-01-11 04:36:37 -05:00
Georg Baum
d2b49e54b9 Add remaining images for math symbol toolbar
Most images are generated by development/tools/generate_symbols_images.py, but
some were drawn manually. Now there is no image missing from the ones the
script can generate.
2013-01-10 21:22:55 +01:00
Georg Baum
45052f56ab Handle text-only wasy symbols correctly.
Some macros defined by wasysym.sty work only in text mode: They either
produce an error in math mode, or wrong output. These symbols are now marked
as text symbols, so that no \ensuremath is created for LaTeX export if they
appear inside \text{}, and the correct images are created.
2013-01-10 21:22:54 +01:00
Julien Rioux
15b2501177 LyXHTML linking from citation to bib entry for LyX 2.1 (fixes #8490).
What was previously accomplished by wrapCitation is now customizable in the
layout files. What we provide by default here corresponds roughly to the
LyX 2.0 behavior.
2013-01-10 15:32:00 +01:00
Juergen Spitzmueller
b57f585109 GuiSymbols: Use a grid with appropriat size 2013-01-10 13:19:14 +01:00
Juergen Spitzmueller
0dd91a1fd7 do not setUniformItemSizes since the symbols have different width (bug #5707) 2013-01-10 11:33:09 +01:00
Kornel Benko
75483b612c Rename misleading function name from_gmtime() to form_asctime_utc() 2013-01-09 13:45:58 +01:00
Julien Rioux
30f200a7e7 Fix cache for getInfo() with/without richtext (fixes #8486). 2013-01-08 16:34:02 +01:00
Julien Rioux
f6cd5ab863 Preserve BibTeX metadata in LyXHTML output (fixes #8451). 2013-01-08 16:33:12 +01:00
Julien Rioux
24a2c57ff0 Move richtext escaping to its own postprocessing routine. 2013-01-08 16:33:11 +01:00
Julien Rioux
e6aab49ff4 Use document language when exporting citations to LyXHTML (fixes #7732). 2013-01-07 16:00:47 +01:00
Kornel Benko
e04523f77b Make change tracking in export to latex be independent of timezone 2013-01-07 15:46:47 +01:00
Juergen Spitzmueller
364de0c2ed LFUN_CAPTION_INSERT is not 'inactive' 2013-01-05 10:04:04 +01:00
Juergen Spitzmueller
3c41319f0b Disable caption-insert in mathed 2013-01-05 09:42:27 +01:00
Juergen Spitzmueller
f164ffd093 do not try to expand arguments in mathed (bug #8482) 2013-01-05 09:41:53 +01:00
Julien Rioux
2e72a0af48 Add known citation packages to LaTeXFeatures:
- achicago
  - apacite
  - apalike
  - astron
  - authordate
  - chicago
  - harvard
  - mslapa
  - named

This allows these citation packages can be Required by the document layout.
LyX handles the package ordering, loading any of these packages before natbib
when both are required by the document layout. For example, apacite can be
used with or without natbib.

The package achicago isn't compatible with natbib out-of-the-box,
but the following compatibility code makes it work:

\usepackage{achicago}
\let\achicagobib\thebibliography
\usepackage[authoryear]{natbib}
\let\thebibliography\achicagobib
\let\UnexpandableProtect\protect
\let\SCcite\astroncite
2013-01-05 00:08:55 +01:00
Kornel Benko
2f33755814 findLyxBinary():
Add program suffix test before trying to determine
and use the extension to search for the lyx-executable
2013-01-04 11:05:12 +01:00
Kornel Benko
bd2468c341 Use program suffix to address lyx-executable, according to suffix
of tex2lyx.

Still the is error in tex2lyx, which searches for invalid suffix to
find the correct lyx executable.
2013-01-03 13:02:34 +01:00
Kornel Benko
4ff3e14144 In tex2lyx tests do not compare the first 2 lines.
This removes the need to update the lyx-format of the test files too often.
(To please Vincent and me)
2013-01-01 13:23:24 +01:00
Kornel Benko
297d534fdd Adapt format to lyx-files in tex2lyx-tests 2012-12-31 18:50:35 +01:00
Georg Baum
a98f7ad02d Fine tune image generation 2012-12-31 18:22:05 +01:00
Georg Baum
9c33bddffa Let tex2lyx really produce format 458. 2012-12-31 18:22:05 +01:00
Juergen Spitzmueller
846dd9b995 Introduce new beamer frame layouts
The old layouts are still there (marked as deprecated). The new ones are more or less correctly reverted (polishment required), but the old ones not yet converted to the new. Once this is done, a further file format change should be made.
2012-12-31 13:00:46 +01:00
Juergen Spitzmueller
f94220a79c Fix LaTeX fonts availability detection (bug #8476) 2012-12-31 10:51:37 +01:00
Juergen Spitzmueller
2a273ce4c1 Remove redundant 'Caption' string 2012-12-31 10:18:05 +01:00
Uwe Stöhr
b54c480508 ColorCode.h: clarify a comment 2012-12-31 04:10:28 +01:00
Georg Baum
ee3ce572a0 Fix import of shift-jis and big5 CJK texts.
These encodings were not defined, since they must not be used as document
encodings (the characters {, } and \ may appear in high bytes, and latex
would be confused). However, they are supported by CJK.sty (which uses a
preprocessor to circumvent the limitations of the latex executable). These
encodings are now defined, but used for import in tex2lyx only.
The test case CJK.tex contained fake tests for shift-jis and big5 (the
japanese and chinese characters were entered using the utf8 encoding), and
therefore the wrong interpretation of these encoding looked as if it worked.
The comments about missing iconv support of shift-jis and big5 were wrong as
well (otherwise shift-jis-plain would not work either).
2012-12-30 20:52:50 +01:00
Georg Baum
81f1f33a79 Add tex2lyx test results to dist package.
Otherwise "make check" will fail for sources not obtained from git.
2012-12-30 20:52:50 +01:00
Georg Baum
de5e348727 Fix bug #8468: Wrong import of UTF8 CJK.
Actually, the test case showed several problems:
- ERT insets did use layout "Standard", not "Plain Layout"
- The font scale was read correctly, but tex2lyx claimed that it did ignore
  the option "scaled=0.95"
- If a third argument of the CJK environment was given, it caused the whole
  environment to be put in ERT with a broken encoding. This is now fixed for
  the bug test case by using the \font_cjk header variable, but the encoding
  problem still exists for unsupported encodings. I'll file a separate bug
  for that.
- The CJKutf8 package was not handled in the preamble parsing. Therefore the
  chinese comment in the preamble was read with a wrong encoding, and guessing
  the document language did not work.
The new file CJKutf8.tex was created by copying and modifying CJK.tex, but
unfortunately it is impossible to tell git to inherit the history of CJK.tex
for the new file (search the web for git svn copy if you want to know details).
2012-12-30 20:52:49 +01:00
Georg Baum
6c54a081fa Make ASCII test more explicit.
I will need isASCII() in tex2lyx as well.
2012-12-30 20:52:49 +01:00
Georg Baum
c51449cac6 Fix tex2lyx bug #8466: special file names.
Special characters as created by latex_path() where not converted corectly
from LaTeX macros by tex2lyx. Now this is done, even for file names containing
double quotes which are not used for quoting spaces. These file names are not
legal on windows, and will causes probelms in DVI files, but if they occur
tex2lyx does not produce invalid .lyx files.
2012-12-30 20:52:49 +01:00
Juergen Spitzmueller
c246076ed5 Fix the 'caption inset mess' (bug #4647) 2012-12-30 18:29:02 +01:00
Kornel Benko
1ccc92717c The param 'close_fds' is not allowed on windos for subprocess.popen call,
if there are also redirections to stdin, stdout or stderr.
2012-12-30 11:30:15 +01:00
Juergen Spitzmueller
3f0bf02cc7 Disable CAPTION_INSERT in tables except for longtable caption cells (bug #5777) 2012-12-29 10:31:41 +01:00
Georg Baum
56ece75ad9 Fix bug #8464: stackrel with subscript.
The fix is basically mechanical, the additional code for fraction like insets
with three arguments was stolen from \unitfrac. As any math package,
stackrel.sty needs a buffer parameter to switch it off.
I also added the two stackrel flavours to the toolbar.
2012-12-28 20:08:43 +01:00
Georg Baum
8693f5a91e Fix bug #8422.
Both problems where caused by the fact that tex2lyx did not handle
natbib/jurabib citations correctly if natbib/jurabib was loaded by the
document class. Therefore it tried to parse the standard \cite syntax, and
did not recognize \citet and \citep.
2012-12-28 20:08:42 +01:00
Georg Baum
594c83261a Update tex2lyx test cases
The recent file format changes do not change the output of the existing test
cases, so only the version number needs to be updated.
2012-12-28 20:08:42 +01:00
Kornel Benko
981b9c69d1 1.) Add format to CJK.lyx.lyx(missed in previous commit)
2.) Add lyx2lyx test to runtests.py. This is done with extra parameter only,
  and does not change the behaviour without this parameter.
2012-12-28 16:22:25 +01:00
Kornel Benko
889563984f Adapt format to test files 2012-12-28 16:19:34 +01:00
Vincent van Ravesteijn
a19a0edfc0 qt5: Use QStyleOptionTabWidgetFrame
QStyleOptionTabWidgetFrameV2 is identical to QStyleOptionTabWidgetFrame.
2012-12-28 14:07:43 +01:00
Georg Baum
23b74a9111 Add toolbar images for stmaryrd.sty symbols
These are all generated by development/tools/generate_symbols_images.py, the
only manual adjustments were renamings due to case sensitive file systems on
windows.
2012-12-28 13:25:41 +01:00