Commit Graph

25136 Commits

Author SHA1 Message Date
Juergen Spitzmueller
aad8804549 Backport qSort deprecation fixes 2021-03-13 11:46:49 +01:00
Juergen Spitzmueller
935e51837d Yet another deprecation fix 2021-03-13 11:46:15 +01:00
Juergen Spitzmueller
da0d01cc10 Backport deprecation fix 2021-03-13 11:29:54 +01:00
Juergen Spitzmueller
472f4f0a9d Backport QFontMetrics::width deprecation fix 2021-03-13 11:06:11 +01:00
Juergen Spitzmueller
7922b761f5 Deprecation fix backport 2021-03-13 10:48:10 +01:00
Juergen Spitzmueller
d53e74d11b Next deprecation fix backport 2021-03-13 10:47:53 +01:00
Juergen Spitzmueller
007a49a132 Backport another straightforward deprecation fix 2021-03-13 10:46:59 +01:00
Juergen Spitzmueller
67b829bf09 Backport one more deprecation fix 2021-03-13 10:16:40 +01:00
Juergen Spitzmueller
548c165ae0 Fix deprecation warning 2021-03-13 09:17:21 +01:00
Jean-Marc Lasgouttes
2089fa7fa0 Avoid pointless 'undefined flex inset' errors
When switching class, it does not make sense to flag flex insets that
are undefined if they were already undefined before.

Part of bug #12163.

