24736 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
00ec2dd106 Unbreak completion in text mode
Completion uses a complicated async scheme based on timers to update
itself. This is probably not necessary anymore and is fragile to
event order changes.

This is what happens with the new painting scheme. Therefore the
asyncHideXXX() methods have to be made more robust and detect whether
completion state has changed by the time they are triggered.

(cherry picked from commit f1ea7fee5cda3fbbeb9fdbb8bec2bd91c0745e56)
2018-06-11 10:35:55 +02:00
Jean-Marc Lasgouttes
97fe69426d Draw frame last when drawing text insets
This avoid cases where the blinking cursor erases the frame.

(cherry picked from commit 4e9084b3e48697efc3eb4cc7a76b87f99a5e4aed)
(cherry picked from commit 6bcc7d6e42a53979b5c002ea445cf1e32006571e)
2018-06-11 10:24:05 +02:00
Enrico Forestieri
44466f305f Avoid duplicate generation of the same preview
When an image has to be loaded a second time and the cache
is not used or the image is not in the cache, its preview is
going to be regenerated again. Hence, if the same image
appears more than once on screen, avoid requesting simultaneous
generation of the same preview.
See also this thread:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg205057.html
2018-06-07 23:13:33 +02:00
Jean-Marc Lasgouttes
874ad18178 Set caret height correctly for cells inside math rows
The code in 90cfe4ec3 only handled the cells which metrics are
computed directly, and missed those who were linearized inside a MathRow.

To fix this, we use the fact that all the positions in a math row have
the same height and make MathRow::metrics return a boolean indicating
whether it contains a caret for a given bufferview.

Fixes bug #11153.

(cherry picked from commit a3868e40a40853bf3500ec4b3fb1a152f846464c)
2018-05-24 17:28:49 +02:00
Jean-Marc Lasgouttes
1c8a53458a Reset dim width when computing MathRow metrics
This was dropped by mistake in 7bcb78a77.

Fixes bug #11152.

(cherry picked from commit c58b914c80d57c7d12ac4c244682e82adfbcdd9c)
2018-05-22 20:28:12 +02:00
Enrico Forestieri
87b44bcc1f Fix bug #11151
(cherry picked from commit 17ea71b31c6b5708241d8a9d2ca5afd331446c1c)
2018-05-21 22:01:56 +02:00
Jean-Marc Lasgouttes
011d925da0 Removed unused private variable
Spotted by clang++ 6.

(cherry picked from commit c4075367fa6330cac075e94b61f8522fcd54f630)
2018-05-15 23:13:59 +02:00
Jean-Marc Lasgouttes
45fba1ce1b Avoid crash when trying to handle FitCursor
It is better to handle SinglePar before FitCursor, since the later
requires correct metrics at cursor position.

Fixes bug #11139 and probably #11125.

(cherry picked from commit 7f83d26934e50e3d83e254b0f9ab847d957053f7)
2018-05-14 00:10:45 +02:00
Juergen Spitzmueller
d35055de83 Fix InsetBox::contentAlignment()
Some cases where alignment is possible were missing.

Candidate for 2.3.x.

(cherry picked from commit de67b68b1dc140321e5d0e2e6b4507c972703744)
2018-05-11 18:44:17 +02:00
Jean-Marc Lasgouttes
4e981b034e Adapt caret height to context in mathed.
Compute a height from current font and current cell vertical
dimensions in MathData::metrics(), because this is where current font
is known.

Introduce BufferView::setCaretAscentDescent to remember this value.

This mechanism is not used for text because Cursor::current_font is
restored by undo, and the caret height would not be changed then. But
in principle it is doable.

(cherry picked from commit 90cfe4ec3b4ff22ef798a63e98ca70d0d33a1656)
2018-05-10 12:53:30 +02:00
Jean-Marc Lasgouttes
0cba074ecf Better mechanism for setting cell height
When computing a cell metrics, it is now possible to specify whether it
is tight (at least as tall as 'x') or not (as tall as the max height of
the font).

