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
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.
Stephan Witt [Sun, 13 May 2018 18:15:35 +0000 (20:15 +0200)]
#11142 correct list of previous versions to check for user directory contents
LyX on Mac uses a user directory with version suffix. On change of the version suffix
the existence of the directories with previous versions is checked and the latest one
is used for a copy on first configure run.
For 2.3 the candidate list starts with 2.2 now as it should.
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.
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'.
Scott Kostyshak [Mon, 30 Apr 2018 00:06:16 +0000 (20:06 -0400)]
Do not use needauth when only exporting code
We have a couple of converters (using Sweave and knitr to "tangle"
an intermediate file) that are used for exporting code chunks
contained in a .lyx file. Since the code is just exported to a text
file and is not executed, needauth is not necessary.
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.
Scott Kostyshak [Sat, 28 Apr 2018 03:01:01 +0000 (23:01 -0400)]
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.
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.
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.
Richard Heck [Thu, 19 Apr 2018 03:03:24 +0000 (23:03 -0400)]
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.
Richard Heck [Wed, 18 Oct 2017 16:26:35 +0000 (12:26 -0400)]
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.
Richard Heck [Sun, 5 Nov 2017 01:23:25 +0000 (21:23 -0400)]
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.
Scott Kostyshak [Sat, 7 Apr 2018 21:11:33 +0000 (17:11 -0400)]
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.
* Describe the viewport/bb situation more accurate
* Use generic term "coordinates", since bb and viewport are flavor-specific
* Add some tooltips
* Increase the width of the options widget.
As of enchant 2.x, it is required to create a Broker instance instead
of relying on a static one provided by the library.
Add autoconf and cmake (courtesy of Kornel) tests that check whether
one can indeed instantiate a Broker object, and act on the result in a
new broker() helper function.
Uwe Stöhr [Thu, 2 Nov 2017 21:25:26 +0000 (22:25 +0100)]
GuiDocument.cpp: fix bug 10777
- the column width must be as wide as the column header text
- also center the radiobuttons in the table
- also use alternating colors for the table rows