Commit Graph

25065 Commits

Author SHA1 Message Date
Enrico Forestieri
f5510a8a8d Fix bug #11552
Do not write supefluous braces in optionals of a macro when saving.
2019-06-25 22:09:12 +02:00
Enrico Forestieri
911e6412b8 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-06-25 21:57:00 +02:00
Enrico Forestieri
7998616edb Properly fix #9616
Now all symbols in the unicodesymbols file having a mathcommand
are not wrapped in a \text inset anymore.

(cherry picked from commit 506324ef9d)
2019-06-25 21:41:21 +02:00
Enrico Forestieri
112616a97b Fix bug #10499
The array environment has to be explicitly parsed in math mode.

(cherry picked from commit 1a286c7910)
2019-06-25 21:33:29 +02:00
Enrico Forestieri
ad8f574277 Fix bug #10498
Use the selection as the argument of a macro also when the
macro has only optional arguments.
2019-06-25 21:27:33 +02:00
Enrico Forestieri
11fd6fe43d Fix bug #11595
Avoid an endless loop when in the definition of a macro the macro
itself is used in the LyX representation part.

(cherry picked from commit 1cb2a443b5)
2019-06-22 21:48:16 +02:00
Juergen Spitzmueller
4cf56383ca 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
(cherry picked from commit 0b54650f0e)
2019-06-19 17:23:26 +02:00
Juergen Spitzmueller
68045958ee Rename a variable
This is in preparation for a backport. See #11259
2019-06-19 17:21:00 +02:00
Juergen Spitzmueller
019a4fa124 Prevent multiplication of preamble code
Fixes rest of #8229

(cherry picked from commit f51fa38123)
2019-06-19 17:13:16 +02:00
Juergen Spitzmueller
f8eb3b9742 Fix toprule with booktabs/longtable and captions
(cherry picked from commit fe589d5622)
2019-06-19 09:45:20 +02:00
Juergen Spitzmueller
8941ec4b42 update buffer after fixBiblio
fixes: #2743
(cherry picked from commit 0a4686d8d3)
2019-06-19 09:23:52 +02:00
Juergen Spitzmueller
86f999097e reset bibitem counter in the second updateBuffer() routine as well
Fixes: #8499
(cherry picked from commit 9370135c3e)
2019-06-19 09:20:25 +02:00
Juergen Spitzmueller
8556d65279 Handle orphaned bibitems
Fixes #7160

(cherry picked from commit 96e4001d01)
2019-06-19 09:12:23 +02:00
Jean-Marc Lasgouttes
d031e67fd0 Fixup 7686af1ba8: japanese-cjk got forgotten 2019-06-08 09:45:15 +02:00
Jean-Marc Lasgouttes
bc54a55491 Cell in delimiter inset should not be tight
Fixes bug #11337.

(cherry picked from commit 4da19ef833)
2019-05-25 14:15:38 +02:00
Jean-Marc Lasgouttes
49255788ea Always paint text decoration when painting inset.
Fixes bug #11402.

(cherry picked from commit 621c908f85)
2019-05-24 10:36:13 +02:00
Jean-Marc Lasgouttes
bbe7b84f3b Reset change bar information when breaking row
This is a much less invasive version of da2696cc+da2696cc, which
reduces the risk to a minimum. There may be other Row members that
need resetting, we'll see that later.

Fixes bug #11396.
2019-05-24 10:21:43 +02:00
Enrico Forestieri
a5f5985d28 Fix bug #11528
The code was not doing what said in the description.

(cherry picked from commit 45e0ce2372)
2019-05-20 22:07:59 +02:00
Jean-Marc Lasgouttes
7686af1ba8 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.

(cherry picked from commit 26c2811cc4)
2019-05-15 18:26:08 +02:00
Jean-Marc Lasgouttes
23505a8a91 Newly created inline math is not numbered
The bad initialisation created phantom entries in equation ToC

Fixes bug #11423.