(cherry picked from commit 009efa195b)
2021-03-06 19:39:29 +01:00
Juergen Spitzmueller
8c00556d57 Fix wrap-around of spellchecker (#10383) 2021-03-06 08:27:30 +01:00
Juergen Spitzmueller
74ebb1de7f Remove redundant call (amend 2b7fae04f3)
(cherry picked from commit 23fc1b270d)
2021-03-06 08:08:56 +01:00
Juergen Spitzmueller
a44d0d2652 Fix limiting of absurdly large input to thesaurus (#10528)
(cherry picked from commit 2b7fae04f3)
2021-03-06 08:03:44 +01:00
Jean-Marc Lasgouttes
8b6460e4f2 Improve HiDpi handling
Add code stolen from QBitTorrent and Qt Creator that properly enables
HighDpi handling.

The rules are:

1/ nothing needs to be done for macOS and Qt >= 6

2/ HighDpi support is set by default starting with Qt 5.6.

3/ Support for fractional scaling is added for Qt >= 5.14.

Hopefully fixes bug #12060.

(cherry picked from commit d7a4f47e7d)
(cherry picked from commit f92f2f95ff)
2021-03-04 10:21:17 +01:00
Jean-Marc Lasgouttes
007a192fae Add Qt platform name in About dialog
(cherry picked from commit 234886f6eb)
2021-03-02 08:30:45 +01:00
Jean-Marc Lasgouttes
cebdac4a6f Remove assertion that is not necessary.
It may happen that there are errors when doing undo, crashing does not
help in this case.

Fixes bug #12163.

(cherry picked from commit 3e3ad2937c)
2021-03-01 12:01:15 +01:00
Enrico Forestieri
9a831200a4 Fix bug #11007
The math color inset inherits the mode of the containing inset.
This mode is inferred by the kind of font in effect. Setting the
right mode allows to insert spaces where these should be allowed.
Another small glitch was that the selection was always parsed in
math mode, so that any space was swallowed, even if the inset would
allow them.
2021-03-01 10:38:02 +01:00
Enrico Forestieri
51ec16b6c7 Fix bug #3751
We lack the necessary font (cmb10) for drawing bold uppercase greek
letters. It would be overkill adding it for this sole purpose, so
adopt the same poor man's bold strategy used with \boldsymbol.
2021-02-28 00:33:43 +01:00
Enrico Forestieri
999831043e Fix bug #3294 2021-02-27 23:31:25 +01:00
Enrico Forestieri
c1ef23e54e Fix bug #12148
(cherry picked from commit 7114de5175)
2021-02-19 22:41:18 +01:00
Jean-Marc Lasgouttes
2079dc1b16 DEPM: do not fix cursor pit if it was in a different cell
This bug has been here forever.

Fixes bug #12117.

(cherry-picked from 939d25561d)
2021-02-11 17:01:09 +01:00
Enrico Forestieri
7dc7315e5f Disable direct insertion of multiple spaces in mathed text
Fixes #1311

(cherry picked from commit 8202e4e571)
2021-02-05 22:14:12 +01:00
Enrico Forestieri
12f67ef154 Allow pasting references to mathed
A reference can be directly inserted into mathed but cannot be pasted
because the pasted material is returned in plain text format. This patch
allows getting a string from the cut stack in a suitable format allowing
the math parser to actually create an InsetRef.

Fixes #11539

(cherry picked from commit 22ee249c3e)
2021-02-01 16:49:21 +01:00
Enrico Forestieri
706db1ff2e Change backspace behavior in align type equations
When hitting backspace in the first position of a cell in mathed,
if the cell is part of an array, the whole array is dissolved
and the sole cell content pasted in the containing environment.

But if the cell is part of an eqnarray or align math hull type, the
cursor is simply (and unexpectedly) taken out of the whole equation,
which is left unchanged.

This patch makes backspace equivalent to the cursor left key in those
cases, while leaving the behavior unchanged in all other ones.

Fixes #11678

(cherry picked from commit c79ec4114e)
2021-02-01 16:35:52 +01:00
Juergen Spitzmueller
f05f70f05b Do not output \maketitle in table cells if the table is in the title
(cherry picked from commit 6d05e78168)
2021-01-30 09:27:30 +01:00
Jean-Marc Lasgouttes
9886bf96c1 Move handling of LFUN_COPY to BufferView
It turns out that the code is the same in texted ans mathed and that
whatever is done in InsetTabular is not useful.

This means that we do not need to deal Text::dispatch idiosyncrasies
(in particular forcing the cursor to be visible).

Fix bug #11225.

(cherry picked from commit 9e1db65932)
2021-01-11 16:31:05 +01:00
Juergen Spitzmueller
17e4f325f3 Re-enable input of non-LyX files (e.g., tex, pgf) (#12056)
This amends [a385b7dc2b58/lyxgit]

(cherry picked from commit 2af8e661a3)
2020-12-28 18:52:37 +01:00
Jean-Marc Lasgouttes
f4314b6461 Replace QFontMetrics::width() by horizontalAdvance() in Qt>=5.11
The method horizontalAdvance() replaces width() starting with Qt 5.11.
To handle this, all direct calls to QFontMetrics::width() are replaced
by calls to GuiFontMetrics::width(), and the code for
GuiFontMetrics::width(QChar) uses horizontalAdvance on newer Qt
versions.

(cherry picked from commit 21422dd652)
2020-12-17 11:32:44 +01:00
Jean-Marc Lasgouttes
20c8959790 Take right margin into account for text inset width
This is particularly important for contents in RtL languages, where
the right margin may contain the paragraph indentation, or
itemize/enumeration symbols.

Fixes bug #12030.

(cherry picked from commit 875b1def4f)
2020-12-17 11:23:27 +01:00
Jean-Marc Lasgouttes
326eab3408 Take label width into account for SubLabel insets
The drawing of the label should not go further than inset width.

Fixes bug #12046.

(cherry picked from commit 3950f05497)
2020-12-17 10:29:52 +01:00
Juergen Spitzmueller
43bc156a0b Do not close spellchecker after "Replace All" (#11310)
Wrong use of wrapAround here
2020-12-15 15:55:22 +01:00
Richard Kimberly Heck
6f433530c5 Fix bug #12033.
Silly mistake: Only considered the parent, not grandparents, etc.

(cherry picked from commit 742348262e)
2020-12-05 20:36:25 -05:00
Pavel Sanda
d3d86bd474 Improve VCS error message when RCS is not installed.
User's report that it takes time to realize what package
is 'ci' part of, so we can give a hint for the initial
file registration.
2020-12-04 21:24:51 +01:00
Juergen Spitzmueller
d45e103dab Add empty line after last \bibitem in bibliography (#12041)
(cherry picked from commit 4a13a29042)
2020-12-03 16:02:02 +01:00
Jean-Marc Lasgouttes
d418b6f4c8 Store correctly the window position with Wayland
To do this, hard-coded test for xcb had to be replaced with a call to
platformName(). Since this method does not exist in Qt4, we emulate
it.

Note that Qt5 uses xcb bindings for X11 system, while Qt4 relies on
older X11 bindings. We return platorm == "qt4x11" in this case.

Fixes bug #11746.

(cherry picked from commit 222a317dd2)
2020-11-30 13:32:49 -05:00
Pavel Sanda
1ae510b628 Erase white frame in fullscreen mode.
Backport 4eb791ff18.
2020-11-22 11:54:58 +01:00
Enrico Forestieri
21b81bfd1e Fix on-screen display of special math fonts
Make sure that the on-screen representation of the special math fonts
mathbb, mathds, mathfrak, mathcal, and mathscr matches the latex output.
2020-10-30 15:53:35 +01:00
Enrico Forestieri
b561dfaf2e Fix clipping for vector formats and when exporting from command line
This amends ea81faa9 that only took into account the postscript format
and did not consider that without GUI an image is not available even if
if it is actually cached. In this case we load the image for obtaining
its dimensions in order to correct the clipping bounding box.
2020-09-25 21:25:40 +02:00
Jean-Marc Lasgouttes
0e4d7db2be Fixup b7f6b979: make caret geometry update lazy
Instead of working around crashes in update of caret geometry, only
request it as needed. The actual computation will take place just
before painting the caret.

It might be that this is overkill and that caret geometry should be
updated unconditionally. One would have to to some timing while idle to
ascertain that.

Fixes bug #11912.

(cherry picked from commit c1f8c6c26d)
2020-09-18 09:27:55 +02:00
Jean-Marc Lasgouttes
64e5a8c016 Introduce BufferView::caretInView()
It is not a good idea to call caretPosAndHeight when the caret is in a
paragraph that is not in cached metrics. This can happen when not
using "cursor follows scrollbar".

This commit refactor things a bit so that testing is done in
BufferView.

(cherry picked from commit e6b54ea4d2)
2020-09-18 09:26:28 +02:00
Yuriy Skalko
195f307a39 Show custom text styles in status bar
Fixes bug #11951.

(cherry picked from commit b0db575dc1)
2020-09-16 18:43:23 +02:00
Juergen Spitzmueller
316a6470ad Localize format prettyName in some more places (#11954)
(cherry picked from commit 6f476b960e)
2020-09-11 09:11:00 +02:00
Eugene Chornyi
0638574dc9 Workaround Qtbug where QAbstractScrollArea::mouseMoveEvent(...)
is called falsely when quickly double tapping on a touchpad of a notebook running Windows (only for specific Qt Versions)
2020-09-10 21:43:37 +02:00
Enrico Forestieri
34f33b27a3 Try to use the right width for math symbols
The rules for typesetting math differ from the rules for typesetting
text. For example, two italic 'f' chars have to be typeset more closely
than two 'o' chars in text mode, but not in math mode. Qt provides a
method that returns the distance appropriate for drawing a subsequent
character in text mode, but nothing for math mode. Typically, the
distance appropriate for drawing the next character in math mode is
the actual width span by the character, corrected by the rules of
an appendix in the TeXbook. Recently, those rules are followed more
closely in LyX but not exactly, and we have to find a way to adapt to them.
Some symbols may need more spacing around them than the width they span.
So, we use the distance suggested by Qt, unless it is less than the
width of the rectangle bounding the symbol. Before Qt 5.11 the used method
was QFontMetrics::width(), but since then it has been declared obsolete
in favor of QFontMetrics::horizontalAdvance(), whose name conveys better
its meaning.

No status entry is needed as this amends 79998fdc.
2020-09-09 01:25:12 +02:00
Enrico Forestieri
82b3a26a32 Adjust debug output for fonts
This restores the debug output as it was intended before the
introduction of the LYXERR macro that was unconditionally outputing
an end of line. This is how this output was appearing until lyx 1.5:

Looking for font family cmr10 ... got: cmr10
 got it normal!

instead of as it was since lyx 1.6 and until now:

Looking for font family cmr10 ...
got: cmr10
 got it
normal!
2020-09-03 20:53:41 +02:00
Enrico Forestieri
1f1a8f6007 Personalize fonts
When the fonts distributed with texlive with same family name
as ours are also managed by fontconfig, Qt is not able to
discriminate ours by the style only. In order to be sure Qt
will load our fonts, we change the foundry name from 'PfEd'
to 'LyEd' and augment the font family name with this foundry
name. This only works on *nix, because adding a foundry name
seemingly breaks things on Windows. However, this is a *nix
only problem, seemingly.
2020-09-03 20:42:05 +02:00
Richard Kimberly Heck
14e23c97ad Accelerators
(cherry picked from commit 5606e934ac)
2020-09-03 07:39:56 +02:00
Richard Kimberly Heck
ec5b4be73e Localization
(cherry picked from commit 1ba785f2c6)
2020-09-01 01:44:39 -04:00
Richard Kimberly Heck
7f69fb3b3c Fix problem with edit button.
The previous implementation relied upon the cursor being immediately
in front of the inset. A bad idea.

(cherry picked from commit cf7e32ee8f)
2020-08-31 11:53:02 -04:00
Richard Kimberly Heck
3a7560dcb0 Fix bug 4475.
Add ability to create child from the include dialog.

(cherry picked from commit a385b7dc2b)
2020-08-31 11:48:13 -04:00