Prepend dir containing created dtl executables to PATH
This should work on Windows, but needs test.
The changes (namely the installation directory for the dtl executables)
for automake are not yet done. (JMarc?)
It may fix bug #11325 if cmake configured with '-DLYX_EXTERNAL_DTL=OFF'
Avoid bleeding of inset background outside of inset
As a consequence of fix e64ea357 to ticket #10797, we draw a bit too
much of the inset background outside of the inset (visible for insets
with colored background). #10797 is a ticket that triggers when the
cursor has a width larger than 1.
This patch limits the problems in two respects
* nothing is done on the left, since the cursor width only expands on
the right.
* on the right, the extra width is limited to cursor width.
Scott Kostyshak [Fri, 20 Mar 2020 13:39:51 +0000 (09:39 -0400)]
Change a couple instances of QFontMetrics::width()
Use QFontMetrics::boundingRect() instead. QFontMetrics::width() does
not actually calculate the width of the bounding box and is mostly
useful for knowing where to draw text after a string, taking into
account bearings. Indeed, it has been renamed to
QFontMetrics::horizontalAdvance().
For the code touched in this commit, we want to center a string.
Either method would likely be fine, but it is more easy to
understand exactly what QFontMetrics::boundingRect() does.
This commit does change functionality, although it should not be
noticeable.
Scott Kostyshak [Thu, 19 Mar 2020 22:22:16 +0000 (18:22 -0400)]
cat.py: fix Python deprecation warning
This commit fixes the following warning:
DeprecationWarning: 'U' mode is deprecated
Removing 'U' has no effect with Python 3 [1]:
There is an additional mode character permitted, 'U', which no
longer has any effect, and is considered deprecated. It previously
enabled universal newlines in text mode, which became the default
behaviour in Python 3.0.
Scott Kostyshak [Fri, 20 Mar 2020 13:12:47 +0000 (09:12 -0400)]
Remove redundant font loader code
Setting the family to "family" is already attempted above. A
different case was adapted to be this duplicate case at d4ff3a29,
but it should have just been removed.
Scott Kostyshak [Thu, 19 Mar 2020 16:20:16 +0000 (12:20 -0400)]
Fix Qt dep warn and remove XLFD font workaround
This commit fixes a few warnings from Qt 5.14 regarding
QFont::setRawName() and QFont::rawName() like the following one:
error: ‘void QFont::setRawName(const QString&)’ is deprecated [-Werror=deprecated-declarations]
These methods were deprecated in Qt 5.3. [1]
This commit removes code from 2002 (539ce478) that worked around a
problem in Qt's handling of XLFD fonts that no longer seems relevant
since XLFD is no longer supported in Qt 5 [2]. Even if the problem
were relevant, setRawName() would not fix anything since it is now
an empty method. [3]
I tested that compilation with Qt 4.8.7 works without error.
Scott Kostyshak [Thu, 19 Mar 2020 14:16:19 +0000 (10:16 -0400)]
Fix Qt deprecation warns for setTextColor()
This commit fixes the following warning from Qt 5.14:
error: ‘void QTreeWidgetItem::setTextColor(int, const QColor&)’ is deprecated: Use QTreeWidgetItem::setForeground() instead [-Werror=deprecated-declarations]
setForeground was introduced in Qt 4.2 [1].
We have a couple of commented out uses of a setTextColor() method in
GuiDocument.cpp, but the QTextEdit::setTextColor() is not deprecated so no
change is needed.
Scott Kostyshak [Thu, 19 Mar 2020 01:00:09 +0000 (21:00 -0400)]
Fix Qt deprecation warns for setAutoCompletion()
This commit fixes a few warnings from Qt 5.14 like the following
one:
error: ‘void QComboBox::setAutoCompletion(bool)’ is deprecated: Use setCompleter() instead. [-Werror=deprecated-declarations]
We only generated setAutoCompletion() from setting the property in
the .ui files. There does not seem to be a .ui file property that
generates setCompleter(). However, the default in both Qt5 [1] and
Qt4 [2] is to enable case-insensitive autocompletion, which seems to
be the same type of autocompletion as when we were relying on
setAutoCompletion(true). Thus, we can remove the properties that set
autocomplete to true. There is only one file, SearchUi.ui, where we
were turning off the autocompletion; we now do so using
setCompleter(0) in GuiSearch::GuiSearch().
Track whether title has been issued via OutputParams.
When branches are used in the title, we may need to track whether
we've issued the title across branch insets. So we put the relevant
variables into OutputParams.
Scott Kostyshak [Mon, 16 Mar 2020 00:32:16 +0000 (20:32 -0400)]
Fix Qt deprecation warns for QTime
This commit fixes a couple of warnings from Qt 5.14 like the
following one:
error: ‘int QTime::restart()’ is deprecated: Use QElapsedTimer instead [-Werror=deprecated-declarations]
This commit changes two uses of QTime to QElapsedTimer, one used
only when the "files" debug flag is set, and the other for timing
whether a script (e.g., knitr) takes longer than a certain amount of
time to run.
QElapsedTimer is superior for these two use cases in that it uses a
monotonic clock if possible, and is thus more robust to certain
changes (e.g., daylight savings changes) [1]. Similarly, the commit
in Qt Base that makes this deprecation [2] mentions the following in
the commit message:
QElapsedTimer does the job better and without the DST kludges.
Note that QElapsedTimer class was introduced in Qt 4.7, so no
conditioning on Qt version is necessary.
Not all methods of QTime are deprecated and we still use some of
the non-deprecated methods in our code (e.g., to get the current
wall clock time in GuiProgress::currentTime()).
Fix Python 3 issues when generating preview snippets
The log file generated by latex can contain strings encoded in
whatever supported encoding. Instead of guessing the encoding,
it is better to open it in binary mode and then performing the
necessary comparisons as "bytes". In order to do this, the
strings are encoded in utf8, so that, for example, b"pythön" is
encoded as "pyth\xc3\xb6n" (7 bytes). Of course, this means that
we can only successfully perform comparisons with ascii strings.
However, this is what we actually do, as we only search for
ascii strings in the log file.