(cherry picked from commit 175711046d)
2019-05-13 10:05:33 +02:00
Juergen Spitzmueller
b50949b472 Only write btUnits if we have a bibliography
Fixes: #11562
(cherry picked from commit b77094a497)
2019-04-24 07:32:07 +02:00
Juergen Spitzmueller
4104cd13a5 Fix renaming of citation refs after changing bibitem key
Fixes: #6494
(cherry picked from commit faefee3dc6)
2019-04-22 09:18:29 +02:00
Juergen Spitzmueller
6f8673bcee Pass proper text to TeXOnePar in Paragrapgh::Private::validate
This fixes InPreamble layouts in insets (#11557)

(cherry picked from commit 4f884fc92d)
2019-04-21 08:03:22 +02:00
Juergen Spitzmueller
ccf93fc0d6 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.

(cherry picked from commit 3e516a6219)
2019-04-20 08:37:45 +02:00
Jean-Marc Lasgouttes
f03c4a2db4 Fixup ad79ac40: reintroduce markers around delimiters
The reasoning behind this change was not correct.

Fixes bug #11516.

(cherry picked from commit 3b58e38dc6)
2019-04-10 14:39:09 +02:00
Jean-Marc Lasgouttes
595c6d0a05 Fix bold-like characters when selecting bidi text
In painter, restrting paining regions does not really work when region is empty.

Fixes bug #11198.

(cherry picked from commit f9da28428a)
2019-04-10 14:19:18 +02:00
Juergen Spitzmueller
7986ac2f32 Fix left/right border UI when toggling formal
Fixes: #9835
(cherry picked from commit 00de6c4be7)
2019-04-01 18:48:07 +02:00
Juergen Spitzmueller
15dae1244b Fix booktabs bottom line with multirows
Fixes: #11445
(cherry picked from commit 819c9c1645)
2019-04-01 18:45:57 +02:00
Enrico Forestieri
f836783908 Fix bug #11526
Correctly categorize a textmode symbol in mathed.

(cherry picked from commit c2af2cfd94)
2019-03-24 22:19:05 +01:00
Pavel Sanda
0b24c0db58 backport forgotten accelerators 2019-03-23 07:56:21 +01:00
Jean-Marc Lasgouttes
e0879b1460 Cache the value of GuiFontMetrics::lbearing().
This seems to be necessary on windows, where math editing can get very
slow. Note that other methods like rbearing already use a cache.

In the future all these caches for single characters shall be unified.

(cherry picked from commit d3979e798c)
2019-03-21 18:43:37 +01:00
Jean-Marc Lasgouttes
f94cdf6e1c Place the depth bar correctly in full screen mode
In full screen mode, it is possible to restrict the text width. In
this case, the paint bar should not be painted outside of this
restricted area.

Fixes bug #11286.

(cherry picked from commit 7485225cc6)
2019-03-21 11:57:59 +01:00
Juergen Spitzmueller
5518ca028e Add tabular-features set-inner-lines and fix set-all-lines behavior
Patch by Daniel Ramöller (racoon)

Fixes: #11382
(cherry picked from commit cb84f752f2)
2019-03-20 12:49:23 +01:00
Enrico Forestieri
98a792c9fd Fix bug #11490
Correctly add the branch name suffix when the stem
of the filename contains a dot.

(cherry picked from commit c3b9504835)
2019-03-19 21:41:04 +01:00
Enrico Forestieri
33023e6811 Fix bug #4269 and avoid crash with gzipped file
Call gunzip with quoted filenames as they may contain spaces or
other special characters.

In computing the length of the extension, the code does not account
for the prefix "unzipped_", which is added when the zipped filename
does not have one of the extensions "gz", "z", "Z", or "svgz", and
thus the used index is out of bounds. See also this thread:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg207360.html

(cherry picked from commit 69726b832b)
(cherry picked from commit 7296e0e6ba)
2019-03-19 21:27:35 +01:00
Enrico Forestieri
41a8994da9 Fix bug #4269
Call gunzip with quoted filenames as they may contain spaces or
other special characters.

(cherry picked from commit 69726b832b)
2019-03-19 21:22:14 +01:00
Juergen Spitzmueller
4456dede9c Do not force LTR with nameref and non-TeX fonts
Fixes: #11518
(cherry picked from commit f0282ddff4)
2019-03-17 17:29:14 +01:00
Richard Kimberly Heck
3ce4338e75 Fix regression concerning collapsing insets after search.
To reproduce: Do a search for text in a footnote (say) that is
currently closed. Click inside the now open footnote. It will close
by itself.

We need to know whether we can go into the inset, not whether we can
edit once we're there.

(cherry picked from commit 4484cc7751)
2019-03-14 21:34:50 -04:00
Juergen Spitzmueller
d3c47dcb13 More exceptions to percent encoding
See #11511

(cherry picked from commit 3c83f01f1b)
2019-03-10 18:04:03 +01:00
Juergen Spitzmueller
7d806ebbb6 Do not percent-encode & in urls
This is query syntax

Fixes: #11511

follows up [c2db448ff5/lyxgit]

(cherry picked from commit 936cddc715)
2019-03-10 18:02:19 +01:00
Jean-Marc Lasgouttes
ee8a336cbc Update screen as needed when preferences are changed
This commit removes the adhoc code in GuiPrefs and moves it to LyXRC,
so that it triggers in every preference change.

The code has also been updated to trigger on more variables, e.g.
font_*_foundry.

Note that the actual function that are called have not been changed
(addPreviews and LFUN_SCREEN_FONT_UPDATE), although there are doubts
that they behave as needed (see FIXMEs).

Fixes bug #11498.

(cherry picked from commit 954531f247)
2019-02-27 12:04:09 +01:00
Richard Kimberly Heck
9374d0edd9 Fix bad error message (bug 11486).
(cherry picked from commit 5b959033d2)
2019-02-25 22:04:19 -05:00
Juergen Spitzmueller
43edb36032 Amend 5f45b3ed9c
(cherry picked from commit 806f742263)
2019-02-23 17:23:40 +01:00
Jean-Marc Lasgouttes
7f177d8d4a Improve DEPM when change tracking is on
A typical problem when change tracking is on is:
1/ insert a new space between two words (as if you want to insert a new one)
2/ move the cursor
3/ see how one has one inserted and one deleted space, whereas one would expect nothing.

The problem is fixed in a general way in master, but here we propose
a simpler one, where the spaces that we keep are the ones at the end
of the sequence of spaces.

Part of #11412.
2019-02-15 11:04:28 +01:00
Jean-Marc Lasgouttes
484128d05b Fix position of cursor when DEPM is used in change tracking mode
When change tracking is active, it may happen that spaces are marked
as deleted instead of being removed. Therefore it is better to measure
the change of size of the paragraph to know how to offset the cursor.

Moreover, it the cursor was strictly after the start of the sequence
of spaces, we ensure that it is still the case.

This commit is _not_ a backport from master, which has diverged.

Part of bug #11412/
2019-02-15 11:03:17 +01:00
Jean-Marc Lasgouttes
c44dc071a5 Fix DEPM at end of paragraph
Remove special handling of spaces at end of paragraph. Now they are
handled like interword spaces by both DEPM methods.

Fix off-by-one error in loop when testing for end of paragraph.

Part of bug #11412.

(adapted from commit c00234503f)
2019-02-15 11:01:29 +01:00
Jean-Marc Lasgouttes
96ef3d320b Fix Visual C++ warning
(cherry picked from commit 2215f4c2b4)
2019-02-11 10:54:58 +01:00
Jean-Marc Lasgouttes
4c18a49c87 Fix algorithm for finding localized files
Now we search in priority with the GUI language, and then the
language(s) specified in the LANGUAGES environment variable.
Preoviously, the GUI language would only be considered when
LANGUAGES was not set (which was a bug).

Take this opportunity to remove old compatibility code from 2007.

(cherry picked from commit e203bf519b)
2019-02-07 10:19:28 +01:00
Enrico Forestieri
841f0fd3dd Fix bug #11484
When splitting parameters at commas, take into account that
commas inside curly braces are not parameter separators.

(cherry picked from commit 6316b9b7ae)
2019-02-05 14:57:18 +01:00
Juergen Spitzmueller
f785d63a0a ? and = must not be percent-encoded in hrefs
Fixes: #11482
(cherry picked from commit c2db448ff5)
2019-01-30 08:17:20 +01:00
Richard Kimberly Heck
8cbf1c7cec Rename emergency file when it is kept.
Otherwise, we will ask about it again next time, when the file
may have changed. Also, if we crash again, we'll over-write that
file, which we may not want to do.

See bug #11464.

(cherry picked from commit b804e8851c)
2019-01-17 23:01:54 -05:00
Jean-Marc Lasgouttes
aa2f5eb426 Allow to type a space in front of another one
This is a follow-up to 714b731e. This fixes the issue when the cursor
is in front of a space
  abc| def
and one inserts another space (to start a word). DEPM would eat one
space and produce
  abc |def
instead of
  abc | def

Additionally, fix the same_par boolean, wheich did not take the cell
index into account.

Related to ticket #11412.

(cherry picked from commit 7848d3c90c)
2019-01-16 10:38:47 +01:00
Enrico Forestieri
a54147d087 Remove PYTHONPATH from the environment on Windows
This make sure to use the the modules distributed with LyX,
avoiding reconfigure failures.

(cherry picked from commit ad0c9a548b)
2019-01-12 18:52:01 +01:00
Juergen Spitzmueller
e27870db7a CJKutf8 is only to be used with the dedicated utf8-cjk encoding
cherry-picked from 9982651fd6
2019-01-12 17:40:19 +01:00
Juergen Spitzmueller
434842563a Add support for U+2693 (ANCHOR)
Fixes: #10706
(cherry picked from commit ead498f0a6)
2019-01-12 08:34:11 +01:00
Enrico Forestieri
3131873a6d Replace environment variables in PATH prefix
The PATH prefix modified through the GUI was set without
replacing embedded environment variables. This might have
caused problems on Windows with external python installations.

(cherry picked from commit 472bdf5910)
2019-01-11 23:01:18 +01:00
Juergen Spitzmueller
bfd86a947a Do not consider deleted labels in ambiguity check
This adds a new (boolean) parameter "active" to the label cache, where
we track whether a label is deleted in ct mode (the same could be done,
if wanted, for labels in notes and inactive branches).

Deleted (inactive) labels are neither considered in the uniqueness check
nor added to the outliner. This also means that undeleted references to
deleted labels are now (correctly) marked as BROKEN.

Cherry-picked from:

    [3ae6bff538/lyxgit]
    [a550a613e8/lyxgit]
    [c457ea90e/lyxgit]
    [5cfd25697/lyxgit]
    [5afacb144/lyxgit]
    [54366c38e/lyxgit]

Fixes: #6563
2019-01-09 09:06:53 +01:00
Juergen Spitzmueller
5f3c0d5aca When using polyglossia (bidi), paragraph directions don't need to be swapped
Bidi does that.

Fixes: #11399
(cherry picked from commit 9d20bc4e98)
2019-01-08 08:30:42 +01:00
Juergen Spitzmueller
7e2b29682c Don't output CJK environment with non-TeX fonts
This amends d193cd05a8.

(cherry picked from commit c9dd349bee)
2019-01-07 17:23:22 +01:00
Juergen Spitzmueller
8918075ed0 Properly implement CJKutf8
If we use that, the document actually needs to be in utf8 encoding, and
the CJK environment needs to account for it.

Candidate for stable.

(cherry picked from commit d193cd05a8)
2019-01-07 17:23:22 +01:00
Jean-Marc Lasgouttes
e8d96cb9b1 Fix display of gather in lefteqn mode
The column is flushed when the display of equations is flushed.

Not sure what to do with RtL languages.

Fixes bug 11324.

(cherry picked from commit 7cb0284a3f)
2019-01-07 11:41:35 +01:00
Richard Kimberly Heck
6bba2aa6a8 Remove now unused routine.
(cherry picked from commit d6b4db1a4f)
2019-01-06 17:51:17 -05:00
Richard Kimberly Heck
90d56cbb4a Use combo box data rather than looking up info from InsetRef.
(cherry picked from commit c4fdab6993)
2019-01-06 17:47:58 -05:00
Richard Kimberly Heck
982be56270 Remove debugging code.
(cherry picked from commit b91e2b9998)
2019-01-06 13:00:45 -05:00
Richard Kimberly Heck
6ac69a78f8 Fix problem caused by re-ordering of menu at 5f6332bf4.
This broke the activation and de-activation of plural, capitalize,
etc. I guess that tells us how much those get used....

(cherry picked from commit 9b3f9cc687)
2019-01-06 12:57:09 -05:00
Jean-Marc Lasgouttes
85e693806e Allow toggling (no)limits only after mathop symbol
In particular, introduce the new InsetMathScript::allowLimits method
that checks for that and honor it in getStatus/ddoDispatch.

Do the same for (over|under)brace

(cherry picked from commit 7b7ed64a0e)
(cherry picked from commit 6cfd733dea)
2019-01-05 15:18:09 +01:00
Jean-Marc Lasgouttes
3a4c4605e9 Fix drawing of labels in insets
In many cases, the origin xo_ of insets was forgotten.

Also fix spacing between text and label in rtl

Fixes bug #11425.

(cherry picked from commit 5c1d65afee)
(cherry picked from commit 5fc035f99c)
2019-01-05 15:01:58 +01:00
Jean-Marc Lasgouttes
7f3407b89a Avoid crash when using inset-select-all in tabular
When changing cell idx, it is important to set the pit to a reasonable
value.

(cherry picked from commit a69e01d0b4)
2019-01-05 14:56:41 +01:00
Jean-Marc Lasgouttes
e73c0d6387 Fix vertical offset of fonts like MinionPro
For some reason, adding a LTR/RTL Override unicode character before a
MinionPro string increases the ascent of the line.

This creates vertical offset issues when painting if the ascent used
as reference is the one of the font. Use the QTextLine ascent instead
for better results.

This is a followup to 1bed76e2a.

Fixes (reopened) ticket #11284.
Fixes ticket #10532.
Fixes ticket #10767.

(cherry picked from commit d8498d4785)
2019-01-05 14:40:56 +01:00
Juergen Spitzmueller
08100f8b02 Always update bibfiles cache with bibliography environment before opening citation dialog
We need to do this unconditionally, since there is no (trivial and non-
awkward) way to update it when the bibliography paragraphs are modified.

Fixes: #4899
(cherry picked from commit 35534231d4)
2019-01-05 10:31:08 +01:00
Richard Kimberly Heck
3c4c5aa994 Fix bug #11432.
Take account of Layout::free_spacing.

(cherry picked from commit 6135824f40)
2019-01-03 19:18:22 -05:00
Jean-Marc Lasgouttes
1e2b503ac9 Remove premature (and bad) optimization
When blinking the caret, it looks like a cool idea to only update the
small rectangle containing the caret. Actually it is an awful idea, since
the paint event will paint some rows, and these rows will not be
properly painted outside of the small rectangle. Unfortunately, the
painter will skip those "painted" rows on next paint events.

This leads to painting errors that depend on the ordering of "real"
and "caret" paint events. This is the reason why they only appeared
with split screens.

Quote of the day: ``The real problem is that programmers have spent far
too much time worrying about efficiency in the wrong places and at the
wrong times; premature optimization is the root of all evil (or at
least most of it) in programming.''
-- Donald Knuth, The Art of Computer Programming.

Fixes bug #11354.

(cherry picked from commit fba9f5b9e8)
2019-01-03 13:52:40 +01:00
Jean-Marc Lasgouttes
b9116e8b81 Add override statements to please clang
Eventually, all overridden virtual methods should be marked properly.
Currently, clang only warns about those in classes that already use
override in at least one place (which was the case dor GuiApplication).

(cherry picked from commit c8f4b68423)
2019-01-03 10:22:11 +01:00
Enrico Forestieri
e65e84878f Amend [324b8287/lyxgit]
Avoid a crash by checking that a cell is not empty before
accessing its content.

No status line is needed as this amends a previous commit.
2019-01-02 09:22:56 +01:00
Juergen Spitzmueller
19b12518fe Remove *.bbl and friends when invalidating the bib info cache
This avoids errors when switching engines.

The fix is already in master. We forgot to backport.
2018-12-31 09:46:08 +01:00
Juergen Spitzmueller
279e656d6a Unbreak citing from bibliography environment
We need to bail out here early since otherwise the cache is prematurely
set to valid even if it is invalid with the bibliography environment.
The following checks (for timestamps of bib files) are only targeted
at bib(la)tex.

The fix is already in master.
2018-12-31 09:43:39 +01:00
Juergen Spitzmueller
51db94b350 Fix some parsing glitches in Autonest and IsAutonestedBy
Layouts can have spaces, underlines (that must be read as spaces, and
be enquoted)

Candidate for stable

(cherry picked from commit da273a944f)
2018-12-29 18:36:20 +01:00
Juergen Spitzmueller
a9890828bd Do not auto-insert separator for keepempty layouts
Candidate for stable

(cherry picked from commit 59d73f52b8)
2018-12-29 18:32:47 +01:00
Juergen Spitzmueller
07ba1d04fb Fixup LocalLayout ui after [3847e0ef/lyxgit]
(cherry picked from commit a67c541d6b)
2018-12-29 18:02:39 +01:00
Pavel Sanda
78e256163a Backport 33284ee5c. 2018-12-29 17:55:55 +01:00
Richard Kimberly Heck
d06c3d7d9f Fix bug #6096.
We used to need a hack to set the size of the layout combo, but
the code was changed in Qt 4.5 or so. Hence the appearance of this
bug in 2009. We can now just remove this hack, and all seems to
work correctly.

(cherry picked from commit d7f4346a19)
2018-12-29 11:30:47 -05:00
Richard Kimberly Heck
6806ad98df Fix bug #9004.
I'm not entirely happy with this way of doing it. It seems messy.
But there is not another clear option right now.

(cherry picked from commit 4f0ccae399)
2018-12-29 11:28:51 -05:00
Juergen Spitzmueller
35f0117b5f LFUN_TEXTSTYLE_UPDATE: Do not force any unspecified settings.
Fixes: #11111 (yay!)
(cherry picked from commit 2f9876a410)
2018-12-29 09:38:39 +01:00
Richard Kimberly Heck
88034d3d89 Fix bug #11422.
We need to load the master document before applying the params, since
otherwise the TOC reset (and other things) happen before the master
has been loaded (and set as parent).

(cherry picked from commit ac3693c04f)
2018-12-29 00:25:58 -05:00
Scott Kostyshak
4ea6d81437 Fix assertion when checking if change in selection
The check for the iterator being in the same paragraph as the end of
selection was incorrect, because paragraphs in different cells could
have the same pit. We now additionally condition on having the same
idx.

This commit amends d1279875 (and thus 23de5e5e).

For discussion, see:

  https://www.mail-archive.com/search?l=mid&q=a5afd0c01a0eb9a84fd4d050d15eb23016d6f38a.camel%40lyx.org

Thanks to Jürgen.

(cherry picked from commit c5301a6495)
2018-12-28 23:56:53 -05:00
Juergen Spitzmueller
a68e5b7774 When cancelling saving of a children, cancel the whole process.
Fixes remainder of #11405

(cherry picked from commit 4d51206585)
2018-12-25 12:15:43 +01:00
Juergen Spitzmueller
6145cb798d Allow to restore default UI colors in prefs
Patch by Daniel Ramöller (racoon), with slight modifications of mine.

Fixes: #10062

(cherry picked from commit 81e4f8dfb6
with minor adaptations)
2018-12-24 11:51:38 +01:00
Scott Kostyshak
0af6a43b6a Fix crash when selecting text with changes
When selecting text, in some cases a DocIterator could be forwarded
to a (non-existant) paragraph after the end. The critical part of
this fix is to break the loop at the correct place. The following
are additional improvements:

- increase readability by defining a bool named "in_last_par"
- use cur.selectionEnd().pit() instead of cur.selectionEnd().paragraph().id()
- use it.lastpos() instead of it.paragraph().size()

This commit fixes a regression introduced by 23de5e5e, and reported
at #11204.

Thanks to Jürgen and JMarc.

(cherry picked from commit d12798759a)
2018-12-22 14:57:40 -05:00
Scott Kostyshak
890fb133b1 Only show Accept/Reject Change options if relevant
In the context menu for a selection, we now only show the options
"Accept Change" and "Reject Change" if there is actually a change in
the selection. Similarly, in the toolbar, the buttons are only
enabled when there is a change in the selection.

This fixes #10338.

(cherry picked from commit 23de5e5e19)
2018-12-22 14:57:40 -05:00
Juergen Spitzmueller
4480b72a9d GuiCharacter: Add menu to Restore button
and allow for resetting all widgets to "No Change" besides "Default"

(cherry picked from commit ac8aac5b36)
2018-12-22 08:52:55 +01:00
Jean-Marc Lasgouttes
714b731e39 Make DEPM respect current cursor position.
Spaces are now conserved when they surround current cursor. Examples:
  abc   |   def
becomes
  abc | def
after DEPM and
  abc |
is kept as it is.

Fixes ticket #11412.

(cherry picked from commit dff0c5729e)
2018-12-21 22:18:40 +01:00
Enrico Forestieri
324b828717 Fix bug 11346
Enclose in braces an optional argument of a math macro when it
starts with an incomplete script inset or ends with a delimiter
size-modifier macro.

(cherry picked from commit 2dcb730026)
2018-12-20 11:57:54 +01:00
Juergen Spitzmueller
d41337179a Also check for dirty children on QUIT
Fixes rest of #11405

(cherry picked from commit 33344c6015)
2018-12-20 11:39:37 +01:00
Pavel Sanda
7b431ff0ba Backport 99bfe20120. 2018-12-19 21:47:06 +01:00
Juergen Spitzmueller
1dc6154708 GuiCharacter: Add "Reset" and "Restore Defaults" buttons
Addresses #11415
2018-12-18 08:32:48 +01:00
Juergen Spitzmueller
aea162cc8d Check for hidden dirty child on close
Fixes: #11405
(cherry picked from commit f87218bbb5)
2018-12-17 18:46:13 +01:00
Jean-Marc Lasgouttes
833adc5c6b Fix embarrassing typo
Not clear whether this caused any bug.

(cherry picked from commit 058c6750ac)
2018-12-17 17:22:42 +01:00
Juergen Spitzmueller
262b0dcca4 GuiCharacter: INHERIT is OFF for the tristate buttons.
(cherry picked from commit 1b6ce0e827)
2018-12-17 10:44:10 +01:00
Juergen Spitzmueller
0dcf78a4ad GuiCharacter: Consider default settings for underline, strikeout and language
(cherry picked from commit bf2bf2eaed)
2018-12-17 10:42:00 +01:00
Juergen Spitzmueller
1a43a14ef5 Amend 9705b88251
(cherry picked from commit ab5c08b3f0)
2018-12-17 10:41:31 +01:00
Juergen Spitzmueller
a6e3c59b94 Use current_font, not real_current_font, in character dialog
The latter has the workarea font settings, which are not of interest
here.

Fixes: #11385
(cherry picked from commit 9705b88251)
2018-12-17 10:41:03 +01:00
Jean-Marc Lasgouttes
47adf27ac3 Fix undo after breaking a nested paragraph
We have to take into account that Buffer::updateBuffer can modify the document.

Fix bug #11292.

(cherry picked from commit 57feb0fed0)
2018-12-16 22:00:36 +01:00
Jean-Marc Lasgouttes
ebe6612e26 Make sure inset buffer is correctly set in math grid
Make MathData::setBuffer set the buffer of insets that it contains.
Remove corresponding code from InsetMathNest.

update the buffer() property in the following tabular-feature
actions : copy-row, add-row, copy-col, add-col.

(cherry picked from commit 837bcbb043)
2018-12-14 19:39:54 +01:00
Jean-Marc Lasgouttes
0e6cb4e599 Set buffer correctly when changing math space type.
Fixes bug #7747.

(cherry picked from commit 2ec25c8eef)
2018-12-14 19:39:54 +01:00
Pavel Sanda
05282ceeec Backport 641ae5c7ad.
The main reason is to prepare #5348 for landing.
2018-12-14 19:20:36 +01:00
Enrico Forestieri
3e9a1c2da7 Fix bug #9622
The backslash is the escape character used in our parser. Hence,
when used as a path separator on Windows, it has to be itself
escaped or the path enclosed in either double or single quotes.
Windows users are maybe trained to quote paths containing spaces
but not paths with backslashes. So, we automatically escape the
backslashes when they are not already enclosed in quotes.

(cherry picked from commit 4c9df62c6c)
2018-12-14 18:57:48 +01:00
Pavel Sanda
759769131a Keep permissions of the saved files intact. (Backporting 04fe818b22).
Apparently this code helps for qt5 only.
qt4 accepts setPermission, but does not seem to actually implement it.
2018-12-14 18:50:36 +01:00
Richard Kimberly Heck
7bf1392c4d Comment 2018-12-14 11:11:50 -05:00
Richard Kimberly Heck
2126d5a3aa The updateBibfilesCache routine is not in master.
I think it must be a leftover from all the back and forth of trying
to get this right. But there's only one way to find out...
2018-12-14 11:10:05 -05:00
Richard Kimberly Heck
af71ebff8e There is no reason we should need to reload the bibinfo cache for
internal buffers.
2018-12-14 10:43:30 -05:00
Richard Kimberly Heck
e9614a36eb Fix slowness problem reported on the mailing list on Windows.
https://marc.info/?l=lyx-devel&m=154458979925296&w=2

This is related to the fix for #9158 and the caching of bibfile
information. On Windows, it is incredibly slow to run kpsewhich,
which we do to check where files actually are, so as to get info
about them (e.g., timestamps). So we have started to cache that
as a map. The map is supposed to be invalidated when various
things happen, but an oversight was causing it to be invalidated
on every cut operation. This is because cutting uses a temporary
Buffer, and the operations on it were affecting the *global* cache
of biblio file info. (It makes sense to have a global cache, since
these files are not document-specific.) Basically, we have to update
the list of bibfiles in that temporary Buffer---but that is one of
the things that invalidated the cache. The solution is only to
invalidate the cache if the list of bibfiles has actually changed
(a sensible idea anyway). The only time that will happen in the
temporary Buffer is when the copied information contains a BibTeX
inset. That should be fairly rare.
2018-12-14 10:43:30 -05:00
Enrico Forestieri
eba2f14fa7 Fix display of single-char macro names
Essentially, all characters are allowed in single-char macro names.

Part of #11158.

(cherry picked from commit 95bc273a59)
2018-12-14 12:05:40 +01:00
Guillaume MM
a8ad4002a0 Fix segfault after deleting monitor
The boost signal was sent synchronously, and so made the Qt signal to be posted
in FileMonitor::changed after the boost signal returned, so after the sender was
possibly destroyed.

The solution is to make the boost signal asynchronous using the Qt event loop.

Thanks to Scott Kostyshak for the report and MWE.

(cherry picked from commit 131f4b92ba)
2018-12-13 23:31:15 -05:00
Jean-Marc Lasgouttes
7950ace3d9 Fix selection of unmarked RtL text
With Qt 5.11 at least, RtL text will be drawn RtL even when the
(undocumented) flag Qt::TextForceLeftToRight is applied to the
QTextLayout object. This creates selection issues for Hebrew text
marked as English.

The solution is to do the same as in breakAt_helper, that is prepend
the string with a direction override unicode character.

Doing this requires to introduce a TEXTLAYOUT_OFFSET constant that has
to be used wisely to account for this extra character.

Fixes bug #11284.

(cherry picked from commit 1bed76e2a1)
2018-12-13 10:51:59 +01:00
Jean-Marc Lasgouttes
3a123b90af Remove old workaround that is not needed anymore
This causes a compilation error with boost 1.69.

Fixes bug #11349.

(cherry picked from commit 76e99e9a20)
2018-12-13 10:39:58 +01:00
Juergen Spitzmueller
ac351f40f1 Fix encoding problems in \input@path
As of LaTeX2e 2018, characters are made active earlier, which results
in new expansion problems.

Following a suggestion of Markus Kohm (pc) and the TL mailing list [1],
we embrace non-ASCII input paths in \detokenize. This relies on e-tex,
but I think we can assume this is nowadays available everywhere.

[1] http://tug.org/pipermail/tex-live/2018-May/041691.html

Fixes: #11146
(cherry picked from commit 8bd65041f2)
2018-12-12 08:39:20 +01:00
Richard Kimberly Heck
c26c7602e4 Copy modules into the Advanced F&R pane as well.
(cherry picked from commit 5064c09e9f)

Update the Advanced F&R document class when switching buffers.

(cherry picked from commit 944b0ae55d)
2018-12-11 18:05:53 -05:00
Guillaume Munch
c1945d27df Make tab movement visible (#10733)
The nice hand-made solution for moving tabs has made its time. Use Qt's feature
instead from now on.

(cherry picked from commit 1979496399)
2018-12-11 17:59:27 -05:00
Richard Heck
e694199837 Fix bug 9798.
Nameref support for math references.

(cherry picked from commit 5f6332bf46)
2018-12-11 17:58:07 -05:00
Richard Heck
26d4b5bb47 Fix bug #7404.
This allows for external editing of ERT insets. Original patch
by Georg Baum. Updated to 2.4dev by Riki Heck.

(cherry picked from commit f17f5617e0)
2018-12-11 17:43:17 -05:00
Richard Heck
99d025e2da Fix bug #991.
Patch adapts Georg's work on #7404 to this case.

(cherry picked from commit 3847e0ef77)
2018-12-11 17:38:21 -05:00
Enrico Forestieri
535309929b Fix reloading of local layout file (bug #11120)
(cherry picked from commit 7822d11361)
2018-12-11 19:26:17 +01:00
Kornel Benko
d63b5f548f Fix #11241, FindAdv for wedge in subscript
Patch from ajd, completed to include also latexifyFromCursor()
2018-12-11 12:12:02 +01:00
Enrico Forestieri
3beb38c92e Amend bd21aa9
Check whether a line is actually blank rather than whether
we are at the beginning of a line.

(cherry picked from commit 976e0b7993)
2018-12-08 23:16:08 +01:00
Enrico Forestieri
8d7b66e209 Fix bug #11398
When deciding how to strike out deleted math in change-tracking
mode, differentiate only on begin-of-line or not, and not on
after-paragraph-break or not.

The assumption that a new paragraph is always started after a
float seems to be not true and was causing this bug.

(cherry picked from commit bd21aa99d2)
2018-12-08 23:09:38 +01:00
Pavel Sanda
566711b5ca Correctly update after buffer-anonymize in branch.
In master the screen update after buffer-anonymize happens without screenUpdate.
2018-12-02 02:08:49 +01:00
Jean-Marc Lasgouttes
f7ebe1f70f Show cursor correctly when loading file
This is a fixup to 4ecbff00. When a file is loaded and the cursor is
set, it is required to first compute metrics to be able to scroll the
screen correctly.

Fixes bug #11377.

(cherry picked from commit 2dc84b69d5)
2018-11-23 17:05:46 +01:00
Jean-Marc Lasgouttes
c1df5fb6ef Avoid extra space in tooltips
When using QTextDocument to check the natutal size of a text, one has
to remove the text margin, which is not useful here.

Fixes bug #11353.

(cherry picked from commit 7db99672e6)
2018-11-21 14:47:04 +01:00
Enrico Forestieri
704eede69b Fix bug #11367
The overset, underset, and stackrel insets behave like the script
rather than the fraction inset.
2018-11-12 21:17:03 +01:00
Juergen Spitzmueller
639aa35444 Dispay pre- and posttext widgets if non-empty also if unapplied
Fixes: #11352
(cherry picked from commit b8932afed5)
2018-10-30 22:18:52 +01:00
Jean-Marc Lasgouttes
b02d9f1075 Amend 4ecbff00: it is too early for skipping the updateMacros call
(cherry picked from commit 9e7832915f)
2018-10-22 17:19:40 +02:00
Juergen Spitzmueller
67495a71d1 Missing backports in the context of #9158
This fixes the remaining regressions in stable with citation
2018-10-15 08:04:31 +02:00
Juergen Spitzmueller
b28599f3f7 Amend a754912 once more
Do not use LTR environment (bidi) at all, since it adds unwanted
paragraph breaks.

Fixes: #11338
(cherry picked from commit 3a91fed269)
2018-10-14 11:18:07 +02:00
Juergen Spitzmueller
149526c154 Clear bibfile cache when set of bibliography files change
Part of #9158

(cherry picked from commit 4115d2487f)
2018-10-14 10:07:22 +02:00
Juergen Spitzmueller
e00b11355d Merge paragraphs when pasted into an inset that forbids multipars
Fixes: #8281
(cherry picked from commit 5dde4b1b3e)
2018-10-14 09:06:38 +02:00
Juergen Spitzmueller
53a108e814 Load covington later
This solves a loading order conflict with beamer-article.

(cherry picked from commit 00ee54e694)
2018-10-13 09:49:10 +02:00
Juergen Spitzmueller
3d2cc5edeb Amend a754912
Switch logic, since isStyle() does not cover inline math

Fixes: #11338
(cherry picked from commit 9d8fbc7fd1)
2018-10-10 08:35:59 +02:00
Richard Kimberly Heck
7697bf7888 Revert "Fix bug #9348"
The fix changes behavior too much for stable. My bad.

This reverts commit e94ea46be7.
2018-10-08 16:27:47 -04:00
Juergen Spitzmueller
7a0416b374 Rework OK/Apply/Cancel UI of prefs dialog
Instead of "Save" (permanently) and "Apply" (temporarily), OK and Apply
now always save permanently, unless the new checkbox "Apply to current
session only" is checked.

Addresses: #10016
(cherry picked from commit c7bdb3b342)
2018-10-08 11:46:42 +02:00
Juergen Spitzmueller
4a8b508d40 If a master is being created at loading the child, un-hide it.
Fixes: #11162
(cherry picked from commit a368439bcc)
2018-10-08 11:43:20 +02:00
Juergen Spitzmueller
ea43f293c2 GuiCitation: don't reset filter on show
Addresses #11291

(cherry picked from commit 33d6499bbc)
2018-10-08 11:36:47 +02:00
Juergen Spitzmueller
875a4dcd17 Fix indentation 2018-10-08 11:32:30 +02:00
Enrico Forestieri
e94ea46be7 Fix bug #9348
(cherry picked from commit 503f7db224)
2018-10-06 12:43:09 +02:00
Richard Kimberly Heck
1d22d23808 Fix bug #10177.
The left margin given at class level should apply only to the main text.

(cherry picked from commit a007b65202)
2018-10-04 19:44:42 -04:00
Richard Kimberly Heck
768c7e2fa2 Fix bug #11275.
Show module name with description.

(cherry picked from commit 2553b0073f)
2018-10-04 14:12:03 -04:00
Jean-Marc Lasgouttes
ba3ff646db When ignoring an update, request one for later
If we were not ready to paint the screen, this does not mean that we
should give up on repainting, just potpone it.

I thought that it was bad to call update() in the paint event, but I
cannot find reference to this anymore and everything seems to work as
intended.

Fixes part of bug #11323.

(cherry picked from commit 38f09c177b)
(cherry picked from commit 2617a4dd50)
2018-10-04 15:07:12 +02:00
Enrico Forestieri
ea81faa911 Fix bug #11180
When a raster image with an advertised pixel density different
from 72 dpi is included in a latex file, the output image dimensions
are scaled by the ratio 72/pixel_density. Hence, if a clipping
bounding box is specified, it has to be scaled by the same ratio,
otherwise the images will be clipped differently on screen and output.
Here we use the extractbb command (present in any TeX distribution)
to ask about the output dimensions of the image as dictated by the
pixel density and compute the scaling ratio by the knowledge of the
actual dimensions. If, for whatever reason, extractbb is not found,
everything goes as before, because the clipping bounding box will
simply not be corrected.

(cherry picked from commit 380f34a114)
2018-10-04 00:40:19 -04:00
Richard Kimberly Heck
e67c119d80 Do not step equation numbers in deleted equations.
(cherry picked from commit df5805917b)
2018-10-04 00:20:19 -04:00
Richard Kimberly Heck
51239977c5 Do not step counters in deleted material.
Also, display the counter as "#" if the inset is deleted.

(cherry picked from commit 200064e9a4)
2018-10-04 00:19:19 -04:00
Richard Heck
a05da2121c Fix bug 11070.
Allows plural, caps, no prefix to be set via context menu.

(cherry picked from commit 35afcfb6dd)
2018-10-04 00:17:47 -04:00