Commit Graph

26339 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
e3c5987806 Forgot to test aspell and hunspell support 2019-09-13 19:01:26 +02:00
Richard Kimberly Heck
c2f5c850d9 Use const & 2019-09-13 11:49:29 -04:00
Jean-Marc Lasgouttes
714113655a Follow some of the performance advice from cppcheck
Most of that is changing string to string const &.
2019-09-13 16:23:49 +02:00
Richard Kimberly Heck
94896166d4 Fix bug #11619. 2019-09-11 22:13:58 -04:00
Richard Kimberly Heck
e71280221f Fix nullptr warnings 2019-09-11 22:13:25 -04:00
Richard Kimberly Heck
fb79552ae0 Minor renaming for clarity. 2019-09-11 20:54:51 -04:00
Richard Kimberly Heck
05a446b77c Fix bug #11636.
Directories are created when files are copied, so we do not need
to do it prospectively here.
2019-09-11 20:54:42 -04:00
Richard Kimberly Heck
a20f3a0d52 Revert last two commits, which we pushed accidentally. 2019-09-11 20:47:07 -04:00
Richard Kimberly Heck
1fb308cd02 Whoops, forgot this part 2019-09-11 20:30:31 -04:00
Richard Kimberly Heck
26813996e2 Constify, largely for debugging purposes 2019-09-11 20:29:58 -04:00
Richard Kimberly Heck
2c0421f00c Constify 2019-09-11 19:39:03 -04:00
Jean-Marc Lasgouttes
7c1c50d737 Enable dissolve in undefined Flex inset context menu
This is a hackish special case, so I had to add a hack...

Fixes bug #8650.
2019-09-11 15:49:50 +02:00
Jean-Marc Lasgouttes
e1be71da59 Reset layout when inserting an inset over full paragraph(s)
1/ When inserting an inset over a selection, it makes sense if the
selection covers a complete or several paragraphs to reset the layout of
the paragraph that contains the inset to plain layout. In general the
inner inset will have the needed layout information and it does not
make sense to keep this information outside.

However, when the inset forces plain layout, it does not make sense to
do that and the outer layout is preserved.

Some code that duplicates what is done in pasteSelectionHelper is also
removed.

2/ Similarly, when dissolving an inset, do not reset the layout of the
first paragraph if the inset was alone in its own paragraph.

Note that this does not work as intended when change tracking is enabled.

Fixes bugs #10266 and #10369.
2019-09-11 10:39:02 +02:00
Juergen Spitzmueller
d76cef70a0 Allow to hide formats from menus
Fixes: #11657
2019-09-11 10:29:50 +02:00
Scott Kostyshak
ef6d83bc06 Give error if undefined citations with Biblatex
This commit catches situations when one key in a multi-key citation
is not defined. This commit causes an error to be given, but the
name of the key that is undefined is not provided in the error
dialog.

This commit is consistent with bf99ece7.

For more information, and possible follow-up discussion (e.g., on
putting the key in the error dialog), see the following ML thread:

https://www.mail-archive.com/search?l=mid&q=20190908165644.qnz6xu5bm5eqiko6%40boogie
2019-09-10 10:43:40 -04:00
Patrick de Visschere
b70c3796a1 #6961 correct the big-endian conversion of UInt32
This is a patch from Patrick de Visschere. Thanks.
2019-09-08 11:11:17 +02:00
Scott Kostyshak
27f89144bb Enable change tracking if paragraph break change
When a selection spans more than one line, we now check for whether
there is a change at one position after the last position of each
fully selected line.

This fixes #11629.
2019-08-30 22:31:24 -04:00
Jean-Marc Lasgouttes
5915d69eaf Set buffer correctly when deleting column in math grid
This is a followup to 837bcbb0.

