Commit Graph

25109 Commits

Author SHA1 Message Date
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
Yuriy Skalko
eb132b3b95 Prevent permanent disabling of comboboxes in Vertical/Horizontal space dialogs 2020-08-29 11:24:19 +02:00
Juergen Spitzmueller
65c8e70588 Amend 89d9334e03
This needs to be default layout, not plain layout

(cherry picked from commit ea122aa8fa)
2020-08-15 09:19:17 +02:00
Juergen Spitzmueller
028593b979 Maintain plain layout for separating paragraphs when switching layouts (#11936)
(cherry picked from commit 89d9334e03)
2020-08-15 09:17:19 +02:00
Yuriy Skalko
e3789263ef Disable editing of math package names in Document Settings
(cherry picked from commit e1dd91e10e)
2020-08-15 07:50:44 +02:00
Juergen Spitzmueller
8436073582 Consider nesting when checking whether an inset is in a title
Amends e2a29fe556

No status entry needed.
2020-08-10 08:54:56 +02:00
Daniel Ramoeller
e0840677e3 Fix for bug #11926
Change comobox signal to user interaction only to avoid problems with "Apply changes immediately" aka "Immediate Apply". (See https://doc.qt.io/qt-5/qcombobox.html#currentIndexChanged and https://doc.qt.io/qt-5/qcombobox.html#activated.)

(cherry picked from commit d3a04c089b)
2020-08-09 13:44:27 -04:00
Enrico Forestieri
a85bd34348 Correctly compute metrics for single-char non-math fonts
No status entry needed, as this amends 79998fdc.
2020-08-06 19:10:23 +02:00
Juergen Spitzmueller
0994a9612d Revert [9370135c3e/lyxgit] and fix #8499 properly
Fixes #11920

(cherry picked from commit 7250aad280)
2020-08-06 16:58:46 +02:00
Juergen Spitzmueller
777bf805e2 Revert "Fix #11827"
Not ready yet.

This reverts commit 3a544072a5.
2020-07-31 09:17:34 +02:00
Daniel Ramoeller
3a544072a5 Fix #11827
Keep spacing of math intact.

(cherry picked from commit b521d36bfb)
2020-07-31 08:29:58 +02:00
Enrico Forestieri
79998fdc62 Fix placement of limits with integral signs
Since be836909c5 the positioning of super- and subscripts
for symbol fonts has been broken because the metrics of the
font of the environment (rather than those of the symbol itself)
were used.
2020-07-24 19:09:17 +02:00
Jean-Marc Lasgouttes
67c0ca678b Improve metrics for \limits in display mode
(cherry picked from commit 8d54457dbf)
2020-07-18 22:18:25 +02:00
Jean-Marc Lasgouttes
d968717940 Fix paragraph position in TextMetrics::singleParUpdate()
When running redoParagraph, it may happen that the ascent of the first
row changes. Since the ParagraphMetrics position is actually the
baseline of its first row, it may be necessary to update it.

Fixes bug #11601.

(cherry picked from commit 2e8c9cfc83)
2020-07-14 19:48:55 +02:00
Jean-Marc Lasgouttes
dc5eda84b8 Set desktop name for Wayland
Fixes bug 11847.

(cherry picked from commit 2a80b0ac01)
2020-07-12 15:44:38 +02:00
Jean-Marc Lasgouttes
4804f63740 Use Common Number separator instead of European to detect numbers
This is a fixup to commit 611df441. It seems that the wrong unicode
property was selected. It could be that both classes should be used.

Fixes bug #11900.

(cherry picked from commit f758894c2f)
2020-07-11 21:06:35 +02:00
Juergen Spitzmueller
e2a29fe556 Prevent outputting \maketitle within an inset embedded in title.
Amends [e4ef8ddc0f8202/lyxgit]

(cherry picked from commit 0bddf448ef)
2020-07-04 11:01:22 +02:00
Juergen Spitzmueller
b86b80d74e Properly fix handling of title layouts within insets (#11787)
(cherry picked from commit e4ef8ddc0f)
2020-07-04 09:44:31 +02:00
Juergen Spitzmueller
83d76a66f6 Fix pasting of math grid with more rows in source than target (#11897) 2020-06-30 09:06:40 +02:00
Juergen Spitzmueller
b0c8dc54b4 Correctly initialize font (language) for multiple-cell paste (#11898)
(cherry picked from commit 2cee820f71)
2020-06-30 08:59:03 +02:00
Juergen Spitzmueller
41ebc1f9ae Do not paste \t when pasting multiple table columns outside table (#4449)
(cherry picked from commit 6dd990560e)
2020-06-30 08:57:07 +02:00
Juergen Spitzmueller
bccafdac19 Fix swapped logic (#11889)
(cherry picked from commit bde95c1876)
2020-06-20 09:07:55 +02:00
Richard Kimberly Heck
2e7e9af991 Focus keyword filed in Thesaurus dialog
(cherry picked from commit ef65414d25)
2020-06-18 10:51:59 -04:00
Enrico Forestieri
10e1f90883 Add support for the doublestroke package
This commit adds the mathed command \mathds that selects a
font more appropriate than \mathbb for typesetting the
mathematical symbols for the natural (N), whole numbers (Z),
rational numbers (Q), real numbers (R), complex numbers (C),
and some others.

As in the \mathbb case, only capital letters are supported,
but in addition one can also typeset a symbol often used for
representing the indicator function (\mathds{1}) and the
letters a, h, k.

Fixes bug #11887.
2020-06-12 23:58:32 +02:00
Juergen Spitzmueller
e20389ed6b UI improvement to math matrix dialog, suggested by magistere (#11888) 2020-06-11 17:29:37 +02:00
Jean-Marc Lasgouttes
f01c23bd5a Fixup d207e85c: paint sublabel with the correct background color
The above mentionned patch did paint the background of the sublabel to
avoid "bold-like" effect. However the correct backgound color is the
row's one, not the inset's one.

To fix this, extend MetricsInfo::backgroundColor to work when no inset
is specified. The code is also simplified as in master.

(cherry picked from commit 74540c9896)
(cherry picked from commit a71b96ac42)
2020-06-07 14:25:48 +02:00
Richard Kimberly Heck
774bbbe1b6 Fix bug #11405.
We don't actually prevent hidden buffers from being dirty, so we need
to save them if they are.

(cherry picked from commit b2517d60b8)
2020-06-05 15:48:44 -04:00
Richard Kimberly Heck
a355cd82c2 Fix bug #10316.
By sending the request through the usual dispatch machinery, we
make sure the cursor is valid when we're done.

(cherry picked from commit e5b6be0712)
2020-06-05 15:45:07 -04:00