Commit Graph

8743 Commits

Author SHA1 Message Date
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
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
Juergen Spitzmueller
89d42a68f5 Disable bookmarksopenlevel SL when bookmarksopen is false
Fixes #11289

(cherry picked from commit f2243a3bc7)
2020-05-18 09:15:56 +02:00
Richard Kimberly Heck
1741eb9c2c Fix bug #11456.
Add cancel button and take no action if we're canceled.

(cherry picked from commit 2de99c5dd9)
2020-05-18 00:30:13 -04:00
Scott Kostyshak
7a158055fe Only set dummy X11 selection if we do not own it
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 af4ee1a487)
(cherry picked from commit 23abb5aaa3)
2020-05-06 08:29:00 -04:00
Jean-Marc Lasgouttes
e47834104a Adopt a 'belt and braces' approach to bidi forcing
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 4d6041a7b6)
2020-04-29 22:55:25 +02:00
Jean-Marc Lasgouttes
b7f6b979d0 Do not compute caret geometry when we are not ready to do so.
This avoid crashes with invalid cache.

Fixes bug #11763.
2020-04-09 12:51:38 +02:00
Richard Kimberly Heck
df2abff913 Remove newlines from shortcut LFUNs.
(cherry picked from commit c5c1683024)
2020-03-28 15:26:40 -04:00
Richard Kimberly Heck
7c0cbe68bc Fix bug #11748.
Track the last chosen citation style when we clear the entries.

(cherry picked from commit 64f7da961a)
2020-03-17 02:01:37 -04:00
Juergen Spitzmueller
48cb1aa3b7 Fix UI quirk in IncludeOnly settings
Fixes #11564

(cherry picked from commit b568a49593)
2020-03-13 08:45:45 +01:00
Juergen Spitzmueller
6617d492e8 Properly resize columns of child document table widget 2020-02-08 09:27:21 +01:00
Jean-Marc Lasgouttes
aaf96b3025 Use backing store also with wayland platform
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 575761c665)
2019-11-07 12:40:40 +01:00
Jean-Marc Lasgouttes
7c35081d0c Fix bad caret position with horizontal scrolling
Horizontal scrolling used to be taken into account when updating caret
geometry. This is wrong since it may have changed when time comes to
draw the caret. This leads to a situation where the first apparition
of the caret is at a wrong place.

Now the extra horizontal offset is used at drawing time.

Fixes bug #11603.

(cherry picked from commit bdf58b77e7)
2019-10-16 16:44:42 +02:00
Juergen Spitzmueller
f838b16a9b Allow to hide formats from menus
Fixes: #11657
(cherry picked from commit d76cef70a0)
2019-09-11 10:46:07 +02:00
Juergen Spitzmueller
2208f4f519 Fix right and left layout alignment (in workarea) with RTL
Fixes: #11606
(cherry picked from commit b6f0c1de3d)
2019-07-11 08:31:50 +02:00
Juergen Spitzmueller
6afe258453 Preserve star on citation style change via menu
Fixes: #11439
(cherry picked from commit 52fffee7f2)
2019-07-10 09:37:24 +02:00
Jean-Marc Lasgouttes
595c6d0a05 Fix bold-like characters when selecting bidi text
In painter, restrting paining regions does not really work when region is empty.

Fixes bug #11198.

(cherry picked from commit f9da28428a)
2019-04-10 14:19:18 +02:00
Juergen Spitzmueller
7986ac2f32 Fix left/right border UI when toggling formal
Fixes: #9835
(cherry picked from commit 00de6c4be7)
2019-04-01 18:48:07 +02:00
Pavel Sanda
0b24c0db58 backport forgotten accelerators 2019-03-23 07:56:21 +01:00
Jean-Marc Lasgouttes
e0879b1460 Cache the value of GuiFontMetrics::lbearing().
This seems to be necessary on windows, where math editing can get very
slow. Note that other methods like rbearing already use a cache.

In the future all these caches for single characters shall be unified.

(cherry picked from commit d3979e798c)
2019-03-21 18:43:37 +01:00
Jean-Marc Lasgouttes
ee8a336cbc Update screen as needed when preferences are changed
This commit removes the adhoc code in GuiPrefs and moves it to LyXRC,
so that it triggers in every preference change.

The code has also been updated to trigger on more variables, e.g.
font_*_foundry.

Note that the actual function that are called have not been changed
(addPreviews and LFUN_SCREEN_FONT_UPDATE), although there are doubts
that they behave as needed (see FIXMEs).

Fixes bug #11498.

(cherry picked from commit 954531f247)
2019-02-27 12:04:09 +01:00
Richard Kimberly Heck
90d56cbb4a Use combo box data rather than looking up info from InsetRef.
(cherry picked from commit c4fdab6993)
2019-01-06 17:47:58 -05:00
Richard Kimberly Heck
982be56270 Remove debugging code.
(cherry picked from commit b91e2b9998)
2019-01-06 13:00:45 -05:00
Richard Kimberly Heck
6ac69a78f8 Fix problem caused by re-ordering of menu at 5f6332bf4.
This broke the activation and de-activation of plural, capitalize,
etc. I guess that tells us how much those get used....

(cherry picked from commit 9b3f9cc687)
2019-01-06 12:57:09 -05:00
Jean-Marc Lasgouttes
e73c0d6387 Fix vertical offset of fonts like MinionPro
For some reason, adding a LTR/RTL Override unicode character before a
MinionPro string increases the ascent of the line.

This creates vertical offset issues when painting if the ascent used
as reference is the one of the font. Use the QTextLine ascent instead
for better results.

This is a followup to 1bed76e2a.

Fixes (reopened) ticket #11284.
Fixes ticket #10532.
Fixes ticket #10767.

