25136 Commits

Author SHA1 Message Date
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 d3979e798cd9c85041bb5e6158002384a8cddb8c)
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 7485225cc6f26c9e03d3674f4f361b431074fa6e)
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 cb84f752f21bb4cf4bd9ed6999df0353aba2b57e)
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 c3b950483565ca53265a4105a4946585f8b59e24)
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 69726b832b4ed1859d5c9e753c4437c98f5f2966)
(cherry picked from commit 7296e0e6ba8bcd343fb3cdb78c8590fd0864d469)
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 69726b832b4ed1859d5c9e753c4437c98f5f2966)
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 f0282ddff4ecfa3dc33eac2a2dbd9e0bf45b28a2)
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 4484cc775126e969d83f036561cfeb21d6751e79)
2019-03-14 21:34:50 -04:00
Juergen Spitzmueller
d3c47dcb13 More exceptions to percent encoding
See #11511

(cherry picked from commit 3c83f01f1b8b76b63a8f4892bb7635817ed1e12c)
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 936cddc715d3a49ffbde42bba0cb19120701bc57)
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 954531f247adee029c12713634a81717f87a2bcf)
2019-02-27 12:04:09 +01:00
Richard Kimberly Heck
9374d0edd9 Fix bad error message (bug 11486).
(cherry picked from commit 5b959033d2167ffbef7eaf70d561eb23fcde803c)
2019-02-25 22:04:19 -05:00
Juergen Spitzmueller
43edb36032 Amend 5f45b3ed9c851f0
(cherry picked from commit 806f7422633631669f6272e03c9e8dc79d1d299e)
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 c00234503f9e07795723222e6095c022e45ad1dd)
2019-02-15 11:01:29 +01:00
Jean-Marc Lasgouttes
96ef3d320b Fix Visual C++ warning
(cherry picked from commit 2215f4c2b43f9c282f35984182dcd958c8a27ced)
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 e203bf519b4dd69f17a2f8cabb6607d2f73dce71)
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 6316b9b7aed7d67c585f8c17cce5669f8cbb5d65)
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 c2db448ff558f53ebfd93920d7d40f37d9a4211c)
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 b804e8851c33b68caa5057e809a12333741dfe2e)
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 7848d3c90c0837e8e8549db37bf4bc5cd7e7dad1)
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 ad0c9a548bf9e0c5038f2731aef766e0d0e8c266)
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 9982651fd684577e977d85d0bc54bea65d8c3ff1
2019-01-12 17:40:19 +01:00
Juergen Spitzmueller
434842563a Add support for U+2693 (ANCHOR)
Fixes: #10706
(cherry picked from commit ead498f0a642b27cb9a63f76d146ba776fc7f7b6)
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 472bdf59109b4188df3bbad18ac3aa60670962aa)
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 9d20bc4e989c57dc5498f231d890a0550375a753)
2019-01-08 08:30:42 +01:00
Juergen Spitzmueller
7e2b29682c Don't output CJK environment with non-TeX fonts
This amends d193cd05a8e3b.

(cherry picked from commit c9dd349bee71d9a3952f36246f684ead9ca43c2b)
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 d193cd05a8e3be92e34a873416a16c2a474b61cb)
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 7cb0284a3ffa469c4c99184725f5a3e0b4056508)
2019-01-07 11:41:35 +01:00
Richard Kimberly Heck
6bba2aa6a8 Remove now unused routine.
(cherry picked from commit d6b4db1a4f85b15090d15afda0b9ec6c23d28e4c)
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 c4fdab69937d627cba1185a978e4b2d041c22eb5)
2019-01-06 17:47:58 -05:00
Richard Kimberly Heck
982be56270 Remove debugging code.
(cherry picked from commit b91e2b99986c0f957ba27eeba74b5ae0460d73bc)
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 9b3f9cc687c5294e13555c6596184dd0e6a5d6cf)
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 7b7ed64a0e760eccad5fff7fa944b983d0bed025)
(cherry picked from commit 6cfd733dea70bf26c512dea8491f79f68cb512e6)
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 5c1d65afee3a37d5befcf9eb55d8d50e1d8e4f13)
(cherry picked from commit 5fc035f99c42835da41d6eb6cf5a375382c06870)
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 a69e01d0b47aebbdfc3139533fcb7f1d0c04f156)
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 d8498d4785282a6f42a69f56ebd46ac32e1d2f51)
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 35534231d45426a842ccad0219fbffbdbda446a0)
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 6135824f40c55e3a6156d477f7475473a8d5ee53)
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 fba9f5b9e884f0a988bd77992772eb4986eecdec)
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 c8f4b68423520378d02fe9f953d94759b862dc55)
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 da273a944f4b720b1da5fd737ededc2f2129e9bc)
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 59d73f52b8afa734c02db08b075c1cdaf25611c1)
2018-12-29 18:32:47 +01:00
Juergen Spitzmueller
07ba1d04fb Fixup LocalLayout ui after [3847e0ef/lyxgit]
(cherry picked from commit a67c541d6b329ed2db6906904c1e1dbadc49aa0a)
2018-12-29 18:02:39 +01:00