Guillaume Munch [Thu, 17 Dec 2015 03:20:50 +0000 (03:20 +0000)]
Hide OptSubmenus (#9717)
At d449e7e6 it has been decided that submenus are going to be displayed even if
all their items are disabled. Here we make an exception for OptSubmenus.
Example of submenu no longer shown: Insert > Insert Regexp
Example of submenu always shown: Edit > Math > Limit Type, Macro Definition
Guillaume Munch [Thu, 17 Dec 2015 01:04:25 +0000 (01:04 +0000)]
Work around bug #9841
\output_changes is now output at a distance from \tracking_changes.
Since both parameters can be seen as per-user preferences, they can cause
undesirable merge conflicts, in a multi-author setting, were it treated as a
single block by the version control system, as was the case before this patch.
Guillaume Munch [Wed, 16 Dec 2015 16:34:54 +0000 (16:34 +0000)]
Limit the size of navigation menus for performance.
After d5a5fbb8, as indicated in the commit log, it remained to make sure that
the sub-menus of the navigation menu showing the TOCs are generated in a delayed
fashion, to avoid corner cases regarding performance when documents have very
lengthy tocs (e.g. in a document with 1000 sections it takes a few hundreds
milliseconds for the menu to be refreshed). But this idea actually requires
substantial changes to the way menus are computed, so it is not for now.
In the meanwhile, I reintroduce a max size for menus, after which it is cut
off. This differs from the one that I removed at d5a5fbb8 in two ways: 1) if
there are more items than the max size, then we still show something instead of
nothing, 2) we allow ourselves to rely on qt's scrollable menus and therefore
allow bigger menus than before the above commit. The philosophy is that it is
better to show something than nothing, that it's better to show a scrollable
menu than to cut the menu to fit the screen, and that beyond a certain size the
scrollable menu becomes useless anyways.
Scott Kostyshak [Wed, 16 Dec 2015 23:06:39 +0000 (18:06 -0500)]
Remove a file that was accidentally committed
stdspecialchars.inc was unintentionally committed (it is still a
work in progress) at 2dff14d2. This commit also reverts 7c4a1e16 (it
is now unneeded). For details, see:
https://www.mail-archive.com/search?l=mid&q=CAE_dPV4OpkEFbHuu1daTrUij298%3DfiNQs_4u_tz98MjynAyXEg%40mail.gmail.com
It is a bad idea to have a QObject variable that oulives the main QApplication object. See for example:
https://www.ics.com/designpatterns/book/globals.html
Here the QTextLayout object was static to the anonymous namespace getTextLayout function, and got destroyed after the freetype renderer had been disposed of by QApplication.
This causes segmentation faults when quitting LyX on some systems.
This patch moves the cache together with other GuiFontMetrics caches. It means that one will have one such QTextLayout per font type, but this will not change much.
Kornel Benko [Tue, 15 Dec 2015 07:10:52 +0000 (08:10 +0100)]
Cmake export tests: move spanish manuals tests for (xe|lua)latex and tex font to unreliableTests
Comment by Günter Milde:
Actually, *all* Spanish manuals either fail or have wrong output with
Unicode TeX engines and 8-bit fonts. The reason is known: a bug in Babel
that uses utf8 strings whenever Xe- or LuaTeX is detected.
Günter Milde [Mon, 14 Dec 2015 13:14:56 +0000 (14:14 +0100)]
Revert output format setting for Japanese manuals (pdf2 does not work).
The manuals use language "Japanese" wich is tied to "platex"
(automatically set instead of (plain) LaTeX).
For export with other engines, the language must be set to "Japanese (CJK).
For a discussion of alternatives for Japanese with LaTeX , see also
http://www.preining.info/blog/2014/12/writing-japanese-in-latex-part-1-introduction/
Richard Heck [Mon, 30 Nov 2015 22:25:03 +0000 (17:25 -0500)]
There does not appear to be any need to update the entire Buffer
after each entry into mathed. Instead, we just update the TOC for
anything the mathed happens to be inside.
Günter Milde [Thu, 10 Dec 2015 09:40:50 +0000 (10:40 +0100)]
Set default output format for manuals to PDF (pdflatex).
Pdflatex is the recommended export tool for the manuals.
Pdflatex brings the best results for hyperlinking.
Some features (e.g. rotated text) are not available in DVI or PS (dvips).
This does not affect export from command line or autotests
(where this setting is ignored and the format must aways be given explicitely).
This crude caching mecanism is useful in the particular case of a screen with many misspelling dotted lines. In this case, it is necessary to build a QTextLayout in order to know where to put the start/end of the spell line. Since rows typically contains text snippets longer than a word, we may be in a situation where the same QTextLayout is constructed repeatedly.
This commit is useful in this particular use case, and should not be costly in other cases. A better fix would be to remember the QTextLayout associated to each row element. This is a bit more work, so this fix should be sufficient for now.
Additionally, do not paint misspelled marks when painting is disabled.
Scott Kostyshak [Tue, 8 Dec 2015 06:33:41 +0000 (01:33 -0500)]
Explain why we do not update the local layout
We do not update the local layout of our .lyx files because users
would then not be able to export to older formats. For example, if a
2.2.0 user exported a template to 2.1.x format and tried to open the
file in LyX 2.1.x, there would be an error because the file would
contain a local layout whose format is too new. The root reason for
this is that we do not convert layouts to older layout formats.
Georg Baum [Mon, 7 Dec 2015 20:17:33 +0000 (21:17 +0100)]
Explain why rsvg_convert is in front of inkscape
Otherwise it could easily happen that the order is changed, since rsvg_convert
seems to be more picky about invalid files (see http://www.lyx.org/trac/ticket/9891)