Use this to make sure that grid insets have large enough cells. It
will probably appear that other cells needn't be tight. Currently, the
only cell which is known to be tight is the nucleus of the root inset.
Others should be examined one by one. It might be that the default of
MathData::metrics tight parameter should be `false'.

Fixes bug #11050.

(cherry picked from commit 7bcb78a77875ecae0f54063ff02ec90e1b78f8b6)
2018-05-10 12:48:56 +02:00
Jean-Marc Lasgouttes
f33d0789f6 Set a minimal height for math rows
The value used here is the x height. It would be nice to see what the
TeXbook really says.

This makes a big difference with \tilde{.}, for example.

(cherry picked from commit 6df8c42e59f7dbe00d585525d1ce7e91a42411ca)
2018-05-10 12:47:57 +02:00
Scott Kostyshak
705302f6de Center longtable explicitly (#10690)
"Center" is the default of longtable, but some situations require it
to be centered explicitly, such as when using floatrow:

https://tex.stackexchange.com/questions/320592/floatrow-package-conflicting-with-centering-longtable

(cherry picked from commit bde1834f7e81727545e014c24e27e148f6ba7d65)
2018-05-08 17:42:43 -04:00
Richard Kimberly Heck
69ab4d17c8 Fix problem noted by Scott in bug #11125.
Need to set the Buffers for math insets, too.

(cherry picked from commit 81abfdc13d2fd2f652aaed5291074526fa5bbecf)
2018-05-08 02:12:19 -04:00
Richard Kimberly Heck
ffeac12a86 Fix problem with synchronous export.
It surprises me a bit that the code is different in this case
from the case when EXPORT_in_THREAD is not set. I should check
to see if there's a problem in the other case, too.

(cherry picked from commit 0fc50a26371b9cbaf2cd73c5e377c86bf7fdb215)
2018-05-06 17:46:53 -04:00
Juergen Spitzmueller
36096435e5 Fixes for nested ulem commands
1. \uuline must be on top of \sout
2. \uwave in \xout needs a hack to compile

(cherry picked from commit 9fd94a2dd0631a7d408ad013736312a5cf563f2f)
2018-05-05 10:09:04 +02:00
Juergen Spitzmueller
63c54434ae PassThru paragraphs have latex_language; consider this when checking
previous language

Fixes: #10793.
(cherry picked from commit 15df033bcec5aa65cdb26b7f31b9082f3f7e05da)
2018-05-01 06:56:45 +02:00
Richard Kimberly Heck
1221d00d7d Request buffer update rather than do it.
(cherry picked from commit 2777b51c587cb061b3214c670a3cc4b357528e6c)
2018-04-30 22:32:52 -04:00
Scott Kostyshak
6a808d285c Fix duplicate, disabled "Separated Frame Below"
This commit fixes an issue where the menu option "Insert Separated
Frame Below" would show up twice, with one instance disabled. This
occurred when there was a "Standard" environment nested in a
"Frame". With this commit, the duplicate instance is removed.

(cherry picked from commit 4f7a5f8c3e1bb633a9ee92cf692a116180537073)
2018-04-29 00:05:15 -04:00
Scott Kostyshak
9b821eb047 Initialize toolbarsMovable_
Valgrind detected a conditional jump because this member was not
initialized.

(cherry picked from commit e49a10729e2b96202d0eaca1e63edc9212c7258c)
2018-04-27 23:31:09 -04:00
Jean-Marc Lasgouttes
be62d98dcf Rework caret display code
The new code is much simpler: what it does is, after redrawing has
been done, to mark the cursor row as changed, so that it will be
repainted on next paint event.

This avoids some crashes at the price of possibly repainting the row
when it was not necessary.

(cherry picked from commit 2f1eb35b868aaa5adb83ff358c2468551e25685e)
2018-04-27 11:46:44 +02:00
Jean-Marc Lasgouttes
5c6bc52b1b Update cursor position after committing IM string
(cherry picked from commit 01fea56eb67eafa88680a913eeb72e023e1afa71)
2018-04-26 22:45:57 +02:00
Richard Kimberly Heck
69a72f5dec Restore implicit word selection for inset insertion.
Modifies 0662ffb9.

(cherry picked from commit aa2f409d871d36dc0e1c038aba900d06963d3459)
2018-04-25 21:53:54 -04:00
Richard Kimberly Heck
1101d85a3a Improve error message a bit more.
Sorry to Kornel, who had already updated sk.po!

(cherry picked from commit 821e10154739aa23191998b88a4bb7d9e0390628)
2018-04-25 18:45:01 -04:00
Richard Kimberly Heck
e7387fd348 Don't sort the bibfiles cache.
This causes problems with biblatex. Instead, we sort the old and
new lists and then compare them.

(cherry picked from commit 6b095e2b7107110bec593edd02bbdcf25adae76a)
2018-04-25 13:45:17 -04:00
Richard Kimberly Heck
13354c4a53 Improve error message.
(cherry picked from commit 04f71516841ff8108c9d5d9d7b8ab2bfa6952f31)
2018-04-25 12:06:07 -04:00
Jean-Marc Lasgouttes
d0a11cb8e2 Redo metrics after cancelling macro mode
When the cursor is inside a subscript that may become empty, metrics
issues can happen. This patch fixes the issue, although it is not
clear to see what the problem is.

Still, requesting a metrics update also in the case where the macro
mode is canceled makes sense.

Fixes bug #11125.

(cherry picked from commit 68ec34e60343a5dec9f32d60c79a2c0825b62d12)
2018-04-25 17:03:50 +02:00
Richard Kimberly Heck
4f0504d778 Add slightly improved error message. 2018-04-23 20:36:28 -04:00
Richard Heck
00522ecd3f Fix #8338.
The idea here is to force commands to be run syncrhonously when
they are launched via "command-sequence" or "repeat". We do this
by using a new flag in FuncRequest.

(cherry picked from commit 2477493cf5641c9e6ccb4c1b52548a0e9b104ea0)
2018-04-20 23:48:50 -04:00
Richard Heck
7d0b7e0840 Fix for #10624.
If we're in the first paragraph after a division (section, etc),
use the prefix for it.

(cherry picked from commit dd2efe8d0d1fb7070c4fa0cbcb52f15a48bec33b)
2018-04-20 23:29:36 -04:00
Richard Heck
0662ffb98e Fix #6344.
For some reason, special code was added for LFUN_INDEX_INSERT
when it was not actually needed. So just delete it.

(cherry picked from commit 83356ab9fed1b6ab24d129486ab8e3c7dfd6ea4a)
2018-04-20 23:16:02 -04:00
Richard Heck
7dcd1a7f4e Reset counters before we re-run updateBuffer when the bibfiles change.
Fixes a bug reported by Pavel here:
  https://marc.info/?l=lyx-devel&m=152407889727665&w=2

(cherry picked from commit 64acc06b919e08001cb8ff8d5b69e0902176fe35)
2018-04-20 23:01:23 -04:00
Richard Heck
12c196755b Fix bug #11118.
Adds LFUN_MASTER_BUFFER_EXPORT.

(cherry picked from commit c4c7053d1d1cfc0b430b6565448e5b9fcacc60be)
2018-04-19 00:11:48 -04:00
Juergen Spitzmueller
9e52c7693e Add support for rotated longtabulars (via [pdf]lscape)
Fixes: #9194

See #9194 for why we use an earlier file format change here.

(cherry picked from commit feab528fd1555065592284603d8443b71f534a7a)
2018-04-18 18:10:06 +02:00
Richard Kimberly Heck
b567ef36bb Fix bug #11084.
Allow unicode-insert to accept a sequence of codepoints.

(cherry picked from commits 83b1ac3b, f7d502d0, and a714f6cb)
2018-04-16 23:26:08 -04:00
Richard Heck
955199fe8c Fix bug #9847.
Spaces are, amazingly, allowed at the end of bibliography keys. So we
introduce a new parameter allowing getVectorFromString not to trim
whitespace, and then use it.

For some reason, this seems not actually to have been backported
to 2.3.x.
2018-04-16 23:19:21 -04:00
Richard Heck
5a9bf60166 Fix bug #11055.
See also https://marc.info/?l=lyx-devel&m=151709211602688&w=2.

(cherry picked from commit d3ee87eea282ca6e8f0a78bc6a0e27b4f0942624)
2018-04-15 00:29:36 -04:00
Juergen Spitzmueller
4ce9e61ab1 Prevent that a full source preview of a child clears the master's bibfiles cache.
See #9158

(cherry picked from commit a9a7f384885541bdd4ddb21ad19cec71369355de)
2018-04-15 00:26:43 -04:00
Juergen Spitzmueller
9c1ac5e6d9 amend cfce0ac0
(cherry picked from commit 6415d986ba32373d3c3915ec77473dfa2e2b7ad3)
2018-04-15 00:21:13 -04:00
Juergen Spitzmueller
cfce0ac009 Use separate BibInfo for child
This is used when the file is compiled standalone

Fixes: #11083
(cherry picked from commit 1c623ffe8f2e34e38248709935ca5fa475d2e05a)
2018-04-15 00:18:57 -04:00
Richard Heck
fe24616060 Attempt to fix bug 9158 using updateBuffer.
Along the lines suggested by JMarc, we now collect the list of bibfiles
in use in the updateBuffer routines. This actually does simplify the code
quite a bit. See the discussion there for reasons to go this way.

(cherry picked from commit 8b9d1b860187338e06e10261b391886d50423239)
2018-04-15 00:14:32 -04:00
Juergen Spitzmueller
e4a3527fa9 Consider sub-subfiles on log file parsing.
These are listed as (subfile.ext (sub-subfile.ext))

Fixes: #11112
(cherry picked from commit 1e1800a21aac99bb6e6044e1c1e11e3f88d198dd)
2018-04-15 00:04:40 -04:00
Richard Heck
bcb002039b Merge branch '2.3.2-staging' into 2.3.x 2018-04-14 23:52:31 -04:00
Richard Heck
156cfe5951 Fix bugs #10897 and #10912. 2018-04-14 23:38:32 -04:00
Scott Kostyshak
c19fd610b9 Do not show master's errors if compiling child
If a master document is compiled and has errors, and then a child is
compiled without error, the errors from the master compilation were
shown.

The setup of the relevant code is the following:

  processingThreadFinished() calls errors().  errors() makes the
  assumption that if it is called, there must have been an error
  somewhere.

The logic of the setup is the following:

  processingThreadFinished() knows whether there was an error on
  the most recent preview/export, although it doesn't know whether
  the error is from master or child (i.e. does not know whether the
  user was compiling the child, or whether master-buffer-view was
  called).  Inside error(), if there is no error in the child, it is
  assumed the error is from master.

For the above logic to work, errors() should only be called if there
was an error.

This commit fixes #11106 and preserves the fix to #7330.

(cherry picked from commit 8d2b121ef506804fe2c894a61cd4232e87254847)
2018-04-14 23:25:19 -04:00
Jean-Marc Lasgouttes
86c003001d Fix invalid octal number
(cherry picked from commit 6cffd468e0b6421643007dc9086bc499c6d7cdad)
2018-04-14 23:23:10 -04:00
Juergen Spitzmueller
10335b93b4 Support new hunspell C++ ABI if LyX is built against hunspell >= 1.5
Fixes: #10547
2018-04-14 10:35:59 +02:00
Joel A. Kulesza
d25762da35 Changed Settings->Local Layout to FixedWidth & Nowrap
This change is made in response to Ticket 10992.

The change made is consistent with those captured in Ticket 9966.

(cherry picked from commit 869e2fe9b9e5a6966665e1d82da0555ed03a2b5e)
2018-04-09 21:30:40 -04:00
Juergen Spitzmueller
1eceb1c574 Load hyperref with a suitable driver
This is mandatory for some features (such as bookmarks,pdfusetitle)
to work, and only a handful of drivers can be auto-detected by hyperref.

Fixes: #6418
(cherry picked from commit 33bfbf89c4267ed8e37fad1681adce4cd5dfddf4)
2018-04-09 15:17:11 +02:00
Juergen Spitzmueller
9df09d8cba Set correct path to (biblatex) bibliography databases that are entered relative to child documents.
Fixes: #11105
(cherry picked from commit 2ecc3b09c6a9c663bec87356b2ec512f37676c5c)
2018-04-08 13:25:17 +02:00