24881 Commits

Author SHA1 Message Date
Scott Kostyshak
4ea6d81437 Fix assertion when checking if change in selection
The check for the iterator being in the same paragraph as the end of
selection was incorrect, because paragraphs in different cells could
have the same pit. We now additionally condition on having the same
idx.

This commit amends d1279875 (and thus 23de5e5e).

For discussion, see:

  https://www.mail-archive.com/search?l=mid&q=a5afd0c01a0eb9a84fd4d050d15eb23016d6f38a.camel%40lyx.org

Thanks to Jürgen.

(cherry picked from commit c5301a6495b108df5b307da39dad5be65926f76b)
2018-12-28 23:56:53 -05:00
Juergen Spitzmueller
a68e5b7774 When cancelling saving of a children, cancel the whole process.
Fixes remainder of #11405

(cherry picked from commit 4d5120658579fbad3a19b76f9da7e044264f6c03)
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 81e4f8dfb610ae8e6a5cc79a869030b229587b26
with minor adaptations)
2018-12-24 11:51:38 +01:00
Scott Kostyshak
0af6a43b6a Fix crash when selecting text with changes
When selecting text, in some cases a DocIterator could be forwarded
to a (non-existant) paragraph after the end. The critical part of
this fix is to break the loop at the correct place. The following
are additional improvements:

- increase readability by defining a bool named "in_last_par"
- use cur.selectionEnd().pit() instead of cur.selectionEnd().paragraph().id()
- use it.lastpos() instead of it.paragraph().size()

This commit fixes a regression introduced by 23de5e5e, and reported
at #11204.

Thanks to Jürgen and JMarc.

(cherry picked from commit d12798759aeb7bae77bec63098fd81f8cc9e554b)
2018-12-22 14:57:40 -05:00
Scott Kostyshak
890fb133b1 Only show Accept/Reject Change options if relevant
In the context menu for a selection, we now only show the options
"Accept Change" and "Reject Change" if there is actually a change in
the selection. Similarly, in the toolbar, the buttons are only
enabled when there is a change in the selection.

This fixes #10338.

(cherry picked from commit 23de5e5e195f8f76aea4760f0e6999a9a4174612)
2018-12-22 14:57:40 -05: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 ac8aac5b36e5895746aa145b20305cb909271e17)
2018-12-22 08:52:55 +01:00
Jean-Marc Lasgouttes
714b731e39 Make DEPM respect current cursor position.
Spaces are now conserved when they surround current cursor. Examples:
  abc   |   def
becomes
  abc | def
after DEPM and
  abc |
is kept as it is.

Fixes ticket #11412.

(cherry picked from commit dff0c5729e6eec4c799f60171e4d0a377327ab10)
2018-12-21 22:18:40 +01:00
Enrico Forestieri
324b828717 Fix bug 11346
Enclose in braces an optional argument of a math macro when it
starts with an incomplete script inset or ends with a delimiter
size-modifier macro.

(cherry picked from commit 2dcb73002666001ff55067abab05f6ab4a5760d9)
2018-12-20 11:57:54 +01:00
Juergen Spitzmueller
d41337179a Also check for dirty children on QUIT
Fixes rest of #11405

(cherry picked from commit 33344c601509c08d9a85ab413ea849407501a9a7)
2018-12-20 11:39:37 +01:00
Pavel Sanda
7b431ff0ba Backport 99bfe201208. 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 f87218bbb50e2043d3a052803cdef0bbcdcbc338)
2018-12-17 18:46:13 +01:00
Jean-Marc Lasgouttes
833adc5c6b Fix embarrassing typo
Not clear whether this caused any bug.

(cherry picked from commit 058c6750ac83b43819445ccf723283afb850ef91)
2018-12-17 17:22:42 +01:00
Juergen Spitzmueller
262b0dcca4 GuiCharacter: INHERIT is OFF for the tristate buttons.
(cherry picked from commit 1b6ce0e827d58258e84ba2bf0754c6b273b123db)
2018-12-17 10:44:10 +01:00
Juergen Spitzmueller
0dcf78a4ad GuiCharacter: Consider default settings for underline, strikeout and language
(cherry picked from commit bf2bf2eaedadf39a6398db624c8b6c52099ca31d)
2018-12-17 10:42:00 +01:00
Juergen Spitzmueller
1a43a14ef5 Amend 9705b88251
(cherry picked from commit ab5c08b3f01956d2081ff3cb34100c78a68cc90c)
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 9705b8825172ff1158b7c1451eb1c0da214808a1)
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 57feb0fed0c078903900aaea069c49207c8cb9ac)
2018-12-16 22:00:36 +01:00
Jean-Marc Lasgouttes
ebe6612e26 Make sure inset buffer is correctly set in math grid
Make MathData::setBuffer set the buffer of insets that it contains.
Remove corresponding code from InsetMathNest.