Fixes bug #11623.
2019-08-28 18:21:17 +02:00
Jean-Marc Lasgouttes
c346de1bd1 Initialize num_bib_key_
Spotted by Coverity.
2019-08-28 14:25:44 +02:00
Günter Milde
c5596da758 Fix export with Japanese (platex) and non-TeX fonts.
Revert a change in c83765163f that inserts a spurious "}".
2019-08-21 12:33:13 +02:00
Juergen Spitzmueller
cc3e227cba Properly terminate command 2019-08-19 07:30:06 +02:00
Juergen Spitzmueller
762ba6a3c8 Handle endnotes aux file in removeAuxiliaryFiles() 2019-08-17 09:32:15 +02:00
Pavel Sanda
58cf1c5345 As observed on users list it's hard to guess where to setup external editor. 2019-08-16 23:01:34 +02:00
Juergen Spitzmueller
b5722962fb Correctly set language after intitle paragraphs
Fixes: #11514
2019-08-16 16:24:09 +02:00
Juergen Spitzmueller
b32615d1ce Tiny cleanup
No change in functionality
2019-08-16 11:48:57 +02:00
Juergen Spitzmueller
7ca267e1fe Fix coloured boxes in RTL with [pdf]latex (#8642) 2019-08-15 16:21:13 +02:00
Juergen Spitzmueller
4e74dd0d42 Fix greyedout note in RTL (#8647)
More complicated than I wished for, but color handling in RTL is
particularly tricky.

The three versions are needed due to the differences between [pdf]latex,
xetex, luatex/luabidi and luatex/babel.
2019-08-15 15:15:59 +02:00
Scott Kostyshak
f11e9adf8a Implement commenting for CREDITS file
The reader of CREDITS (GuiAbout.cpp) now ignores lines that start
with the number sign (#). This commit also introduces a commented
out header in CREDITS reminding any potential editor that all
changes will be overwritten by generate_contributions.py.
2019-08-14 22:09:42 -04:00
Juergen Spitzmueller
2746fdf7dd Correct ^ catcode for \cprotect 2019-08-14 18:32:34 +02:00
Juergen Spitzmueller
4c11ba11fd Update tex2lyx tests 2019-08-14 17:07:47 +02:00
Juergen Spitzmueller
4b0069860c InsetGraphics: use totalheight for height output
Graphics "height" is only the height above the baseline and thus not
what most people will expect. Also, using height can result in a
division by zero with rotation.

Use totalheight now since this means "height of the figure" (independent
of the baseline).

The custom options field can be used if height is really desired.
We handle this in conversion/reversion, respectively, so document
output will not change.

Hence, file format change.

Fixes: #9676
2019-08-14 16:55:43 +02:00
Juergen Spitzmueller
f937b5eb7a Load rotfloat and rotating after graphicx.
Fixes: #11502
2019-08-14 15:16:10 +02:00
Juergen Spitzmueller
1929caf4b7 Re-fix #2005
Loading keyval does not work any longer. Fix it properly by de-activating
the equal character locally if graphics options use it.
2019-08-14 14:49:38 +02:00
Juergen Spitzmueller
f995fba310 Fix cprotect with Slovak
babel-slovak makes ^ active, though cprotect relies on it being
catcode 9 ("ignored"). Thus we locally change the catcode with Slovak.
2019-08-14 14:00:29 +02:00
Juergen Spitzmueller
ce447e1760 Deactivate active - in tables with \cline or \cmidrule
This introduces a new languages tag ActiveChar which also can be used
for similar cases.
2019-08-14 13:10:42 +02:00
Juergen Spitzmueller
28b126b100 Fix cline/cmidrule calculation once more 2019-08-14 11:25:31 +02:00
Juergen Spitzmueller
5621c12135 fix midrule calculation 2019-08-13 19:29:39 +02:00
Juergen Spitzmueller
e14f8daca4 GuiSetBorder: Fix drawing glitch with trimmed lines 2019-08-13 17:04:42 +02:00
Juergen Spitzmueller
5443d7d4eb Don't output default papersize 2019-08-13 15:55:34 +02:00
Juergen Spitzmueller
8abe7b25e8 Add support for the enotez package
This is a modern implementation of endnotes building on LaTeX3 tools which
gets away with deficiencies of the endnotes package, has some extra features,
is localized, supports hyperref and is better customizable.

As this is a fairly new package requiring l3, we keep the old endnotes
module and provide this as an alternative.
2019-08-13 07:30:20 +02:00
Juergen Spitzmueller
6afdde5a5b update tex2lyx tests 2019-08-12 14:52:35 +02:00
Juergen Spitzmueller
229052b29a Extend endnotes support
Support native solution for Endnotes list rather than having to use
\\theendnotes via ERT

File format change
2019-08-12 13:00:54 +02:00
Juergen Spitzmueller
cbfce678d8 Add Requires to float definition. 2019-08-12 12:18:28 +02:00
Juergen Spitzmueller
b4e871e9ca Fix comment 2019-08-11 08:21:33 +02:00
Juergen Spitzmueller
cce9adc185 Force LTR for numeric citations
Fixes: #3005
2019-08-11 08:15:57 +02:00
Juergen Spitzmueller
32d8e2ec93 Thinko 2019-08-07 19:36:32 +02:00
Pavel Sanda
2a8c8b6345 Minor comment.
Offshoot of bf99ece736.
https://mailman.ntg.nl/pipermail/ntg-pdftex/2019-August/004306.html
2019-08-07 17:16:52 +02:00
Juergen Spitzmueller
b4f4f87dab update tex2lyx tests 2019-08-07 16:50:54 +02:00
Juergen Spitzmueller
0b7305024a Use generic paper size names rather than LaTeXisms such as "letterpaper"
This allows to support classes that don't use the Xpaper wording.

Add support for KOMA font (keyval) syntax on top of that.

Also support class-specific font and paper sizes in tex2lyx.

File and layout format change.
2019-08-07 16:44:11 +02:00
Juergen Spitzmueller
1386a3d8fd Allow for multiple use of same key in qualified citation lists
File format change

Fixes: #11618, #11632
2019-08-07 13:00:29 +02:00
Juergen Spitzmueller
50abaa0e57 Add FontSizeFormat textclass option
This allows to customize the way fontsizes are passed to the class (e.g.,
"fontsize=12", as used by KOMA, rather than "12pt").
2019-08-06 19:27:49 +02:00
Juergen Spitzmueller
cf614433d4 update tex2lyx tests 2019-08-06 18:26:10 +02:00
Juergen Spitzmueller
b01075469d Add more page sizes to KOMA and memoir 2019-08-06 18:18:37 +02:00
Juergen Spitzmueller
c6f262a5b7 Add textclass options for paper size selection and default paper size
Fixes: #4506

Implementing this to the classes requires file format changes, as the
classes' page layout will likely differ from geometry's.
2019-08-06 17:34:16 +02:00
Juergen Spitzmueller
65c1ae8133 Fix interplay of memoir and geometry
Fixes: #10970
2019-08-05 19:01:48 +02:00
Juergen Spitzmueller
231b36d950 Fix text direction of references with XeTeX/bidi
Fixes: #11626
2019-08-05 16:30:01 +02:00
Kornel Benko
8acbcebf11 Findadv: Add some missing accents.
They are defined in lib/unicodesymols, but were not handled yet.
2019-07-30 15:21:56 +02:00
Pavel Sanda
a6634f5bb3 git VCS: add support for short hashes in inset info ("Abbreviated revision").
Fixes bug #11620.

Patch from Joel Kulesza.
2019-07-28 22:01:17 +02:00
Pavel Sanda
eceed02a90 Do not issue error dialog when no tag is found in git repo for tree-revision info.
Reported by Joel Kulesza.

Candidate for branch.
2019-07-25 14:31:20 +02:00
Kornel Benko
bdf8c3b530 Fix forward search
The provided working directory was not properly set when the underlying
process starts.
It is not clear, why only this one call to one.startscript()
needs fixing. OTOH, the other calls do not use 'Systemcall::DontWait'
as the first parameter.
2019-07-25 10:01:03 +02:00
Juergen Spitzmueller
347800eff3 Allow multiple insertion of citation key with qualified citation lists
Fixes: #11618
2019-07-23 10:34:33 +02:00
Juergen Spitzmueller
6c2a0c6b37 Correct visual/logic cursor description 2019-07-23 07:36:53 +02:00
Jean-Marc Lasgouttes
2898c335be Add mechanism to change icons in RTL mode
When the cursor in RTL text, icons for "depth-increment" or
"layout-toggle Enumerate" look wrong.

To fix this, the lfun "bidi" is introduced. "bidi ltr func" behaves
like "func" in LTR text, but is unknown in RTL text. "bidi rtl" does
the opposite. This allows to add two icons, but only have one icon
available. When no document is available, only LTR is assumed.

To make this work, the handling of unknown functions in toolbar has
been changed so this these functions can change dynamically their
existence.

The icon themes `default', `oxygen' and `classic' have been updated
accordingly.

Fixes bug #4451.
2019-07-22 15:20:38 +02:00
Juergen Spitzmueller
24d72468c0 use validator rather than inputMask for line edit validation (part 2) 2019-07-22 11:31:56 +02:00
Juergen Spitzmueller
13df8f9a21 use validator rather than inputMask for line edit validation
inputMask gives an odd cursor, see #7204
2019-07-22 09:36:09 +02:00
Juergen Spitzmueller
b852df91bc Localize the default decimal separator
Do not blindly use (English) "." as default, but the locale default of
the current context language.

Fixes: #7204
2019-07-22 08:05:28 +02:00
Juergen Spitzmueller
3ca2b42389 Fix another tooltip 2019-07-21 16:43:41 +02:00
Juergen Spitzmueller
6fd2f7769f Hide custom_language_package if custom is not selected
Otherwise people might read it as if babel was automatically selected
2019-07-21 16:27:12 +02:00
Juergen Spitzmueller
6e7ef06dbc Further tooltips fix 2019-07-21 16:19:01 +02:00
Juergen Spitzmueller
ae9768da93 Fix tooltip 2019-07-21 14:41:23 +02:00
Juergen Spitzmueller
73146e757d Add tooltips
The function itself seems broken.
2019-07-21 14:37:14 +02:00
Juergen Spitzmueller
85d5e9e747 Fix nullpointer issue 2019-07-21 13:14:20 +02:00
Juergen Spitzmueller
fb8ef40d12 Show language switch item in menu also in monolingual documents. 2019-07-21 11:49:33 +02:00
Juergen Spitzmueller
bbeee6bbef Improve prefs language UI 2019-07-21 11:37:54 +02:00
Kornel Benko
5c4c3b301a Amend c293be56: Cmake part of 'Rename frontend qt4 to qt' 2019-07-21 00:44:17 +02:00
Jean-Marc Lasgouttes
c293be56bd Rename frontend qt4 to qt
In particular, the directory frontends/qt4 is renamed to frontends/qt.

Many configurations file have to be updated. All mentions of qt4 in
the source have been audited, and changed to qt if necessary.

The only part that has not been updated is the CMake build system.
2019-07-20 23:39:40 +02:00
Jean-Marc Lasgouttes
c476c3766c Add a pref to disable OS keyboard language support
By default, the behavior is the same as before, except that the
language of new document is not unconditionally en_US anymore.

The new checkbox "Respect OS keyboard language" (off by default)
governs this behavior.

Update prefs format to 30.
2019-07-20 12:57:16 +02:00
Jean-Marc Lasgouttes
6f8298b165 Set language to OS input language when moving cursor
Instead of setting language from context when moving the cursor, set
it to the OS input language. This behavior will probably need to be
controlled by a preference, since not everybody changes keyboard
mapping when changing language.

This required to move BufferView::setCursorLanguage to
Cursor::setLanguageFromInput().
2019-07-19 11:52:03 +02:00
Juergen Spitzmueller
36399e88d3 tex2lyx: slight font handling simplification
We do not have to add the general packages to known sf and tt, just to
exclude them later by exception.
2019-07-19 07:50:52 +02:00
Juergen Spitzmueller
63161434ff Really fix bug #11616
With !using_begin_end, we need to compare against the paragraph language
since cur_language is always empty.
2019-07-18 17:05:44 +02:00
Juergen Spitzmueller
2b432ecb3a Revert "Fix bug #11616"
This reverts commit 2890b99a76.

A real fix follows in a minute
2019-07-18 17:04:18 +02:00
Juergen Spitzmueller
850c5a3d55 Support for CrimsonPro 2019-07-18 10:50:46 +02:00
Juergen Spitzmueller
86b1331507 tex2lyx: update and improve noto import 2019-07-18 09:48:09 +02:00
Juergen Spitzmueller
ed44aed58c Remove unneeded method. 2019-07-18 08:15:00 +02:00
Juergen Spitzmueller
777a2a9baa Remove Plex Semibolds
These are not font shapes proper. The semibold is to be combined with
font shapes and thus needs to go to extra options.
2019-07-18 08:14:09 +02:00
Jean-Marc Lasgouttes
049aed8e08 Respect OS-level keyboard language
This bug provides two features:

1/ when a new document is created the language is set to the current
  keyboard language.

2/ when keyboard is switched at OS level, the input language of
   current window is changed. The language is set preferably to one of
   those of the document. Ex. if the keyboard changes to en_GB but one
   is typing a document in US English and Hebrew, then US English will
   be selected rather that adding UK English to the list.

The implementation depends a lot on Qt. The platform status is :

* working on Windows 10

* not working with Linux (although 1/ works with Qt4); it seems that
  Qt5 supports switching through ibus, but I do not know what this
  means.

* not yet tested on macOS.

This addresses bugs #6450, #6247 and somehow #10514.
2019-07-17 23:23:13 +02:00
Enrico Forestieri
2890b99a76 Fix bug #11616
Do not care about branches when no package language is used.
2019-07-17 21:30:24 +02:00
Juergen Spitzmueller
efefde4c00 Amend 91ff5c4198 2019-07-17 21:16:05 +02:00
Kornel Benko
91ff5c4198 Rename packageoption->packageoptions
This reflects the description in latexfonts
2019-07-17 18:52:58 +02:00
Kornel Benko
7515648774 AmendI2) e9c0d48d. Remove unneded entries,
Thanks Jürgen
2019-07-17 18:27:06 +02:00
Kornel Benko
504664a261 Update tex2lyx tests 2019-07-17 18:13:32 +02:00
Kornel Benko
e9c0d48d58 Add sans serif font series "Chivo" 2019-07-17 18:02:22 +02:00
Juergen Spitzmueller
0c25dbf522 tex2lyx: minor post-cleanup 2019-07-16 10:58:27 +02:00
Juergen Spitzmueller
7e2a424621 tex2lyx: cleanup font handling 2019-07-16 10:32:24 +02:00
Juergen Spitzmueller
f1d946bf32 tex2lyx: support for Fira fonts 2019-07-15 14:03:08 +02:00
Jean-Marc Lasgouttes
732395ef1e Add support for amsmath's smallmatrix
This is a tight matrix in script size that is suitable for using inline.

Patch from our own Martin Vermeer and myself.
2019-07-15 13:38:07 +02:00
Jean-Marc Lasgouttes
009e7a61bb Fixup ee0bd36a86: only clear margins when needed
The old code would erase text around inline math.

Related to #11333.
2019-07-15 13:06:09 +02:00
Juergen Spitzmueller
0d86faee2d Update tex2lyx tests 2019-07-15 08:23:42 +02:00
Juergen Spitzmueller
b50336c0b0 tex2lyx: support cantarell font 2019-07-15 08:10:47 +02:00
Jean-Marc Lasgouttes
ca5cac2b51 When pasting several cells in mathed, take cursor position in account
Related to bug #11390
2019-07-15 01:20:08 +02:00
Jean-Marc Lasgouttes
ee0bd36a86 Add empty rows to grid insets when numbers are too wide
This is done to ensure that numbering never overlaps equations. The
result can be different according to the bufferview, which is why
RowInfo::offset is now a std:map.

Remaing issues (how bad are theese ?):

- the numbering is considered too large when it overlaps the inset
  rect, whereas one could consider the width if the current row
  instead.

- previews may need to be adapted similarly to fit the whole screen width
2019-07-14 23:27:44 +02:00
Jean-Marc Lasgouttes
dea245d540 Draw display math numbering outside of inset
This is the first (easiest) step in fixing bugs 10668 and 11333.

The numbering is now drawn outside of the insets, which solves the
alignment problems and make editing easier.

What does not work yet:

- long labels will overwrite equations. To fix this, we need to
  implement the same algorithm as LaTeX and put labels on their own
  row when required.

- previews may need to be adapted similarly to fit the whole screen width
2019-07-14 23:27:44 +02:00
Jean-Marc Lasgouttes
e6b54ea4d2 Fix assertion in caret display code
It is not a good idea to call caretPosAndHeight when the caret is in a
paragraph that is not in cached metrics. This can happen when not
using "cursor follows scrollbar".

This commit refactor things a bit so that testing is done in
BufferView.

This bug is not in 2.3.x.
2019-07-14 23:27:44 +02:00
Kornel Benko
97a099b137 Add sans serif font "cantarell" 2019-07-14 21:44:58 +02:00
Jean-Marc Lasgouttes
ed856c9f4d Make some InsetMathGrid members private
Also remove the trailing underscore of XXXInfo members, since they are
not private in essence.

No intended behavior change.
2019-07-14 17:45:03 +02:00
Juergen Spitzmueller
2e72ed3e2c tex2lyx: support all MoreOpts 2019-07-14 15:29:18 +02:00
Jean-Marc Lasgouttes
4cc4663262 Replace MathData::kerning_ member by a function
This allows to make kerning depend on the BufferView? This is not
useful right now, but may become useful for multimonotor setting with
different dpi.
2019-07-14 14:45:36 +02:00
Juergen Spitzmueller
dc4a015fba Remove debug code 2019-07-14 12:04:53 +02:00
Juergen Spitzmueller
3c7ede3e9b update tex2lyx tests 2019-07-14 11:45:11 +02:00
Juergen Spitzmueller
dcf06fdb22 Split osf options to families
Nowadays we support sf and tt fonts with osf options, so this needs to
be selectable separately.

File format change.
2019-07-14 11:41:36 +02:00
Juergen Spitzmueller
c4e90cec86 tex2lyx: lineno support 2019-07-14 09:41:17 +02:00
Juergen Spitzmueller
509551cae0 More osf (texfont) fixes 2019-07-14 09:09:46 +02:00
Juergen Spitzmueller
27e0279e24 tex2lyx: extend support for some osf fonts. 2019-07-13 17:46:43 +02:00
Jean-Marc Lasgouttes
575761c665 Use backing store also with wayland platform
Like with macOS, the Wayland compositor seems to require a
backingstore when doing partial updates like we do.

This extends the mechanism that has been introduced for macOS. This
has to be done at run time, not compile time.
2019-07-13 16:23:57 +02:00
Juergen Spitzmueller
db638018d9 tex2lyx support for MoreOptions in IBM Plex and Noto, support Adobe Source fonts at all 2019-07-13 15:44:52 +02:00
Juergen Spitzmueller
e0578e4d61 More MoreOpts fixes 2019-07-13 15:33:20 +02:00
Juergen Spitzmueller
0738ff08ba Consider CompleteFont with MoreOptions 2019-07-13 14:55:07 +02:00
Juergen Spitzmueller
003d675c2f Use \babelfonts only if babel >= 3.15 is available. 2019-07-13 08:42:42 +02:00
Jean-Marc Lasgouttes
5e33e4fc2c Catch improbable exception
We know that the exception is correct, but coverity does not.
It would be much better to check that at compile time...
2019-07-13 00:24:21 +02:00
Jean-Marc Lasgouttes
ca217fbfaa Check regex_match result when parsing cvslog
Spotted by coverity.
2019-07-13 00:10:32 +02:00
Günter Milde
130c744069 Drop support for XeTeX + TeX fonts + inputenc utf8.
LyX follows LaTeX in dropping support for this combination
(it only worked by tricking "inputenc.sty").
There is no known case where this combination is required or helpfull.

For power users with special needs, XeTeX + TeX fonts is still
available after setting the input encoding to "ascii" or "utf8-plain".

See also #10600.
2019-07-12 12:56:20 +02:00
Richard Kimberly Heck
6960bab65c Fix bug #11612.
Register verbatim includes with the outliner.
2019-07-11 16:21:38 -04:00
Richard Kimberly Heck
83afe8aa19 Shorten labels. 2019-07-11 16:21:38 -04:00
Juergen Spitzmueller
41a705b055 update tex2lyx tests 2019-07-11 20:34:47 +02:00
Juergen Spitzmueller
c3c2815092 Implement support for font options
This revives a patch by Uwe and extends it. Additional options to font
packages/fontspec can now be entered in Document Settings.
This is principally also true for TeX fonts, if the new TeXFont tag
MoreOptions is set. For the time being, I have only done this for
MinionPro, as a model and prove of concept.

Note that adding more TeXFonts requires a file format change,
respectively, and changes to tex2lyx (in the same way as I've done for
MinionPro).

This addresses #8226
2019-07-11 20:28:34 +02:00
Juergen Spitzmueller
9ca2f90bf5 Update tex2lyx tests 2019-07-11 13:24:56 +02:00
Juergen Spitzmueller
cb5bd87e9c Add support for \babelfont
This is a higher-level (non-TeX) font interface of babel that draws on,
but is supposed to be used rather than, fontspec with babel and XeTeX/
LuaTeX.

File format change.

Addresses: #11614
2019-07-11 13:21:32 +02:00
Juergen Spitzmueller
0018e4ec96 Fix indentation 2019-07-11 11:32:59 +02:00
Juergen Spitzmueller
04bd57a86a Factor out test for bidi package (= XeTeX + polyglossia) 2019-07-11 10:31:10 +02:00
Juergen Spitzmueller
1d0929b5d9 Proper number ordering with luabidi
As opposed to bidi (XeTeX), luabidi (LuaTeX) does no automatic reordering,
so we need to use \\LR{}
2019-07-11 09:54:28 +02:00
Juergen Spitzmueller
d3aa102260 Brackets reversion differs in luabidi (LuaTeX) from bidi (XeTeX)
This amends [195f62ac93/lyxgit]
2019-07-11 08:25:18 +02:00
Juergen Spitzmueller
6f8db58778 LuaTeX (luabidi) does not swap table columns
This amends [21b347a2f8485/lyxgit].
2019-07-10 22:57:34 +02:00
Juergen Spitzmueller
a95339c6e1 LuaTeX (luabidi) does not correct directions
This amends [9d20bc4e98/lyxgit].
2019-07-10 19:10:16 +02:00
Juergen Spitzmueller
b6f0c1de3d Fix right and left layout alignment (in workarea) with RTL
Fixes: #11606
2019-07-10 14:50:08 +02:00
Jean-Marc Lasgouttes
7ad7698692 Fixup c349472d: Remove unused private field
Spotted by coverity.
2019-07-09 15:15:07 +02:00
Juergen Spitzmueller
623f7b4795 Truncate long citation label in the middle rather than the end.
Fixes: #10769
2019-07-09 14:48:11 +02:00
Juergen Spitzmueller
52fffee7f2 Preserve star on citation style change via menu
Fixes: #11439
2019-07-09 10:47:18 +02:00
Juergen Spitzmueller
13b6632228 Add TextClass option BibInToc
Fixes #1889
2019-07-08 15:40:17 +02:00
Richard Kimberly Heck
d96a9aa37f Fix bug #10091.
See the discussion. The decision was just to keep re-trying for a
bit, since the lock preventing us from removing the old file seems
to clear after a bit.
2019-07-07 13:13:52 -04:00
Juergen Spitzmueller
d876319e85 \detokenize paths containing ~ 2019-07-07 10:32:06 +02:00
Richard Kimberly Heck
f17e868e65 Whitespace 2019-07-06 15:19:51 -04:00
Richard Kimberly Heck
45f0fae10c Fix some nullptr warnings. 2019-07-06 15:16:02 -04:00
Juergen Spitzmueller
bf6a7dc38f Fix nomencl generation with LuaTeX
Fixes: #11571
2019-07-06 15:15:06 +02:00
Jean-Marc Lasgouttes
5a22b2e391 Fixup 17571104: really avoid empty numbers in toc
For some reason, I missed this one when trying to fix the bug.

Fixes bug #11423.
2019-07-01 12:05:31 +02:00
Jean-Marc Lasgouttes
455f10eae7 Revert "backing store"
This is not ready yet.

This reverts commit 1a2b1a3bfa.
2019-07-01 10:38:16 +02:00
Juergen Spitzmueller
6c7c6e580f tex2lyx: add general TODO item 2019-06-30 16:14:24 +02:00
Juergen Spitzmueller
bda3b6d07e [2.3 cand.] Fix import of custom float definitions
Candidate for stable
2019-06-30 11:13:20 +02:00
Juergen Spitzmueller
63492d4efa Cleanup TODO 2019-06-30 10:58:49 +02:00
Jean-Marc Lasgouttes
e485102ef2 For python 3 require at least 3.5
This handles configure.ac and os::python23. What remains to be done is cmake.
2019-06-28 00:06:28 +02:00
Juergen Spitzmueller
cd5c406d9a More localization fixes 2019-06-26 12:25:53 +02:00
Juergen Spitzmueller
c703f76fe1 legacy > traditional 2019-06-26 11:14:59 +02:00
Juergen Spitzmueller
a62c4252ab Flag GUI strings for translation
Still room for improvement
2019-06-26 11:04:56 +02:00
Juergen Spitzmueller
0a8294d426 Improve encoding GUI string 2019-06-26 08:57:05 +02:00
Jean-Marc Lasgouttes
1a2b1a3bfa backing store 2019-06-25 12:39:32 +02:00
Isaac Oscar Gariano
4c587fb9da Make autocorrect have priority.
Place autocorrect at the top of `InsetMathNest::interpretChar`,
ensuring that any autocorrections that trigger on special characters
(such as '^' or '~') work. In particular, you can now make an
autocorrection from "<~" to "\preceq"!
2019-06-25 12:27:28 +02:00
Juergen Spitzmueller
5cef539e8b update tex2lyx tests 2019-06-23 13:05:38 +02:00
Juergen Spitzmueller
94654b3586 Linguistics: add support for Discourse Representation Structures
File format change
2019-06-23 12:59:56 +02:00
Juergen Spitzmueller
57788b8719 Fix tooltip 2019-06-22 08:35:14 +02:00
Günter Milde
71a57e0f4d Preserve \inputencoding value when switching to non-TeX fonts.
With non-TeX fonts, the \inputencoding setting is overridden
by "utf8-plain" (pass-through). Keeping the old value allows
switching back to TeX fonts without the need to (re)set
the input encoding.

Also change back the GUI name of the "auto-legacy" setting
(cf. #11115).
2019-06-21 12:40:41 +02:00
Jean-Marc Lasgouttes
938463b5d6 Fixup 3dc54d4a: fix string encoding issues with Qt4
The culprit here is the constructor QString(QByteArray const &): in
Qt4, it would interpret the byte array as latin1, and in Qt5 as utf8.

Therefore it is safer to use explicitly QString::fromUtf8 instead of
this constructor.

Several places where additionally simplified, in order to avoid some
extra conversions.
2019-06-20 11:27:15 +02:00
Jean-Marc Lasgouttes
3a7142d9bf Fix compilation with Qt4 2019-06-20 10:48:59 +02:00
Günter Milde
5fe6bc616c Fix order of Unicode encodings in Settings combobox.
Ensure the default encoding "utf8" comes always first,
followed by other common variants.
The encodings were sorted based on the GUI name which leads to
the default setting moving from the top position in some localizations.
2019-06-19 21:09:16 +02:00
Günter Milde
53500242f9 Harmonize input encoding selection widgets.
See #11115.
2019-06-18 15:43:34 +02:00
Jean-Marc Lasgouttes
5249eaaa60 Use <cstdint> instead of <boost/cstdint.hpp>
This is mandated by C++11.
2019-06-17 16:19:31 +02:00
Jean-Marc Lasgouttes
fbe0caa483 Do not use BOOST_CURRENT_FUNCTION
There is no need to use that, since __func__ is standard in C++11.

Anyway, this code is unused unless one defines USE__func__ to something.
2019-06-17 15:57:03 +02:00
Jean-Marc Lasgouttes
2b1515a936 Rename LM_ST_* to *_STYLE and FONT_SIZE_* to *_SIZE
This makes code more uniform. This is typically something that is done
at end of cycle to limit backport issues later.
2019-06-14 17:05:49 +02:00
Jean-Marc Lasgouttes
f12e796999 Revert "Rename LM_TC_* to FONT_STYLE_*"
Got it wrong, revert for now.

This reverts commit 67215833a1.
2019-06-14 17:05:00 +02:00
Jean-Marc Lasgouttes
67215833a1 Rename LM_TC_* to FONT_STYLE_*
This makes code more uniform. This is typically something that is done
at end of cycle to limit backport issues later.
2019-06-14 16:42:02 +02:00
Jean-Marc Lasgouttes
134f3aedaf Avoid warnings with gcc 9
The warning about unneeded std::move can be solved by conditioning on
C++14 mode.

The warnings about deprecated copy is harder, so we disable it for
now. We will be able to fix our part, but Qt triggers it a lot too.
2019-06-12 18:49:29 +02:00
Jean-Marc Lasgouttes
5173f22024 Fix some warnings found by the -Wall options of autoconf and automake.
There are still warnings to address. For now, they not enabled by default.
2019-06-12 18:00:18 +02:00
Jean-Marc Lasgouttes
22f599250e Remove support for gcc 4.6
This was kept so long because of Ubuntu 12.04 LTS, but having a
not-really-c++11 compiler is not nice.
2019-06-12 15:03:18 +02:00
Günter Milde
c627507b3f Revert 051de65db and implement alternative fix for remainder of #11115. 2019-06-12 11:48:47 +02:00
Richard Kimberly Heck
acd0f2fc78 Do not show both 'hide' and 'close' options on tabs for child buffers.
We can only close it (as opposed to hide it) if it's not a child.
Part of #11331.
2019-06-10 16:47:16 -04:00
Enrico Forestieri
1cb2a443b5 Fix bug #11595
Avoid an endless loop when in the definition of a macro the macro
itself is used in the LyX representation part.
2019-06-09 22:36:59 +02:00
José Matos
ad96fd835b Divide the python detection in three functions, with a clear delegation of responsibilities
python23_call: determines if the binary given is appropriate and adds the necessary calling options

find_python_binary: get a list of candidates and choose the right one using python23_call

python: returns the name of the python interpreter that can be found on PATH, using find_python_binary
2019-06-08 12:49:30 +01:00
José Matos
02ee471d9d Move python related functions together to make it easy to read the code. 2019-06-08 12:22:26 +01:00
José Matos
35c299f86d Remove alternative operator representations (and,or) and improve comments for python binary detection. 2019-06-08 09:15:03 +01:00
Jean-Marc Lasgouttes
41c0fc171a Revert "Remove unneeded std::move"
This confuses gcc 4.9

This reverts commit 44e88a4c13.
2019-06-07 19:41:16 +02:00
Pavel Sanda
bf99ece736 Start reporting missing citations and broken references in LaTeX build.
Now we report these in the same way as LaTeX errors (but let the user to
see the result anyway). It remains to be shown much is this disturbing
to users. Generally, ignoring these is not a good idea, because they are
harder to manually spot in longer documents.

The details of reported error varies because log linebreaks at 90
induced by pdflatex make log harder to parse.
The committed code is more robust than previous, in which some missing
cits/refs with long keys would go unnoticed.

Tested on bibtex and natbib.

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg208912.html
2019-06-07 16:47:04 +02:00
José Matos
adb779a692 Change python run time detection to privilege python 3 over python 2.
This should work as before but now we also control the python version and ignore it if it is not in the supported range.
2019-06-07 15:27:25 +01:00
Jean-Marc Lasgouttes
44e88a4c13 Remove unneeded std::move
Signalled by gcc 9.
2019-06-06 15:23:42 +02:00
Jean-Marc Lasgouttes
b8b5ed8b31 Clean up Language.cpp
Use range-base for loops everywhere.

Rename languagelist to languagelist_, since it is private.
2019-06-05 16:28:37 +02:00
Jean-Marc Lasgouttes
bf88ad495c Make Word Wrap property confiurable by language
It is now possible to specify in the lib/language file whether screen
rows can be broken anywhere (CJK languages) or only at work boundary.

Set WordWrap to false for the CJK languages (notice that japanese-cjk
had been forgotten before).

Moreover, remove a test for separators in row element that was not
really helpful.

Fixes part of ticket #10299.
2019-06-05 15:50:53 +02:00
Günter Milde
051de65db9 Fix remainder of #11115.
Implement GUI suggestions from
https://www.lyx.org/trac/ticket/11115#comment:26
2019-06-05 11:18:36 +02:00
Juergen Spitzmueller
2f648cc17a small correction 2019-06-04 11:10:54 +02:00
Juergen Spitzmueller
e2f81b3a84 Rework linguistic gloss support
This now uses the new and enhanced \digloss ad \trigloss macros of
convington 2.0 rather than the deficient self-baked ones.

File format change.
2019-06-04 11:01:19 +02:00
Günter Milde
b2cee3dcc5 Support more languages (file format change).
Format incremented to 576:
Support for the document languages azerbaijani, bengali,
churchslavonic, and oldrussian.
2019-06-03 16:58:10 +02:00
Jean-Marc Lasgouttes
d02244c8fb Make caret visible inside math macros arguments
The first step is to move the MathRow cache to BufferView, alongside
coordCache. This was on the todo list anyway, since it allows to let
go the math row information when the math equation is not on the
screen anymore. With the old scheme, it would always remain in memory.

Then, when computing caret size in MathData::metrics, make sure that
the mathrow of the elements that are linearized in the MathRow object
get their caret size information initialized too.

Fixes bug #11587.
2019-06-03 16:28:16 +02:00
Juergen Spitzmueller
18ebcab403 Properly reset lineno_opts 2019-06-03 14:33:08 +02:00
Isaac
3519be2292 Removed shortcuts to toggle autocorrect.
They are not really needed now that autocorrection can be undone. This
increases autocorrect usability.
2019-06-03 11:09:09 +02:00
Jean-Marc Lasgouttes
64396717db Allow to undo partly math autocorrect
To this end, introduce Undo::splitUndoGroup, which ends currently
group and creates a new one with same nesting level.
2019-06-02 21:17:26 +02:00
Isaac
bed546d6f6 Make math autocorrrect work with more than 2 chars
Currently, math autocorrect allows to transform a couple of characters
to a new one. This patch allows to transform a couple (sequence,
character) to a new character.

No example are implemented right now. One possible idea would be
"--" + ">" => \longrightarrow
2019-06-02 21:12:12 +02:00
Juergen Spitzmueller
d2b6232ce7 Fix lineno options param
This has been written even if empty -- and thus caused reading errors.
2019-06-02 19:07:01 +02:00
Juergen Spitzmueller
c7efb677f8 New InsetLayout tag ParbreakIgnored
This effectively allow paragraph breaks in insets only for cosmetic
reasons (e.g., to align contents on different lines).

This is the last change necessary for an enhanced covington gloss support
(which uses the new covington gloss ui)
2019-06-02 18:16:30 +02:00
Juergen Spitzmueller
9e6d22ea9c Add InsertOnNewline argument tag
This adds a paragraph break before auto-inserting arguments in flex
insets.

Useful for specific arguments (particularly ling glosses)
2019-06-02 18:07:10 +02:00
Juergen Spitzmueller
cb6c183225 Amend 9f04eeae03 2019-06-02 16:55:11 +02:00
Juergen Spitzmueller
9f04eeae03 Support FreeSpacing in InsetArgument 2019-06-02 16:33:06 +02:00
Juergen Spitzmueller
378c7e8edb Allow for auto-inserting multiple arguments 2019-06-02 09:26:32 +02:00
Juergen Spitzmueller
532765c03a Enable AutoInsert with post arguments 2019-06-02 09:25:56 +02:00
Kornel Benko
58804aa399 Omit floating point exception 2019-05-31 12:55:12 +02:00
Juergen Spitzmueller
fe589d5622 Fix toprule with booktabs/longtable and captions 2019-05-31 10:48:00 +02:00
Richard Kimberly Heck
91383e1fec Forgot this part 2019-05-30 20:39:43 -04:00
Richard Kimberly Heck
2e433654c7 Fix bug #11588.
Check for the local file before calling kpsewhich.
2019-05-30 20:32:35 -04:00
Richard Kimberly Heck
0d54d3b762 Allow click on the 'spinner' to cancel export. 2019-05-27 23:21:07 -04:00
Richard Kimberly Heck
c4658f046f Fix crash reported by Kornel.
See https://marc.info/?l=lyx-devel&m=155879185229073&w=2.

The problem is that, after saving the document and reloading, the
TOC is corrupted, more or less, when we run through updateBuffer.
So we reset it first.
2019-05-27 22:35:02 -04:00
Enrico Forestieri
b3db2325ed Prefer mathmode commands over textmode ones
Translating → to \rightarrow in a \ce inset produces the right
glyph. Instead, translating it to \textrightarrow produces a
different glyph (β).
2019-05-26 13:06:44 +02:00
Enrico Forestieri
c8f056417f Use ranges 2019-05-26 12:31:02 +02:00
Enrico Forestieri
15f4fa452d Supplement the fix for bug #11586
The mhchem \ce inset is a text mode environment but allows entering
spaces and mathmode commands. However, even if it doesn't allow unicode
symbols, LyX allows entering them (by copy/paste, for example), causing
latex errors. As a unicode symbol may have a proper latex representation
from the unicodesymbols file, use it instead of the bare symbol. Here, we
don't care about the mode because both text and math mode should be allowed.
For example, the ⟶ symbol is not recognized but its latex representation
(\longrightarrow) is fine. Of course, there may be symbols that are
not recognized anyway, but this is better because they cause explicit
errors from mhchem instead of cryptic iconv errors in case they cannot
be represented in the document encoding.
2019-05-26 09:56:34 +02:00
Enrico Forestieri
bda3b799c5 Partial fix for bug #11586
Do not replace a latex command with the corresponding symbol
in the unicodesymbols file unless it can be encoded in the
document encoding.
2019-05-26 09:27:46 +02:00
Günter Milde
c83765163f CJK package is never used with non-TeX fonts.
Prepare for languages that use CJK with TeX fonts and Polyglossia
with non-TeX fonts.

Korean is already supported by Polyglossia,
LyX support will follow (file version change).
2019-05-26 01:45:35 +02:00
Günter Milde
45c5b39692 Adapt lyx2lyx to the lineno support fix in [88f471899/lyxgit]. 2019-05-25 15:32:24 +02:00
Günter Milde
d1b89c59d4 Remove non-required ternary conditional.
In a branch only entered when not using Xe- or LuaTeX,
we don't need to care about polyglossia.
2019-05-25 15:32:24 +02:00
Jean-Marc Lasgouttes
4da19ef833 Cell in delimiter inset should not be tight
Fixes bug #11337.
2019-05-25 14:11:39 +02:00
Kornel Benko
ef6ddfc788 Amend 7f125f62d2, Introduce doc preference for line numbering
Correct expected lyx files created by tex2lyx.
2019-05-24 18:17:50 +02:00
Juergen Spitzmueller
1cafea7cf7 Read line edit label
Otherwise it is not clear what this means.
2019-05-24 17:51:42 +02:00
Juergen Spitzmueller
b6cb557c7d size tweak 2019-05-24 17:39:22 +02:00
Pavel Sanda
bea2756472 lineno: dump lineno buffer token if false/empty as well.
Oversmarted myself. Wanted to save .lyx header from overbloating but
dialog's UI depends on those tokens when disabling the option in UI.
2019-05-24 15:50:10 +02:00
Pavel Sanda
88f4718996 lineno: convert ui GB to CB per Juergen's request 2019-05-24 15:40:09 +02:00
Juergen Spitzmueller
03d9fe3a80 Some grammar and casing fixes and tooltip improvements 2019-05-24 10:59:00 +02:00
Pavel Sanda
7f125f62d2 Introduce doc preference for line numbering.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg208781.html
2019-05-23 15:13:27 +02:00
Pavel Sanda
e3707f1331 Resave NumberingUi.ui in qt5 designer 2019-05-23 15:11:39 +02:00
Jean-Marc Lasgouttes
621c908f85 Always paint text decoration when painting inset.
Fixes bug #11402.
2019-05-23 11:30:35 +02:00
Jean-Marc Lasgouttes
7cc4ceb89c Fixup da2696cc: do not clear useful information from row
Ensure before calling breakRow that the row is empty.

Remove Row::clear(), which has unnatural semantics.

Fixes bug #11396.
2019-05-23 10:26:08 +02:00
Richard Kimberly Heck
596b3c4522 Include all parent branches in the menu.
Previously, we only included branches from the master document. This
includes those from the parent, grandparent, etc, and does so in a way
that won't crash on recursive includes.
2019-05-22 22:00:31 -04:00
Richard Kimberly Heck
1842a11b3b Change how branches are displayed on the menus.
Show this document's branches first in the menu, and then show the
master document's branches on a sub-menu.
2019-05-22 21:41:22 -04:00
Richard Kimberly Heck
24fefaf23d Use ranges. 2019-05-22 21:41:22 -04:00
Richard Kimberly Heck
5fa493aa4a Re-organize and comment code a bit. 2019-05-22 20:58:00 -04:00
Jean-Marc Lasgouttes
da2696cc63 Initialize row preperly on clear()
It is not enough to get rid of the row elements, obviously. In
particular, changebar_ may never get reset.

Fixes bug #11396.
2019-05-22 11:56:14 +02:00
Juergen Spitzmueller
957e8669c7 Add hint to warning. 2019-05-21 13:26:57 +02:00
Juergen Spitzmueller
c77be6146b Fix warning message 2019-05-21 13:06:37 +02:00
Juergen Spitzmueller
ebc2b1295a Check character encodability with pass-thru in command insets
Fixes: #11584
2019-05-21 12:59:18 +02:00
Richard Kimberly Heck
714241c313 Inform user of the new name of the emergency file. 2019-05-20 21:23:40 -04:00
Enrico Forestieri
2424851b09 Fix compilation
This amends [b88a3747/lyxgit].
2019-05-19 16:34:57 +02:00
Enrico Forestieri
b88a37473f Remove redundant condition
The removed condition is always true.
This amends [61efbff5/lyxgit].
2019-05-19 12:33:46 +02:00
Enrico Forestieri
61efbff545 Fix bug #10498
Use the selection as the argument of a macro also when the
macro has only optional arguments.
2019-05-18 16:06:33 +02:00
Enrico Forestieri
1a286c7910 Fix bug #10499
The array environment has to be explicitly parsed in math mode.
2019-05-18 11:36:07 +02:00
Günter Milde
65ec404eb3 Format incremented to 574: Ruby inset, fixes for Japanese.
New auxiliary functions for lyx2lyx:
del_module(), append_local_layout(), del_local_layout()
2019-05-16 13:48:07 +02:00
Jean-Marc Lasgouttes
26c2811cc4 Some Asian langagues allow to wrap text at any position
This is hardcoded for now for simplicity and to allow backporting to
2.3.

The behavior is unchanged for all languages but Chinese, Japanese or
Korean.

Fixes part of bug #10299.
2019-05-15 17:38:26 +02:00
Günter Milde
6aabcaf856 Fix #11062, new LaTeX feature "textschwa".
Following the suggestion in the Babel-Azerbaijani documentation,
we use the glyphs from the Cyrillic fonts for the Latin
text character. This fits better than IPA fonts (assuming there are matching
Latin and Cyrillic fonts specified) and also provides bold etc.
2019-05-14 20:08:39 +02:00
Günter Milde
06ae6e118c Fix small typo. 2019-05-14 16:39:35 +02:00
Günter Milde
177ae5a358 Add comment (fixme) about #8479. 2019-05-14 15:31:41 +02:00
Juergen Spitzmueller
3da25187a9 Prevent assert due to some odd role in older qt versions. 2019-05-14 14:05:46 +02:00
Jean-Marc Lasgouttes
6df593049c Revert "Try to compute row height like it should be done"
This is not done right at all. The best is to revert for now and
think about how to do it properly.

This reverts commit 66a3d64346.
2019-05-13 10:47:47 +02:00
Richard Kimberly Heck
051a1a56a9 Revert "GMO for BG"
This reverts commit 5b84f11f80.
2019-05-12 23:30:49 -04:00
Richard Kimberly Heck
5b84f11f80 GMO for BG 2019-05-12 23:30:13 -04:00
Richard Kimberly Heck
15b90e4cc1 Rename for clarity. 2019-05-12 23:16:25 -04:00
Juergen Spitzmueller
682eabbe8e GuiDocument: Further encoding GUI improvement
Move the odd "(no inputenc)" option out of the encoding list.
2019-05-12 09:10:24 +02:00
Jean-Marc Lasgouttes
175711046d Newly created inline math is not numbered
The bad initialisation created phantom entries in equation ToC

Fixes bug #11423.
2019-05-11 23:18:10 +02:00
Juergen Spitzmueller
e94239e973 Correct entry string 2019-05-11 19:04:36 +02:00
Juergen Spitzmueller
62085642bc Fix indentation 2019-05-11 18:59:42 +02:00
Juergen Spitzmueller
79feeb0c03 Micro-typographic fix 2019-05-11 12:17:09 +02:00
Juergen Spitzmueller
83a62a6d74 Further encoding GUI improvements 2019-05-11 12:16:52 +02:00
Juergen Spitzmueller
a6116428c0 GuiDocument: Adapt to new encoding default
Also simplify the code.
2019-05-11 11:28:21 +02:00
Jean-Marc Lasgouttes
4cbf8c2f9d add unicode descriptions to InsetSpecialChar code 2019-05-10 14:29:24 +02:00
Jean-Marc Lasgouttes
3a7346b0cb Fixup 12fcaf86: use correct font for metrics of logos 2019-05-10 12:29:23 +02:00
Jean-Marc Lasgouttes
c3f10df95d Move the stateText code for FontInfo to FontInfo class.
The first parameter of Font::stateText is now optional.
2019-05-10 10:45:40 +02:00
Enrico Forestieri
56a14c3fde Refined fix for #9633
A branch inset modifies the layout of the internal structures in
which the text is organized. When a branch is active, it is as if it
was not there, but its only presence makes a paragraph which would not
be the last one to actually be the last one, or the check for the
language of the previous paragraph to fail because there is no
previous paragraph before the first one in a branch inset.
Oney way I found to tackle it, is tracking whether the typesetted
paragraphs are actually part of an active branch inset and acting
accordingly.
2019-05-10 08:09:26 +02:00
Günter Milde
6319b0c303 Do not default/fall back to input encoding setting "auto-legacy".
Use "utf8" instead. "utf8" works now with all supported languages.
2019-05-09 21:57:05 +02:00
Günter Milde
40240ef6a0 Improve error message and ctests for input encoding cp858.
Encoding cp858 supported by only some iconv variants.
Most users will want to change their "encoding" setting instead
of installing/recompiling "iconv" to support this legacy encoding.

ctests are likely will fail with either "vanilla" or "enhanced"
iconv and test a situation that is unlikely to change generally,
so we ignore this test now by default.
2019-05-09 09:28:37 +02:00
Günter Milde
af9838fd32 Fix spurious \end{CJK} in LaTeX output. 2019-05-07 23:37:30 +02:00
Günter Milde
46119b3564 Make Japanese documentation more robust.
The locally defined Ruby (furigana) inset now
works also with non-TeX fonts.
2019-05-07 16:16:35 +02:00
Jean-Marc Lasgouttes
12fcaf8652 Compute metrics of *TeX* logos using draw and a null painter
Instead of writing a metrics() method that mimics what draw() does,
re-use the draw code with a null painter.

This has the additional benefit of fixing InsetSpecialChar logo width
with EB Garamond. I have to admit that I do not know why it was too
large with the old code, but the new code is shorter/better anyway.

This code removes logowidth(). metrics() is moved to a different
place, but only the logo cases are touched.
2019-05-07 10:53:02 +02:00
Günter Milde
8e88d100f1 "unicode=true" leads to errors for Japanese with "platex" even when using utf8-encoded latex source.
The bxjsbook class raises an error if seeing this option
(before TL19 only a warning). Other document classes just ignore
it and PDF-bookmarks are wrongly encoded in any case.
2019-05-06 08:52:24 +02:00
Günter Milde
337e3ff9a6 Fix Font selector GUI (font encoding) broken in 27ba6f282d. 2019-04-30 09:34:51 +02:00
Günter Milde
7a87599a3e Load inputenc after babel with Thai.
"thai.ldf" breaks "inputenc" by changing catcodes.
Loading "inputenc" after "babel" allows a workaround.
2019-04-27 17:09:29 +02:00
Günter Milde
c349472d35 "AsBabelOptions" no longer required. Part2.
AsBabelOptions was introduced 2010 in [cc5dd37a2a05/lyxgit].

Since the re-orgianization and opening of the Babel package to
"contributed" language definitions in March 2013, it is no longer required.

Clean up after Part 1 [1361f1a45f23/lyxgit].
2019-04-27 17:09:29 +02:00
Enrico Forestieri
d5567ac36f Compile fix for mingw
This was probably overlooked at [7bb08f10/lyxgit].
2019-04-27 12:53:05 +02:00
Richard Kimberly Heck
c286228315 Make Ctrl-Mouse open an included file for editing.
It might be nice to do this also for other insets that allow editing.
To do that properly, we'd want to standardize how such insets call an
external (or internal) program, which I guess would mean a virtual
method corresponding to editIncluded. When it exists (i.e., isn't null),
then we could call it, and we'd only need one centralized method to do
that. But at the moment, we have editGraphics, etc.
2019-04-26 22:05:42 -04:00
Richard Kimberly Heck
276ffc262c Simplify a bit.
Also, I always worry that "file" will conflict with something....
2019-04-26 22:05:42 -04:00
Günter Milde
e84f6dff77 Fixes for Japanese documents
PDF outline improves with unicode/utf8 (although some chars still wrong).

Math: ERT for umlauts no longer required (now force-converted with unicodesymbols)
2019-04-26 23:02:44 +02:00
Kornel Benko
4e7cbe8b34 Cmate tests: Add citenegine-modules to tests 2019-04-26 16:55:30 +02:00
Enrico Forestieri
2731c5dc55 Correctly protect macros with optionals inserted in an optional argument
The trick turns out to be inserting in braces the whole optional
argument, rather than the single macro.

See #11552 for the long history.
2019-04-26 15:30:08 +02:00
Enrico Forestieri
e763f90244 Revert [60ac25a4/lyxgit], [30f16463/lyxgit], and part of [e8f480e7/lyxgit]
As evidenced in #11552, at loading time there is no way to tell
whether braces were added by LyX with certainty. However, after
[503f7db2/lyxgit], LyX does not automatically removes brace insets.
So, in case one faces the problems mentioned in [e8f480e7/lyxgit],
the workaround of adding a brace inset now will not be frustrated.
In essence, after [503f7db2/lyxgit], the real fix for #11552 would
have been reverting the part in [e8f480e7/lyxgit] that was adding
the braces on output.
2019-04-26 12:34:29 +02:00
Enrico Forestieri
30f1646369 Write braces around macros only when actually needed
When a macro with optionals appeared inside the optional argument of
another one, the onscreen display and latex output were wrong. This
issue was addressed at [e8f480e7/lyxgit] by enclosing in braces macros
with optional arguments. However, this was done even when the macro
with optionals was in a non-optional argument of another macro.
This commit limits the bracing to the cases where it is really needed
and allows to address some particular issues evidenced in #11552.
2019-04-25 11:11:51 +02:00
Enrico Forestieri
60ac25a435 Yet another attempt at properly fixing #11552
This commit supercedes [54147a71/lyxgit] and [acba8476/lyxgit].
2019-04-24 17:28:53 +02:00
Jean-Marc Lasgouttes
ddb51c721c Do not redefine LyXAlignment; reformat a bit 2019-04-24 16:28:08 +02:00
Jean-Marc Lasgouttes
26817e9347 remove dummy LyXRC class that was forgotten 2019-04-24 14:54:49 +02:00
Kornel Benko
ef285cb7c4 Amend 7d021a93: Use interprocedural optimization if possible
Discard test programs using dummy_fuctions from the optimization.
This omits warnings about multiple method definitions.
2019-04-24 14:47:44 +02:00
Enrico Forestieri
acba847649 Amend [54147a71/lyxgit]
If none of the optional arguments of a macro is used, there is no
following '[' after the macro name. Unfortunately, at loading time
the macro machinery is still not initialized, so the optionals()
member of InsetMathMacro is unusable. Hence, we have to track the
creation of macros with optionals as already we do for all macros.
The collected information is only used at loading time, because
the macros are dynamic and they may loose or acquire optional args.

Fixes the particular case reported at #11552.
2019-04-23 21:06:12 +02:00
Juergen Spitzmueller
b77094a497 Only write btUnits if we have a bibliography
Fixes: #11562
2019-04-23 08:58:01 +02:00
Juergen Spitzmueller
89f6de9835 Append rows and columns if necessary when pasting into table 2019-04-23 08:34:53 +02:00
Juergen Spitzmueller
302796ade1 Amend cf1c506d64
Get direct copying fro LibreOffice working
2019-04-22 11:10:07 +02:00
Juergen Spitzmueller
cf1c506d64 Handle plain text/html rows/columns in tabular LFUN_PASTE
Fixes: #7932
2019-04-22 10:56:00 +02:00
Juergen Spitzmueller
c9432ccbbc \cprotect some content in captions
Fixes: #6243
2019-04-21 16:44:29 +02:00
Juergen Spitzmueller
3663f9d0db Some more 0 > nullptr substitutions 2019-04-21 15:49:11 +02:00
Juergen Spitzmueller
96e4001d01 Handle orphaned bibitems
Fixes #7160
2019-04-21 11:17:44 +02:00
Juergen Spitzmueller
faefee3dc6 Fix renaming of citation refs after changing bibitem key
Fixes: #6494
2019-04-21 09:55:17 +02:00
Juergen Spitzmueller
0a4686d8d3 update buffer after fixBiblio
fixes: #2743
2019-04-20 19:53:24 +02:00
Juergen Spitzmueller
9370135c3e reset bibitem counter in the second updateBuffer() routine as well
Fixes: #8499
2019-04-20 19:42:29 +02:00
Juergen Spitzmueller
4f884fc92d Pass proper text to TeXOnePar in Paragrapgh::Private::validate
This fixes InPreamble layouts in insets (#11557)
2019-04-20 17:51:06 +02:00
Juergen Spitzmueller
e325c7cc6a GuiIdListModel: ignore DecorationRole (icons of available list) 2019-04-20 17:50:21 +02:00
Juergen Spitzmueller
b60259fbe1 Add system/local icon to available modules list
Also markup modules with missing requirements (like we do for layouts)
2019-04-20 09:28:46 +02:00
Juergen Spitzmueller
c0f734bcef Fix some listings/minted incompatibilities
The basic problem here is that rather than using an abstract syntax,
backend-specific param strings are produced in the listings dialog,
depending on whether listings or minted is used.

Of course this breaks if a user switches backends inbetween (s/he would
have to open and re-apply each and every listings inset!)

Do at least the most basic translations in InsetListings::latex().
A sane solution would imply the use of only one param syntax with
respective interpretation for each backend. But this would be a file
format change.
2019-04-19 19:03:29 +02:00
Enrico Forestieri
54147a7140 Fix #11552 in a different way
The reported issue is fixed in a different way, not
involving the fix for #9348.

This commit supercedes [f2029fb3/lyxgit] and [17abf68b/lyxgit].
2019-04-19 18:28:42 +02:00
Juergen Spitzmueller
3e516a6219 Use proper listings font styles with polyglossia and RTL
Fixes: #11554

Also load color with minted and polyglossia/RTL, as minted loads it
too late.
2019-04-19 17:18:18 +02:00
Kornel Benko
fe4a5c3bc9 Amend 7bb08f10 2019-04-19 15:40:58 +02:00
Jean-Marc Lasgouttes
7bb08f10b1 Move initial values of LyXRC members to the header
We use a C++11 construct that puts initial values of members along
with their definition. It is a good construct and now the out of line
constructor and the setDefaults() method can go.

This removes the need to define a dummy constructor in tex2lyx and
client.

The only needed change to the rest of code is a change of signature
for the user_(name|email) to return std::string. They are now called
explicitely from the constructor. We now have to include userinfo.h in
LyXRC.h, but this should not be too expensive.
2019-04-19 14:46:12 +02:00
Juergen Spitzmueller
499167b2c5 Another quotation mark fix. 2019-04-19 14:27:27 +02:00
Juergen Spitzmueller
ac84510453 Fix quotation marks in GUI string. 2019-04-19 13:43:33 +02:00
Juergen Spitzmueller
2fa68abd00 Layout tweaking 2019-04-19 11:27:54 +02:00
Juergen Spitzmueller
7cadacb19b The Author(Year) label format is also mandatory for numeric natbib! 2019-04-19 09:53:42 +02:00
Juergen Spitzmueller
e97546c9a8 More formalia
(this are just things QtCreator nags about, and I address them in passing)
2019-04-19 09:34:12 +02:00
Juergen Spitzmueller
bebc184054 Display full author list with Natbib (non-BibTeX) if requested 2019-04-19 09:33:31 +02:00
Juergen Spitzmueller
df0d7c0049 Do not owerwrite specific CiteFormat def with default def
amends 5996b2e373 and fixes natbib numerical display
2019-04-19 09:04:23 +02:00
Juergen Spitzmueller
d8afb81832 Break long string 2019-04-19 09:04:11 +02:00
Juergen Spitzmueller
5e385d0513 Formalia 2019-04-19 09:03:47 +02:00
Juergen Spitzmueller
8ecef0fcbc Available modules should not be editable. 2019-04-18 17:33:37 +02:00
Juergen Spitzmueller
8ee2ffaa52 Amend 3615a6a75b
Natbib provides separation of abbreviated and full author list also
beyond BibTeX
2019-04-18 16:27:22 +02:00
Jean-Marc Lasgouttes
c6754ed548 Do not redefine a stripped-down LyXRC object.
I am not sure why it was done this way, but it is not really necessary.
Moreover gcc LTO does not like it.
2019-04-18 15:55:40 +02:00
Günter Milde
6dd505c67a Don't force encoding switch for Japanese "listings" auto-strings.
listings copes with variable-width encodings under platex.
2019-04-18 15:27:24 +02:00
Kornel Benko
6eb9452836 Amend [f2029fb3/lyxgit]
Omitting acces to invalid index
2019-04-18 15:07:30 +02:00
Kornel Benko
d11bcac11a Add Notion entry to paragraph-select function
Thanks Pavel
2019-04-18 14:55:51 +02:00
Juergen Spitzmueller
aec50eec49 Fix doxygen comment 2019-04-18 14:51:10 +02:00
Juergen Spitzmueller
3615a6a75b Make usage of natbib without BibTeX more obvious
Fixes: #5549
2019-04-18 14:48:01 +02:00
Juergen Spitzmueller
70b3d3adcc Add NewlineCmd InsetLayout and Argument option
This allows to specific an alternative macro for newlines

Fixes: #10407
2019-04-18 11:35:03 +02:00
Juergen Spitzmueller
ed44bbddee Add MenuString to InsetLayout
Fixes: #8818
2019-04-18 10:27:19 +02:00
Enrico Forestieri
17abf68bac Amend [f2029fb3/lyxgit]
The fix for #11552 was reintroducing #9348. This commit makes sure
it stays fixed.
2019-04-17 18:08:46 +02:00
Enrico Forestieri
f2029fb386 Fix bug #11552
Do not insert a brace inset when we know that LyX wrote the braces.

This commit amends [503f7db2/lyxgit].
2019-04-17 16:03:13 +02:00
Kornel Benko
6747b3fe97 Don't switch encodings if in search modus 2019-04-17 07:40:31 +02:00
Günter Milde
27ba6f282d Rename legacy input encoding settings.
Format incremented to 573
2019-04-16 20:17:32 +02:00
Kornel Benko
e0f5641089 Select the whole paragraph with tripple-left-click
Fixes #9175

Also added new function: paragraph-select.
2019-04-16 19:50:31 +02:00
Jean-Marc Lasgouttes
f6f08f0c50 Revert "Make math autocorrrect work with more than 2 chars"
This reverts commit 144e7d7159.
2019-04-16 16:04:12 +02:00
Jean-Marc Lasgouttes
8e3972c35d Revert "Allow to undo partly math autocorrect"
This reverts commit f7a11ca711.
2019-04-16 16:03:57 +02:00
Jean-Marc Lasgouttes
048f9ee08e Rewrite the code that sets caret height in mathed
Instead of remembering the caret ascent and descent for the cell that contains the cursor, the new code remembers caret dimension for each MathRow object. This makes the code much less fragile (ans slightly smaller).

This fixes caret size issues when the Update::SinglePar flag is active.

Fixes bug #11541.
2019-04-16 15:58:51 +02:00
Jean-Marc Lasgouttes
f7a11ca711 Allow to undo partly math autocorrect
To this end, introduce Undo::splitUndoGroup, which ends currently
group and creates a new one with same nesting level.
2019-04-16 14:12:34 +02:00
Isaac
144e7d7159 Make math autocorrrect work with more than 2 chars 2019-04-16 14:12:34 +02:00
Enrico Forestieri
506324ef9d Properly fix #9616
Now all symbols in the unicodesymbols file having a mathcommand
are not wrapped in a \text inset anymore.
2019-04-15 20:56:52 +02:00
Juergen Spitzmueller
7ec81c651e Listings: language updates
Patch by Sergei Winitzki
2019-04-15 11:55:46 +02:00
Günter Milde
da23637d7f Do not switch the input encoding inside documents using platex.
Fixes wrong and missing characters in text parts in other languages
(platex does not support "inputenc").

Fixes compilation errors due to desynchronized encoding switches.
2019-04-12 18:08:17 +02:00
Günter Milde
ad8d1af907 platex input encodings: move handling of some "force" exceptions to unicodesymbols. 2019-04-12 18:08:17 +02:00
Günter Milde
f838b4fb18 platex fixes.
* Force unicodesymbols conversion for all *-platex input encodings,
* except some characters that work well in utf8.
* Use platex if document language is "japanese" and input encoding is "utf8".
2019-04-11 01:43:44 +02:00
Günter Milde
02e7bb80d3 Force unicodesymbols conversion with uf8-platex.
Fixes Japanese (platex) documents with text parts in other languages.
2019-04-10 16:08:43 +02:00
Günter Milde
6fd263122d Typographical corrections. 2019-04-10 15:59:17 +02:00
Jean-Marc Lasgouttes
f9da28428a Fix bold-like characters when selecting bidi text
In painter, restrting paining regions does not really work when region is empty.

Fixes bug #11198.
2019-04-09 11:32:22 +02:00
Kornel Benko
3f9cdc7c63 Amend e55ed79d: Extend handling of Noto fonts
Also renamed
        known_roman_fonts -> known_roman_font_packages
        known_sans_fonts -> known_sans_font_packages
        known_typewriter_fonts -> known_typewriter_font_packages
        known_math_fonts -> known_math_font_packages
2019-04-08 11:44:53 +02:00
Juergen Spitzmueller
dfde45a01a Do not attempt to show module info for category headers 2019-04-07 13:57:41 +02:00
Kornel Benko
6fc7739053 Adapt tex2lyx to the noto fonts extension 2019-04-07 13:47:45 +02:00
Kornel Benko
35ac73a425 Update tex2lyx tests due to format change 2019-04-07 13:30:31 +02:00
Juergen Spitzmueller
6482ddee30 tabular-style-insert: add rows also for 1x and 2x tables
Fixes: #11537
2019-04-07 12:10:03 +02:00
Juergen Spitzmueller
823263904f GuiDocument: Sort available modules by category
Also improve display of module information
2019-04-07 11:23:19 +02:00
Kornel Benko
e55ed79da9 Extend handling of Noto fonts
Added the possibility to use options Regular, Medium, Thin, Light, Extralight
2019-04-07 11:05:42 +02:00
Juergen Spitzmueller
6fef1cec1f Fix crash in GuiBibtex 2019-04-05 17:53:41 +02:00
Günter Milde
2183978f1a Amend 6def81f30f. Never switch encodings with XeTeX or LuaTeX. 2019-04-05 16:14:58 +02:00
Juergen Spitzmueller
38fbbf07cd GuiDocument: Add filter to modules selection
Sorting by category is needs more work, since the GuiIdListModel is
not suitable for trees.
2019-04-05 11:54:44 +02:00
Juergen Spitzmueller
fa79ff2db2 Resolve some implicit conversion warnings. 2019-04-05 11:54:44 +02:00
Juergen Spitzmueller
b5af05b4a7 Make module categories (almost) great again
The category tag was rarely used and thus not very useful. This adds
categorization to most modules (the rest will follow) and uses the
\DeclareCategory tag we use in layouts rather than the extra syntax
we used in modules. Categories are now added to the po files and
translated.

Note that this is work in progress: the current categories are still
subject to change.

The ultimate goal of this is to sort the modules in the GUI by category
as we do with layouts, examples and templates (and add a filter to search
for specific modules)

As it is now (with the many modules we accumulated), the module selector
is not really usable anymore. If you don't happen to know how exactly a
module is named, selecting a module is really a PITA.
2019-04-04 18:43:29 +02:00
Juergen Spitzmueller
f51fa38123 Prevent multiplication of preamble code
Fixes rest of #8229
2019-04-04 16:39:20 +02:00
Juergen Spitzmueller
0b54650f0e tex2lyx: improve module support
The current heuristics only considered modules with styles that defined
a searched command in their preamble, and only for commands/environments
that were defined in the document's preamble. This limited the module
support drastically.

The new heuristics also checks for commands coming from packages. If the
command is not (re-)defined in the document preamble, it checks modules
that provide a style with a matching LaTeXName, checks for their
requirements and matches those with the packages loaded by the document.

If no module provides a searched style, but we found modules that load
packages that are loaded in the imported tex file, and if those packages
are not auto-loaded by LyX anyway, we also load this module.

fixes: #11259, part of #8229
2019-04-04 16:01:07 +02:00
Juergen Spitzmueller
a5e89c842f update tex2lyx tests
\cmidrule(lr) now natively imported.
2019-04-04 09:33:53 +02:00
Juergen Spitzmueller
171e251189 tex2lyx: support for cmidrule trimming 2019-04-04 09:33:36 +02:00