We have to take into account that Buffer::updateBuffer can modify the document.
Fix bug #11292.
(cherry picked from commit 57feb0fed0c078903900aaea069c49207c8cb9ac)
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 4c9df62c6cb8168d8d129f2c5f6a16ba7e895f63)
Essentially, all characters are allowed in single-char macro names.
Part of #11158.
(cherry picked from commit 95bc273a597401f3ca9a43ed5d2d5db5626ae819)
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 1bed76e2a1057ab2f3f33f01ec23956653265d4a)
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.htmlFixes: #11146
(cherry picked from commit 8bd65041f2e22bf4c37219c7008a7e4e2bda2799)
(cherry picked from commit 5064c09e9f57a7ffb6082a7f8ec06c03ee9a0cef)
Update the Advanced F&R document class when switching buffers.
(cherry picked from commit 944b0ae55dd89e48bf8845c6d5e08a73bd1c4917)
The nice hand-made solution for moving tabs has made its time. Use Qt's feature
instead from now on.
(cherry picked from commit 19794963990f13aaae2cd575b2f445585ec82910)
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 2dc84b69d5a040e6343e21606f1c16a7c0957383)
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 7db99672e6838535d837096ab2344e7ecedb47e3)
Add the "hyperref-driver=dvips" option to the extra flags of the
latex->dvi converter so that the breakurl package is automatically
loaded when needed.
(cherry picked from commit f5e6db717167ecbe9e5934c937467bf0fca90ba1)
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 c7bdb3b342823d3144f3c73e125e274aa40c77e2)
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 38f09c177b7da08f852e13c9a50fd2e8098b7491)
(cherry picked from commit 2617a4dd501c64048573e2d9c4e6fb9f423a1067)
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 380f34a11485c41d812695dc4279b24a5ed5cc07)
On Windows, start viewers in detached processes in order to avoid
a crash of the QProcess destructor when their thread terminates.
The opening of a console window is avoided by redirecting to the
null device all standard I/O channels.
This can happen when the inset that contains the cursor is outside of
the screen.
THis is only a workaround. The real solution would be a
processUpdateFlags(FitCursor) call, but the code is not ready for that
yet.
Fixes bug #11296.
(cherry picked from commit 17576fb83b5a560fb8a1c59ca7051dcb2b165c05)
We do not know what to do with horizontal scrolling events, so we ignore them.
Note that the code has to be different between Qt4 and Qt5.
Fixes bug #11257.
(cherry picked from commit 2cfbc5ecf6e26da0ca3f61372e5373d1ef4f7ab7)