update the buffer() property in the following tabular-feature
actions : copy-row, add-row, copy-col, add-col.

(cherry picked from commit 837bcbb0433316ebe528b71e7c9952638ac1baee)
2018-12-14 19:39:54 +01:00
Jean-Marc Lasgouttes
0e6cb4e599 Set buffer correctly when changing math space type.
Fixes bug #7747.

(cherry picked from commit 2ec25c8eef8c9acca3cb572800eab933c8564831)
2018-12-14 19:39:54 +01:00
Pavel Sanda
05282ceeec Backport 641ae5c7add025.
The main reason is to prepare #5348 for landing.
2018-12-14 19:20:36 +01:00
Enrico Forestieri
3e9a1c2da7 Fix bug #9622
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)
2018-12-14 18:57:48 +01:00
Pavel Sanda
759769131a Keep permissions of the saved files intact. (Backporting 04fe818b2239).
Apparently this code helps for qt5 only.
qt4 accepts setPermission, but does not seem to actually implement it.
2018-12-14 18:50:36 +01:00
Richard Kimberly Heck
7bf1392c4d Comment 2018-12-14 11:11:50 -05:00
Richard Kimberly Heck
2126d5a3aa The updateBibfilesCache routine is not in master.
I think it must be a leftover from all the back and forth of trying
to get this right. But there's only one way to find out...
2018-12-14 11:10:05 -05:00
Richard Kimberly Heck
af71ebff8e There is no reason we should need to reload the bibinfo cache for
internal buffers.
2018-12-14 10:43:30 -05:00
Richard Kimberly Heck
e9614a36eb Fix slowness problem reported on the mailing list on Windows.
https://marc.info/?l=lyx-devel&m=154458979925296&w=2

This is related to the fix for #9158 and the caching of bibfile
information. On Windows, it is incredibly slow to run kpsewhich,
which we do to check where files actually are, so as to get info
about them (e.g., timestamps). So we have started to cache that
as a map. The map is supposed to be invalidated when various
things happen, but an oversight was causing it to be invalidated
on every cut operation. This is because cutting uses a temporary
Buffer, and the operations on it were affecting the *global* cache
of biblio file info. (It makes sense to have a global cache, since
these files are not document-specific.) Basically, we have to update
the list of bibfiles in that temporary Buffer---but that is one of
the things that invalidated the cache. The solution is only to
invalidate the cache if the list of bibfiles has actually changed
(a sensible idea anyway). The only time that will happen in the
temporary Buffer is when the copied information contains a BibTeX
inset. That should be fairly rare.
2018-12-14 10:43:30 -05:00
Enrico Forestieri
eba2f14fa7 Fix display of single-char macro names
Essentially, all characters are allowed in single-char macro names.

Part of #11158.

(cherry picked from commit 95bc273a597401f3ca9a43ed5d2d5db5626ae819)
2018-12-14 12:05:40 +01:00
Guillaume MM
a8ad4002a0 Fix segfault after deleting monitor
The boost signal was sent synchronously, and so made the Qt signal to be posted
in FileMonitor::changed after the boost signal returned, so after the sender was
possibly destroyed.

The solution is to make the boost signal asynchronous using the Qt event loop.

Thanks to Scott Kostyshak for the report and MWE.

(cherry picked from commit 131f4b92bac3ecb75b47c266dfa3d8543bd4d578)
2018-12-13 23:31:15 -05: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 1bed76e2a1057ab2f3f33f01ec23956653265d4a)
2018-12-13 10:51:59 +01:00
Jean-Marc Lasgouttes
3a123b90af Remove old workaround that is not needed anymore
This causes a compilation error with boost 1.69.

Fixes bug #11349.

(cherry picked from commit 76e99e9a20cf635d20effa597551f3a9af484465)
2018-12-13 10:39:58 +01:00
Juergen Spitzmueller
ac351f40f1 Fix encoding problems in \input@path
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.html