(cherry picked from commit d8498d4785)
2019-01-05 14:40:56 +01:00
Jean-Marc Lasgouttes
1e2b503ac9 Remove premature (and bad) optimization
When blinking the caret, it looks like a cool idea to only update the
small rectangle containing the caret. Actually it is an awful idea, since
the paint event will paint some rows, and these rows will not be
properly painted outside of the small rectangle. Unfortunately, the
painter will skip those "painted" rows on next paint events.

This leads to painting errors that depend on the ordering of "real"
and "caret" paint events. This is the reason why they only appeared
with split screens.

Quote of the day: ``The real problem is that programmers have spent far
too much time worrying about efficiency in the wrong places and at the
wrong times; premature optimization is the root of all evil (or at
least most of it) in programming.''
-- Donald Knuth, The Art of Computer Programming.

Fixes bug #11354.

(cherry picked from commit fba9f5b9e8)
2019-01-03 13:52:40 +01:00
Jean-Marc Lasgouttes
b9116e8b81 Add override statements to please clang
Eventually, all overridden virtual methods should be marked properly.
Currently, clang only warns about those in classes that already use
override in at least one place (which was the case dor GuiApplication).

(cherry picked from commit c8f4b68423)
2019-01-03 10:22:11 +01:00
Juergen Spitzmueller
07ba1d04fb Fixup LocalLayout ui after [3847e0ef/lyxgit]
(cherry picked from commit a67c541d6b)
2018-12-29 18:02:39 +01:00
Pavel Sanda
78e256163a Backport 33284ee5c. 2018-12-29 17:55:55 +01:00
Richard Kimberly Heck
d06c3d7d9f Fix bug #6096.
We used to need a hack to set the size of the layout combo, but
the code was changed in Qt 4.5 or so. Hence the appearance of this
bug in 2009. We can now just remove this hack, and all seems to
work correctly.

(cherry picked from commit d7f4346a19)
2018-12-29 11:30:47 -05:00
Richard Kimberly Heck
6806ad98df Fix bug #9004.
I'm not entirely happy with this way of doing it. It seems messy.
But there is not another clear option right now.

(cherry picked from commit 4f0ccae399)
2018-12-29 11:28:51 -05:00
Richard Kimberly Heck
88034d3d89 Fix bug #11422.
We need to load the master document before applying the params, since
otherwise the TOC reset (and other things) happen before the master
has been loaded (and set as parent).

(cherry picked from commit ac3693c04f)
2018-12-29 00:25:58 -05:00
Juergen Spitzmueller
a68e5b7774 When cancelling saving of a children, cancel the whole process.
Fixes remainder of #11405

(cherry picked from commit 4d51206585)
2018-12-25 12:15:43 +01:00
Juergen Spitzmueller
6145cb798d Allow to restore default UI colors in prefs
Patch by Daniel Ramöller (racoon), with slight modifications of mine.

Fixes: #10062

(cherry picked from commit 81e4f8dfb6
with minor adaptations)
2018-12-24 11:51:38 +01:00
Juergen Spitzmueller
4480b72a9d GuiCharacter: Add menu to Restore button
and allow for resetting all widgets to "No Change" besides "Default"

(cherry picked from commit ac8aac5b36)
2018-12-22 08:52:55 +01:00
Juergen Spitzmueller
d41337179a Also check for dirty children on QUIT
Fixes rest of #11405

(cherry picked from commit 33344c6015)
2018-12-20 11:39:37 +01:00
Pavel Sanda
7b431ff0ba Backport 99bfe20120. 2018-12-19 21:47:06 +01:00
Juergen Spitzmueller
1dc6154708 GuiCharacter: Add "Reset" and "Restore Defaults" buttons
Addresses #11415
2018-12-18 08:32:48 +01:00
Juergen Spitzmueller
aea162cc8d Check for hidden dirty child on close
Fixes: #11405
(cherry picked from commit f87218bbb5)
2018-12-17 18:46:13 +01:00
Juergen Spitzmueller
262b0dcca4 GuiCharacter: INHERIT is OFF for the tristate buttons.
(cherry picked from commit 1b6ce0e827)
2018-12-17 10:44:10 +01:00
Juergen Spitzmueller
0dcf78a4ad GuiCharacter: Consider default settings for underline, strikeout and language
(cherry picked from commit bf2bf2eaed)
2018-12-17 10:42:00 +01:00
Juergen Spitzmueller
1a43a14ef5 Amend 9705b88251
(cherry picked from commit ab5c08b3f0)
2018-12-17 10:41:31 +01:00
Juergen Spitzmueller
a6e3c59b94 Use current_font, not real_current_font, in character dialog
The latter has the workarea font settings, which are not of interest
here.

Fixes: #11385
(cherry picked from commit 9705b88251)
2018-12-17 10:41:03 +01:00
Jean-Marc Lasgouttes
47adf27ac3 Fix undo after breaking a nested paragraph
We have to take into account that Buffer::updateBuffer can modify the document.

Fix bug #11292.

(cherry picked from commit 57feb0fed0)
2018-12-16 22:00:36 +01:00
Jean-Marc Lasgouttes
7950ace3d9 Fix selection of unmarked RtL text
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 1bed76e2a1)
2018-12-13 10:51:59 +01:00
Richard Kimberly Heck
c26c7602e4 Copy modules into the Advanced F&R pane as well.
(cherry picked from commit 5064c09e9f)

Update the Advanced F&R document class when switching buffers.

(cherry picked from commit 944b0ae55d)
2018-12-11 18:05:53 -05:00
Guillaume Munch
c1945d27df Make tab movement visible (#10733)
The nice hand-made solution for moving tabs has made its time. Use Qt's feature
instead from now on.

(cherry picked from commit 1979496399)
2018-12-11 17:59:27 -05:00