Before, we would continually set the selection to the empty string,
to maintain ownership. This causes problems with clipboard managers
GPaste and CopyQ. Further, in theory this should have better
performance since checking ownership should be faster than setting.
A disadvantage of this change is that the timestamp of the selection
will be old at this point in the code. However, when the selection
is requested, we put the selection contents at that point so the
selection timestamp should be accurate then. Further, the selection
contents are not accurate at this point in the code (they are just
the empty string), so it is not clear whether having an accurate
timestamp is beneficial.
Fixes#11715.
(cherry picked from commit af4ee1a487c4d899b71df02ba57c2f024fea6786)
(cherry picked from commit 23abb5aaa36af07aadfa5e565869104778ba0d6d)
Make sure we are actually at the end of the document before issuing
\maketitle because we are at the end of the document.
(cherry picked from commit 7af6575cf6cd764b8b567b358907ac9a7a8e322b)
There are two techniques that I know of for forcing the direction of a
string, regardlessly of whether its contents is naturally LtR, RtL or
undecided.
1/ The unicode LTR/LTR override characters. This is supposed to be the
clean way, however, it does not seem to work with Qt 5.14 (see
#11691).
2/ The undocumented QTextLayout::setFlags method. This is used
internally and allows to pass the (undocumented) flags
Qt::TextForceRightToLeft and Qt::TextForceLeftToRight. This was
used until we had issues with Qt 5.11 (see #11284).
In order to get the best of both worlds, this patch allows to enable
those two methods separately, and actually enables both at the same
time by default!
Fixes bug #11691.
(cherry picked from commit 4d6041a7b68de5856b657cfd3b735596b3d7e0e0)
After commit 6a936d63, the helpful debug message tries to display
non-existing elements and crashes the program :(
Fix by radical simplification of the message.
Part of bug #11777.
(cherry picked from commit b5d6caac4149cc72cd5a734ffc8e9da1382bc9ee)
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.
Fixes bug #11786.
(cherry picked from commit eb92f74d1f7ae63112b9439058d746f7ff93e8f4)
We need to use the FileName methods when moving or removing a file,
so that refresh() gets called.
No status entry since this will be in 2.3.4.3.
(cherry picked from commit d93091389896cddcd83de83dfd4ee8a9b4e9c7f1)
Move cursor at beginning of selection after deletion. Else backspace
operation gets stuck in a loop (tries to remove the selection again
and again).
This also fixes backspace deletion of insets with confirmDeletion() == true.
Fixes#11630
(cherry picked from commit adfd38e4efd1180df164fa2c75cf15210f366e94)
Since there is a margin above and below the inset, there is no problem
for putting it higher.
Fixes bug #11684.
(cherry picked from commit bf7f4d716cf0ef148495d7ecd616a1aaea57a13d)
If the file of an InsetInclude does not exist, loadIfNeeded will try
again and again to look for it. This is very bad for files with many
include insets, especially on windows.
Fixes bug #11656.
(cherry picked from commit aeed6fb8fa35c045697fe6950c6109be8d30884c)
This is better than making sure that the inset has exactly one cell.
In the future, inset-dissolve could be extended to dissolve all the
cells contents in the enclosing text.
Note that this check does not appear in mathed, and using dissolve in
e.g. fraction inset may lead to data loss (only current cell contents
is preserved).
(cherry picked from commit 5ac3b880075794130492c2fe63c35104b207ad73)
This patch is not ready yet. Moreover, change the assertion in
InsetMathGrid::colAlign to a simple test.
As a consequence, math split inset might show a bad alignment in some
situations.
This reverts commit d3fd91566249b722dbc553b921283f2507ce5e17.
Like with macOS, the Wayland compositor seems to require a
backingstore when doing partial updates like we do.
This extends the mechanism that has been introduced for macOS. This
has to be done at run time, not compile time.
Fixes bug #11692.
(cherry picked from commit 575761c665229e70d9ce9b2bd941d01a1873b9f1)