Fixes: #11146
(cherry picked from commit 8bd65041f2e22bf4c37219c7008a7e4e2bda2799)
2018-12-12 08:39:20 +01:00
Richard Kimberly Heck
c26c7602e4 Copy modules into the Advanced F&R pane as well.
(cherry picked from commit 5064c09e9f57a7ffb6082a7f8ec06c03ee9a0cef)

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

(cherry picked from commit 944b0ae55dd89e48bf8845c6d5e08a73bd1c4917)
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 19794963990f13aaae2cd575b2f445585ec82910)
2018-12-11 17:59:27 -05:00
Richard Heck
e694199837 Fix bug 9798.
Nameref support for math references.

(cherry picked from commit 5f6332bf46d4a0b65dd352b3e12ec35f58b6dece)
2018-12-11 17:58:07 -05:00
Richard Heck
26d4b5bb47 Fix bug #7404.
This allows for external editing of ERT insets. Original patch
by Georg Baum. Updated to 2.4dev by Riki Heck.

(cherry picked from commit f17f5617e05ea8a7f179586cc16c5bb05a0e9e2d)
2018-12-11 17:43:17 -05:00
Richard Heck
99d025e2da Fix bug #991.
Patch adapts Georg's work on #7404 to this case.

(cherry picked from commit 3847e0ef7726afc41e6ed69f625d36153ccccc33)
2018-12-11 17:38:21 -05:00
Enrico Forestieri
535309929b Fix reloading of local layout file (bug #11120)
(cherry picked from commit 7822d11361b270ea0e96c02a0e43e0bdd7cee07d)
2018-12-11 19:26:17 +01:00
Kornel Benko
d63b5f548f Fix #11241, FindAdv for wedge in subscript
Patch from ajd, completed to include also latexifyFromCursor()
2018-12-11 12:12:02 +01:00
Enrico Forestieri
3beb38c92e Amend bd21aa9
Check whether a line is actually blank rather than whether
we are at the beginning of a line.

(cherry picked from commit 976e0b79933e162070ef3d2973fb0c899f8bdf54)
2018-12-08 23:16:08 +01:00
Enrico Forestieri
8d7b66e209 Fix bug #11398
When deciding how to strike out deleted math in change-tracking
mode, differentiate only on begin-of-line or not, and not on
after-paragraph-break or not.

The assumption that a new paragraph is always started after a
float seems to be not true and was causing this bug.

(cherry picked from commit bd21aa99d244cbfe532c4d970197a940355828dd)
2018-12-08 23:09:38 +01:00
Pavel Sanda
566711b5ca Correctly update after buffer-anonymize in branch.
In master the screen update after buffer-anonymize happens without screenUpdate.
2018-12-02 02:08:49 +01:00
Jean-Marc Lasgouttes
f7ebe1f70f Show cursor correctly when loading file
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)
2018-11-23 17:05:46 +01:00
Jean-Marc Lasgouttes
c1df5fb6ef Avoid extra space in tooltips
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)
2018-11-21 14:47:04 +01:00
Enrico Forestieri
704eede69b Fix bug #11367
The overset, underset, and stackrel insets behave like the script
rather than the fraction inset.
2018-11-12 21:17:03 +01:00
Juergen Spitzmueller
639aa35444 Dispay pre- and posttext widgets if non-empty also if unapplied
Fixes: #11352
(cherry picked from commit b8932afed543421defde7b46e4102a82b4faabe4)
2018-10-30 22:18:52 +01:00
Jean-Marc Lasgouttes
b02d9f1075 Amend 4ecbff00: it is too early for skipping the updateMacros call
(cherry picked from commit 9e7832915f9763510e5820167930a38e16a8321f)
2018-10-22 17:19:40 +02:00
Juergen Spitzmueller
67495a71d1 Missing backports in the context of #9158
This fixes the remaining regressions in stable with citation
2018-10-15 08:04:31 +02:00
Juergen Spitzmueller
b28599f3f7 Amend a754912 once more
Do not use LTR environment (bidi) at all, since it adds unwanted
paragraph breaks.

Fixes: #11338
(cherry picked from commit 3a91fed26941e2599b5cb5f2924225a73a98f246)
2018-10-14 11:18:07 +02:00
Juergen Spitzmueller
149526c154 Clear bibfile cache when set of bibliography files change
Part of #9158

(cherry picked from commit 4115d2487f57f58774ee2846aa2b35818c0bc1b9)
2018-10-14 10:07:22 +02:00