Commit Graph

27272 Commits

Author SHA1 Message Date
Yuriy Skalko
c5ae08f0b8 Amend efc0877f
Add the last `override`s.
2020-10-05 15:03:13 +02:00
Yuriy Skalko
fe85162a29 Refactoring 2020-10-05 14:55:00 +02:00
Yuriy Skalko
d82adc625b Amend efc0877f
Add more `override` specifiers. Replace `throw()` to `noexcept`.
2020-10-05 09:37:15 +02:00
Yuriy Skalko
14b0da28c2 Amend efc0877f 2020-10-03 21:17:17 +02:00
Yuriy Skalko
715b8cda54 Refactoring based on cppcheck suggestions 2020-10-03 13:39:51 +02:00
Kornel Benko
a43d8501a2 Do not use runparams.nice == true while exporting to docbook5
The setting implies that the variable external_in_tmpdir is set to false.
If a lyx-file includes external material for spreadsheet,
the conversion results are in tmpdir.
The routine doSubstitution() (insets/ExternalSupport.cpp:188) therefore
does nothing for the entry $$Contents because it uses wrong path.
2020-10-03 13:28:26 +02:00
Yuriy Skalko
efc0877f8f Add override specifiers to improve code maintainability 2020-10-03 12:43:48 +02:00
Juergen Spitzmueller
2330b4ce9c Never mark references in inactive insets broken
This is the sledgehammer (and the only) way to omit broken refs if the
target is in an (or the same) inactive inset as well.
2020-10-03 08:54:06 +02:00
Richard Kimberly Heck
2afc68ede2 Whitespace 2020-10-02 13:11:28 -04:00
Jean-Marc Lasgouttes
dd65a97b55 Pass parameters as const references when possible
Fixes some cppcheck warnings.
2020-10-02 18:56:01 +02:00
Jean-Marc Lasgouttes
4d9a2c2e59 Fixup f96b99dc: do not initialize cache too late 2020-10-02 12:17:57 +02:00
Jean-Marc Lasgouttes
a97b384b07 Fixup f96b99dc: thinko
Setting the res value and returning from the function at the same time
does not make sense. After reflection, it is the "return" that shall
go.

No idea what effect it had.
2020-10-02 12:06:32 +02:00
Juergen Spitzmueller
8b155ce957 Refactoring 2020-10-02 08:30:31 +02:00
Juergen Spitzmueller
720179947e tex2lyx: properly set textclass if no class is given
(snippets without \documentclass and no forced class)
2020-10-02 08:17:45 +02:00
Jean-Marc Lasgouttes
e16b9e8d22 Remove non-const version of ParagraphMetrics::getRow
Constify a bit TextMetrics::isRTLBoundary().
2020-10-01 14:58:18 +02:00
Jean-Marc Lasgouttes
a2b754b10b Fixup 7d965319: reset cursor font at a finer level 2020-10-01 14:19:09 +02:00
Jean-Marc Lasgouttes
7f1b1729b4 Cleanup the caret geometry code
Intended changes:

* code is shorter and cleaner

* caret scales better with zoom when cursor_width=0: completion
  indicator, l-shaped cursor...

Details:

* Rename BufferView::getPosAndHeight to getPosAndDim because ascent is
  needed too and width could in the future be set depending on font.

* Get rid of rect_ in CaretWidget and record a Dimension (and y value) instead.
  Remove also caret_width_ and slant_, replace rtl_ with dir.

* Make CaretWidget members public and lose the trailing _.

* change CaretWidget::update to read its parameters from current bufferview.
2020-10-01 13:17:01 +02:00
Jean-Marc Lasgouttes
7d96531909 Fix bug where cursor size is not reset correctly.
A couple of calls to setCurrentFont fix the issue, but there has to be
more cases to catch. I am not sure why it used to work.
2020-10-01 12:44:38 +02:00
Jean-Marc Lasgouttes
f9aadae290 Get rid of helper Text::previousWord(), used only once 2020-09-29 10:15:31 +02:00
Richard Kimberly Heck
a41bcb3701 Error message 2020-09-28 22:45:44 -04:00
Richard Kimberly Heck
003a267764 We really do not want id to change 2020-09-28 22:20:22 -04:00
Richard Kimberly Heck
594401912b Fix minor annoyance with previous commit.
When validating local layout, in particular, we create a dummy text TextClass
and so are not necessarily modifying previously declared material. Hence, we
get a spurious (but harmless) "Incomplete argument definition!" warning. This
suppresses it, but to do that we need to propogate the ReadType.
2020-09-28 22:07:08 -04:00
Richard Kimberly Heck
6f643e52d4 Allow argument definitions in layout files to modify existing ones.
This is what layout re-definitions do in all other cases.
2020-09-28 22:06:11 -04:00
Richard Kimberly Heck
54a72663ae Move defaults into struct definition 2020-09-28 21:30:40 -04:00
Pavel Sanda
ad475adfd3 amend 6d6fc761be 2020-09-28 16:44:12 +02:00
Pavel Sanda
6d6fc761be Qt4 compilable again 2020-09-28 16:34:42 +02:00
Yuriy Skalko
e47092044b Use real italic slope for slanted caret 2020-09-28 14:30:05 +02:00
Juergen Spitzmueller
b38500353c Amend 448e5efab4
Only set langClosed to true if it really has been closed.
2020-09-26 12:12:09 +02:00
Enrico Forestieri
f0807a604c Use correct bounding box when exporting from command line
Without GUI an image is not available even if it is actually cached.
In this case we load the image for obtaining its dimensions in order
to correct the clipping bounding box.

This amends 380f34a1.
2020-09-25 20:58:40 +02:00
Enrico Forestieri
a8572c1358 Correct comment 2020-09-25 12:11:10 +02:00
Enrico Forestieri
9b1763cd42 Do not correct clipping bounding box for vector formats
This amends 380f34a1 that only took into account the postscript format.
2020-09-25 12:01:57 +02:00
Jean-Marc Lasgouttes
967f4d661e Remove default parameter of UndoGroupHelper constructor
This can lead to mistakes. If no buffer is required at the beginning,
it is better to pass 'nullptr' explicitly.

Fix a case of missing parameter in GuiCompleter (introduced at
f3656600). This avoids some spurious "There is no group open (creating
one)" messages.
2020-09-23 17:33:17 +02:00
Jean-Marc Lasgouttes
32b688225d Do not use a fake row to compute completion dimension
The code in TextMetrics::completionPosAndDim is needlessly complicated.

1/ It is easier to rely directly on Text::getWord() rather than on the
   helper previousWord().

2/ Using a fake row to compute completion height is overkill. A
   simpler solution is proposed here.

No intended effect. These changes prepare the fix to ticket #11818.
2020-09-22 15:11:08 +02:00
Juergen Spitzmueller
b814c4fda7 Fix unnecessary cprotect 2020-09-20 08:45:42 +02:00
Thibaut Cuvelier
da67bde61a Revert "XHTML: remove DOCTYPE, as the document is then understood as HTML4/XHTML1, and not XHTML5."
This reverts commit c8e2c17a: this makes some browsers unable to understand basic HTML entities.
2020-09-20 01:35:14 +02:00
Thibaut Cuvelier
44a7d2bc88 DocBook: adapt code for older GCC. 2020-09-19 23:55:07 +02:00
Thibaut Cuvelier
b5adcec28a XHTML: fix for encodings in attributes (patch by Kornel) 2020-09-19 20:43:42 +02:00
Thibaut Cuvelier
c83fd0eb06 XHTML sections: saner code to close the section.
It only caused troubles in corner cases...
2020-09-19 20:43:42 +02:00
Thibaut Cuvelier
a85b4b88ed XHTML sections: only filter out things that are not Sectioning, not based on the level. 2020-09-19 20:43:42 +02:00
Thibaut Cuvelier
0dfa240209 XHTML: restore sections. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
15dbc2b9ab Revert "XHTML: remove <section> support."
This reverts commit 52216b73
2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
c8e2c17a58 XHTML: remove DOCTYPE, as the document is then understood as HTML4/XHTML1, and not XHTML5. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
92ad86dacc XHTML: remove <section> support. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
bfeb3b66b1 DocBook: slight code simplification. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
6c51cabd35 DocBook: fix output in Layout::write. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
50f011e062 DocBook: implement InsetBox titles. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
3711a38b9c DocBook: fix a crash in bibliography paragraphs. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
1b818c448d DocBook: work for more subfigure cases.
EmbeddedObjects hid quite a few gems :).
2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
8758000641 DocBook: ensure xml:id is not output too many times.
This is mostly important for subfigures, but debugging this issue showed that InsetCaption could be slightly simplified and InsetLabel should be made a tad more robust.
2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
d0a5ba4859 DocBook: handle other cases of subfigures. 2020-09-19 20:43:41 +02:00
Thibaut Cuvelier
9a48c8d22b DocBook: fix handling of new lines and fonts.
Only the font variable was restored to the right state, not fs.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
5f0720e947 XHTML: fix generation of many useless </section>. 2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
faec783822 XML: bad fix for a crash that only happened in XHTML.
As an error is output, I suppose that this behaviour is OK.
2020-09-19 20:43:40 +02:00
Scott Kostyshak
a632a9ae3c DocBook: remove useless functions. 2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
1a76fb9658 DocBook: avoid using isspace in StartTag::writeTag.
This is the cause of crashes (on both Windows and Linux).
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
2cd7a94f8b DocBook: introduce Floating::docbookFloatType.
This ensures that all comparisons for DocBook are made on the same normalised version of the float type. This cased a strange bug where <table> was output within <informaltable> for Linguistics Tableaux.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
8ed8d36595 Fix two warnings in BufferView. 2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
40f4da3c9f DocBook: floats can no more override DocBookTag.
This lead to a quite subtle bug. The major problem is that float tags
depend on whether the LyX float has a title (formal) or nor (informal).
This information cannot be encoded in the layout format as easily as a
simple DocBookTag.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
08a58242c1 DocBook: better output with the Linguistics module.
One issue left: <table> output within an <informaltable>, that does not make sense... I'm debugging it.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
abed1f3e6e DocBook: fix crash with Linguistics example.
This was due to Floating::docbookTag not returning anything with the floattype_ tableau. Another issue that happened with that document is that the standard library's isspace crashed for some characters. I therefore implemented a more efficient version of the part that required it, and inlined the definition of isspace (even though that part becomes irrespective of locale, but was that feature ever used?).
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
594a4763b7 Fix a few warnings. 2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
e3da8b65f6 DocBook: several missing features for Additional.lyx.
Includes: semantic markup (sorry about noun: Additional.lyx uses it to mark menus; there is something better in DocBook, but it looks like the LaTeX equivalent is really for person names), boxes, info layouts.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
19734ea454 DocBook: implement LyX-Code.
This is quite ugly.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
bc9d3ec262 DocBook: <person> is not valid per se, rather use <personname>.
The cleanest solution would still be <person><personname>, but this ought to be enough. Otherwise, that would imply having two tags for some fonts...
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
8f3d0fd88f DocBook: new-line behaviour in bibliographies. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
6d246bba69 DocBook: fix margin notes.
They were nested twice in <sidebar>. Also fixes a new line issue.
2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
91982ee105 DocBook: new lines around formulae. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
e995414917 DocBook: avoid generating fonts for "special cases" like equations. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
654559feb8 DocBook: fix line issues around programlisting. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
9d3a717ef1 DocBook: fix font issues when a paragraph has an InsetNewline. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
7a1b82a16a DocBook: fix issue with fonts. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
c3aa843da8 DocBook: fixes in bibliography (missing new line at the end). 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
6688b076cc DocBook: fixes in lists.
Actually output something when list item is empty. XMLStream discarded the sequence StartTag/EndTag (nothing in between).

New-line behaviour around term in description lists.
2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
5b01c80635 DocBook: fix titles in KOMA Script. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
976bd91fc2 DocBook: bug fixing with wrapper merging. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
ec0f4885a7 DocBook: fix bibliographies (end of <bibliography> and sections). 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
642b18aad0 DocBook: generate <partintro> when required. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
17b06f5336 DocBook: streamline code to handle sections. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
f219fe1cd7 DocBook: streamline code to handle abstracts. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
a8da31e5e0 DocBook: fix handling of index end-of-range. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
78a361778f DocBook: fix float tags (was unduly overridden).
The output was not valid for floats without title.
2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
39ad6e84f0 DocBook: improve equation formatting (new lines for block equations). 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
fc2c36289b DocBook: rewrite makeListEnvironment. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
8656fbd520 DocBook: start splitting environment handling in two, to have proper things for lists. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
1bd49f9c39 DocBook: make all make* functions have the same argument order. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
fc0999a422 DocBook: partially remove use of bpit/epit in docbookParagraphs and docbookSimpleAllParagraphs.
This will help with the next refactoring to be much cleaner (only work with iterators, don't maintain twice the same information).
2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
bfc67c59b4 XML: use the new mechanisms for CR detection with errors.
This helps tracking down line problems even in the presence of errors.
2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
52b2d3f683 DocBook: make Paragraph::simpleDocBookOnePar return a list of paragraphs.
Before, it directly wrote to the XMLStream, but it made implementation of new lines tricky. Now, it returns the XML for each sub-paragraph (delimited by new lines) as a string, so that the caller can adopt a more precise behaviour (such as in lists).
2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
faaf780bed DocBook: fix compilation issues. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
3d348818e0 DocBook: Coverity potential problem for precooked bibliographies. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
ac46456b28 DocBook: simplify precooked bibliography code. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
6a4d3dbef7 DocBook: remove useless includes. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
d8651cc60b More functions in anonymous namespace. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
25f72d392c DocBook: fine tuning of new lines. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
bdea21a87e DocBook: improve comments. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
9393ca74ba DocBook: new logic to handle the new lines, only used in output_docbook for now. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
27a44f8e48 XML: memorise if the last thing that is getting output is a line feed. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
6998e76495 DocBook: define new arguments in layouts to configure new-line behaviour. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
87dae26e4a Simplify code to generate only one paragraph at a time. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
9184ae14f0 A few more constants to avoid copies 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
dab71087cf DocBook: add a layout tag to tell whether an item is the abstract or not. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
7b0f9d9524 DocBook: simplify code to handle abstracts. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
0f145c3ef0 DocBook: use DocBookWrapperMergeWithPrevious in the code. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
c92e0bc5e7 DocBook: fix for ordering. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
72c304a629 DocBook: make openParTag/closeTag use paragraphs instead of layouts.
Not useful per se, but will be next with checking whether the wrapper tags should be opened/closed.
2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
c417253d0b DocBook: use DocBookItemTag within paragraphs.
This is at least helpful for AAS, even though it slightly resembles a repurposition of that parameter.
2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
1a09086ec2 Merge findLastParagraph and findLastBibliographyParagraph to lower code duplication.
Maybe these functions should move to ParagraphList.h/cpp?
2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
4d78fe5957 Slight code-consistency improvements. 2020-09-19 20:43:36 +02:00
Thibaut Cuvelier
ad18c19492 DocBook: add new layout parameter DocBookWrapperMergeWithPrevious. 2020-09-19 20:43:36 +02:00
Thibaut Cuvelier
a852706bf0 DocBook: allow empty paragraphs before the <info> section. 2020-09-19 20:43:36 +02:00
Daniel Ramoeller
9a1f732664 Show slanted caret (cursor) when text style emphasis/italics/slanted.
Fixes for bug #11428. Emphasis is used regularly and it is helpful to
see whether the next text will be written emphasized directly from the
cursor.

This is also implemented in MS Word and Google docs but not in
LibreWriter.

Also fixes the caret for RTL languages whose width was previously
extended into the wrong direction.
2020-09-18 13:27:06 +02:00
Yuriy Skalko
cd933534bd Increment preferences format to 34: rename Cyrillic *.kmap files 2020-09-17 15:05:31 +02:00
Jean-Marc Lasgouttes
b96b876403 Revert "Show toolbar context menu only when clicking on the toolbar"
Something is wrong.

This reverts commit f25253f89a.
2020-09-16 16:54:33 +02:00
Daniel Ramoeller
f25253f89a Show toolbar context menu only when clicking on the toolbar
Previsouly it was on the whole application window, except on disabled toolbar
buttons.

Fix for bug #11949
2020-09-16 11:18:57 +02:00
Jean-Marc Lasgouttes
ae37caacdd Add method FontMetrics::italic()
This can be useful for ticket #11428.
2020-09-14 16:26:19 +02:00
Yuriy Skalko
b0db575dc1 Show custom text styles in status bar
Fixes bug #11951.
2020-09-14 11:38:29 +02:00
Scott Kostyshak
670da1817e Fix documentation for LFUN_LAYOUT
The argument 'ignorenests' was renamed to 'ignoreautonests' at
d6fb2abb.
2020-09-12 19:31:42 -04:00
Stephan Witt
320b6b6656 #6401 correct cursor movement for word forward/backward with enabled Mac style (mac_like_cursor_movement)
The change includes a rewrite of the cursor movement when „mac style“ is enabled and don’t change anything otherwise.
The new code for mac uses the document iterator to go forward or backward. The traversal stops at word boundaries.
If going forward the position increments until a word is reached (if not already inside) and stops at the end of the word.
If going backward it does the same in opposite direction. The cursor jumps over non-editable insets and math.
Editable (open) insets are entered and the cursor move detects word boundaries inside them.
2020-09-12 14:34:56 +02:00
Yuriy Skalko
fb7b7e5223 Refactor runCommand 2020-09-11 16:13:23 +02:00
Jean-Marc Lasgouttes
c1f8c6c26d Fixup 5202d44e: 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.
2020-09-11 11:48:12 +02:00
Eugene Chornyi
46da0d9d4d Workaround Qtbug regarding the QAbstractScrollArea::mouseMoveEvent(...) (06969f9d) is only needed until Qt 5.15.1 as it was fixed there. 2020-09-10 20:40:48 +02:00
Daniel Ramöller
69841003a3 Let Ctrl-Click on a reference jump to the corresponding label.
Fix some warnings while we're at it. (That part by RKH.)
2020-09-10 12:38:41 -04:00
Daniel Ramöller
35aaa1c528 Show child documents in outline with their paths. 2020-09-10 12:30:12 -04:00
Richard Kimberly Heck
a8de13632a Add FIXME 2020-09-10 12:24:52 -04:00
Jean-Marc Lasgouttes
bf25e8568d Fixup ad954a32: make space insets easier to see.
The previous code left one extra pixel on each side of the visible space, and
spaces became too small to be readable.
2020-09-09 11:28:21 +02:00
Jean-Marc Lasgouttes
eda3219662 Remove unneeded space for \nolimits 2020-09-09 10:35:35 +02:00
Enrico Forestieri
fcd14df230 Avoid spurious requirements
The macros defined in the symbols file are only used for on-screen
representation, so that their definition should not require the use
on any latex package. Their definition should be taken into account
only when they are overridden by user macros with same name.
2020-09-09 01:32:51 +02:00
Enrico Forestieri
0762b52334 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.
2020-09-08 22:30:02 +02:00
Jean-Marc Lasgouttes
b744c3e28a Revert "Fixup 5202d44e: make caret geometry update lazy"
Something is wrong with the cursor.

This reverts commit dc35f1ddf4.
2020-09-07 16:02:50 +02:00
Jean-Marc Lasgouttes
dc35f1ddf4 Fixup 5202d44e: make caret geometry update lazy
Instead of working around crashes in update of caret geometry, only
request it as needed. The actual computaiton 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.
2020-09-07 15:52:43 +02:00
Jean-Marc Lasgouttes
9b18a9b609 Fixup e1be71da5: avoid duplication of layout
If the containing paragraph has kept its layout, reset the layout of
the first paragraph of the newly inserted inset.
2020-09-07 14:16:47 +02:00
Jean-Marc Lasgouttes
a58bcf1d27 Fixup f96b99dcb3: read correctly \limits after macros
Move InsetMacro::limits_ to InsetMacro::Private, where it should have
been from the start. This means that limits_ is now copied when the
macro is cloned.
2020-09-07 12:13:42 +02:00
Enrico Forestieri
062d94c5da 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-09-06 18:16:04 +02:00
Juergen Spitzmueller
61739e5aef Add some hspacers 2020-09-05 08:23:56 +02:00
Juergen Spitzmueller
199fb4b934 set defaults for float_placement and float_alignment 2020-09-05 08:09:02 +02:00
Stephan Witt
45e8ea4acc #11756 Respect system preferences for tabbing on Mac 2020-09-04 23:28:27 +02:00
Enrico Forestieri
a9afdbb73c 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 17:46:30 +02:00
Jean-Marc Lasgouttes
efc8d44d09 Fixup 2e784b2f: consider default layout too.
And simplify the test at the same time.
2020-09-03 12:56:33 +02:00
Juergen Spitzmueller
5c83c5c410 Foward-port tooltip addition from stable (3a7560dcb0) 2020-09-03 08:55:46 +02:00
Richard Kimberly Heck
5606e934ac Accelerators 2020-09-02 10:22:26 -04:00
Enrico Forestieri
8039b34802 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-01 12:12:55 +02:00
Richard Kimberly Heck
1ba785f2c6 Localization 2020-09-01 01:41:10 -04:00
Richard Kimberly Heck
3c25899eab Improved fix for edit button 2020-08-31 11:20:49 -04:00
Richard Kimberly Heck
cf7e32ee8f Fix problem with edit button.
The previous implementation relied upon the cursor being immediately
in front of the inset. A bad idea.
2020-08-31 10:50:59 -04:00
Richard Kimberly Heck
a385b7dc2b Fix bug 4475.
Add ability to create child from the include dialog.
2020-08-31 10:20:52 -04:00
Jean-Marc Lasgouttes
d68f6f7f40 Add FIXME: do we need to update scrollbar at each draw()?
Related to ticket #11947.
2020-08-30 19:16:38 +02:00
Stephan Witt
292799a4bd #11756 cleanup the view menu on Mac
Using US english desktop language LyX's Mac OS adds some items to the view menu:
1. Show/Hide Tab Bar and
2. Enter Full Screen
These items won't work properly and it's better to hide them.
2020-08-30 15:35:02 +02:00
Stephan Witt
1c5a2fc0ec #11756 hide additional menu items in edit menu on Mac
Mac OS adds two extra menu entries to the edit menu.
These menu items are:
1. Start Dictation...
2. Emoji & Symbols
Both menu items don't work with LyX.
Therefore they shouldn't be present and the new code hides them.
2020-08-30 11:24:59 +02:00
Stephan Witt
784139da50 Remove unused leftover from Makefile. 2020-08-30 11:24:59 +02:00
Enrico Forestieri
80f94a9398 Use correct width for \fint
Both QTextLine::naturalTextWidth() and QTextLine::horizontalAdvance()
return the same value for \fint. However, examining esint10.ttf with
fontforge does not reveal any issue with the metrics. The fact that
\fint seems to be the only affected symbol might be due to its code
point, which corresponds to a space, so that maybe Qt makes some
assumptions on the metrics.

As QTextLine::naturalTextWidth() returns the width of the line that is
occupied by text, in the case of a single symbol we can obtain the
same value by using the width of the rectangle bounding the symbol.
2020-08-29 20:10:26 +02:00
Juergen Spitzmueller
6f476b960e Localize format prettyName in some more places (#11954) 2020-08-29 11:50:43 +02:00
Juergen Spitzmueller
3fc095e3bc Do not \protect label in subfloat caption (#11950) 2020-08-28 07:32:29 +02:00
Yuriy Skalko
3bd358a2f6 Prevent permanent disabling of comboboxes in Vertical/Horizontal space dialogs 2020-08-28 07:07:44 +02:00
Juergen Spitzmueller
4fdcf0e929 address deprecation warning 2020-08-27 14:43:23 +02:00
Pavel Sanda
28dd0e1f21 Fix Qt4 compilation. 2020-08-27 14:05:22 +02:00
Juergen Spitzmueller
bc76026da5 Disable citationSearchLE with citationSearchCB 2020-08-27 12:53:41 +02:00
Juergen Spitzmueller
39caa70100 Clear info_ cache if format changes 2020-08-27 12:41:40 +02:00
Juergen Spitzmueller
d44929ff81 Properly report back if showDirectory() doesn't succeed 2020-08-27 11:58:37 +02:00
Juergen Spitzmueller
ff14d0bd00 Report back if citation target could not be opened 2020-08-27 11:52:52 +02:00
Juergen Spitzmueller
5cc191ddee Fix string subst 2020-08-27 11:52:23 +02:00
Juergen Spitzmueller
b4ca3e4fa4 Assure bibinfo is correctly processed 2020-08-27 11:42:03 +02:00
Juergen Spitzmueller
c5c3323f32 Properly disable function 2020-08-27 10:59:15 +02:00
Juergen Spitzmueller
8365eabd6f Make paper search function accessible and customizable 2020-08-27 08:48:55 +02:00
Juergen Spitzmueller
d436a51024 About: Fix cutting of icon (#11946) 2020-08-26 10:01:53 +02:00
Jean-Marc Lasgouttes
cc349fd031 Add space before display math that starts a paragraph
This extra spacing was missing and is important for detecting extra
par breaks before equations (which are most of the times not wanted).

To do that, add a new member vmode to MetricsInfo which is equivalent
to LaTeX's \ifvmode (start of paragraph).

If in vmode, add the equivalent of an empty line before a display math inset.

At the same time, tweak value of \(above|below)displayskip, which was
12pt, whereas LaTeX uses 10pt in 10pt size (our reference).

Fixes bug #11891.
2020-08-25 13:20:37 +02:00
Stephan Witt
3c1b4a5d7e #6401 avoid use of lyxCode() 2020-08-25 10:54:49 +02:00
Jean-Marc Lasgouttes
294e4884ee Center correctly top labels like Abstract.
They used to take the paragraph indentation into account.

Fixes bug #11939.
2020-08-25 10:30:34 +02:00
Jean-Marc Lasgouttes
ee3a711316 Forgotten break in switch found by coverity scan. 2020-08-24 17:21:04 +02:00
Jean-Marc Lasgouttes
2a6f1d2b58 Fixup 907f0207: another place where pm.ascent() is wrong
Fix bug where selecting in first paragraph gave an end of selection on
wrong row.

Since pm.ascent() may contain the top margin, it makes sense in
setCursorFromCoordinates() to use the ascent of the front row instead,
like was none in907f0207 for getPitAndRowNearY().
2020-08-24 17:14:08 +02:00
Pavel Sanda
44ede7ef4b Do not hardcode launching of lyxpaperview script. 2020-08-24 15:11:53 +02:00
Yuriy Skalko
c160e21c48 Split some UI strings for translations 2020-08-24 07:23:40 +02:00
Pavel Sanda
894ad70eba Enable Open Citation menu item iff citation contain locator information or external search script is available.
Per Juergen's request.
2020-08-23 22:19:34 +02:00
Juergen Spitzmueller
0fa93fe55a Amend 76cdca6422
Use auto pointer in all loops over UsedLanguages_
2020-08-23 13:49:56 +02:00
Richard Kimberly Heck
17f9d6b192 Fix warnings 2020-08-23 05:48:15 -04:00
Juergen Spitzmueller
76cdca6422 range-based loops 2020-08-23 10:07:49 +02:00
Juergen Spitzmueller
c3cac2048b Sort secondary babel languages alphabetically 2020-08-23 10:04:56 +02:00
Juergen Spitzmueller
448e5efab4 Do not attempt to close language twice 2020-08-21 11:07:22 +02:00
Scott Kostyshak
4c0073cd03 Whitespace 2020-08-20 21:51:29 -04:00
Juergen Spitzmueller
c71551fd9d GuiAbout: some more polishment 2020-08-20 16:08:10 +02:00
Juergen Spitzmueller
1f92214d78 GuiAbout: use unformatted version info via Copy button 2020-08-20 15:50:31 +02:00
Pavel Sanda
e648202e7e Allow LyX to find pdfs and urls of citation references and follow them from context menu.
Currently tested:
- url & doi fields for bibtex.
- all documented eprinttypes of biblatex
- absolute paths of first entry of 'file' field for jabref and kbibtex
- external script searching for author + year pdf

Additional polishing will follow.

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg212505.html
2020-08-20 09:12:54 +02:00
Yuriy Skalko
679c418b03 Fix UI string 2020-08-19 10:15:45 +02:00
Juergen Spitzmueller
55f7b337cc Simplification 2020-08-17 13:29:55 +02:00
Juergen Spitzmueller
3aefd7477c Fix font and encoding switch problem with directionality change at inset
Also fixes #10110
2020-08-17 13:25:02 +02:00
Juergen Spitzmueller
4d1d07ea10 Amend 92f6e4806e
This was too general
2020-08-17 13:11:46 +02:00
Stephan Witt
c88f331a06 Avoid a type mismatch warning resp. error for signed vs unsigned typed values comparison 2020-08-17 12:25:35 +02:00
Juergen Spitzmueller
957b615b1f Fix another crash with Grid pasting (follow-up to #11906) 2020-08-16 17:24:13 +02:00
Stephan Witt
2dae4ab4f3 Improved character count statistics for letter based insets (e.g. the LyX logo). 2020-08-16 17:07:04 +02:00
Stephan Witt
7ec0bdbf28 #6401 For correct document traversal special logo chars should be treated like letters 2020-08-16 17:05:44 +02:00
Stephan Witt
ba21c946a1 #6401 improve doc iterator to allow easy backward navigation 2020-08-16 16:54:03 +02:00
Juergen Spitzmueller
d9f1f7e348 Remove now redundant string 2020-08-16 11:31:56 +02:00
Juergen Spitzmueller
812ff7de75 Take out inheritFont() condition 2020-08-16 11:18:49 +02:00
Juergen Spitzmueller
92f6e4806e Fix language closing before inset 2020-08-16 10:47:46 +02:00
Juergen Spitzmueller
24af4ffcb3 Redo "Move some tests upstream, since we'll need it there" properly 2020-08-16 10:47:08 +02:00
Juergen Spitzmueller
6876a306b9 Consider encoding when re-setting language 2020-08-15 19:21:20 +02:00
Juergen Spitzmueller
3c5c41ddc2 Only exclude ERT from language switch doing 2020-08-15 16:46:18 +02:00
Juergen Spitzmueller
5490e7545b Polish About dialog
(this might need adaptation with HiDPI)
2020-08-15 16:07:12 +02:00
Juergen Spitzmueller
cba24bb642 Fix deprecation warning 2020-08-15 16:06:56 +02:00
Juergen Spitzmueller
1c3ccc0ac2 Revert "Move some tests upstream, since we'll need it there"
This reverts commit 0a44c1687e.
2020-08-15 15:32:15 +02:00
Juergen Spitzmueller
fb2077df11 Revert "Fix a lang edgecase"
This reverts commit dc4b11b0e9.
2020-08-15 15:21:19 +02:00
Juergen Spitzmueller
6fd566fbec Flag placeholder string nontranslatable
This is just wasted efforts for the translators, as this string never
appears in the GUI.
2020-08-15 13:18:19 +02:00
Juergen Spitzmueller
dc4b11b0e9 Fix a lang edgecase 2020-08-15 12:29:55 +02:00
Juergen Spitzmueller
0a2fce358d Do not attempt to use switches around PassThur insets.
This is bound to break with ERT snippets f. ex.
2020-08-15 12:29:55 +02:00
Juergen Spitzmueller
0a44c1687e Move some tests upstream, since we'll need it there 2020-08-15 12:29:55 +02:00
Juergen Spitzmueller
469bc1bbe4 Revert apparent accident introduced in fed71fa8c2 2020-08-15 09:26:51 +02:00
Juergen Spitzmueller
ea122aa8fa Amend 89d9334e03
This needs to be default layout, not plain layout
2020-08-15 08:35:26 +02:00
Juergen Spitzmueller
89d9334e03 Maintain plain layout for separating paragraphs when switching layouts (#11936) 2020-08-15 08:14:17 +02:00
Yuriy Skalko
1cf86348dd Enable search in "LaTeX Log" dialog by pressing Enter 2020-08-15 07:52:55 +02:00
Juergen Spitzmueller
04ba887e2c Correctly re-set font before and after non-multipar inset 2020-08-15 07:06:20 +02:00
Stephan Witt
012c0f6bac #6401 avoid unnecessary inset to string conversions in Paragraph::find while skipping invisible letters 2020-08-14 21:32:24 +02:00
Stephan Witt
5bce66b1a3 #6401 more robust processing on special char code insets when looking for spell checker ranges 2020-08-14 21:28:24 +02:00
Pavel Sanda
48b1e8a0ac New attempt on #9906: allow following hyperlinks via context menu.
Now safer version with the help of Qt.
2020-08-14 19:48:47 +02:00
Enrico Forestieri
836300cd33 Revert "Correctly set font decorations for multipar insets"
This reverts commit 5791b8bff8.
2020-08-14 18:01:26 +02:00
Kornel Benko
9b7db11901 docbook exports: Omit crashing export on some files
Committed since Thibaut apparently has no time to react, and the crash is
really distracting.
2020-08-14 12:31:25 +02:00
Enrico Forestieri
5791b8bff8 Correctly set font decorations for multipar insets
Font decorations such as underline cannot be set for a whole inset
that allows paragraph breaks. This commit allows to still set the
font main properties for the whole inset but decorations are applied
to each paragraph inside the inset.
2020-08-14 12:04:23 +02:00
Yuriy Skalko
4c3139314b Correct Right Arrow key processing in Modules list 2020-08-14 10:12:13 +02:00
Yuriy Skalko
e1dd91e10e Disable editing of math package names in Document Settings 2020-08-14 10:05:11 +02:00
Juergen Spitzmueller
70eb8c37cb Do not close language before PassThru insets 2020-08-14 09:50:40 +02:00
Juergen Spitzmueller
ef11fdc77d Assure language is properly closed before non-inheriting inset. 2020-08-14 09:08:46 +02:00
Juergen Spitzmueller
8bc76ad9bb \foreignlanguage does not play with \cprotect. 2020-08-14 09:00:48 +02:00
Daniel Ramoeller
c9bf179016 #10346 Amend change 01b2893f8b switch directory buttons 2020-08-13 21:43:23 +02:00
Stephan Witt
63fcb7b8e1 #10346 Amend change 01b2893f8b to make Qt4 compilable - again 2020-08-13 10:26:44 +02:00
Stephan Witt
4ddff8fe28 #10346 Amend change 01b2893f8b to make Qt4 compilable 2020-08-13 08:12:56 +02:00
Daniel Ramoeller
01b2893f8b Fix bug #10346.
Allow to open user and library directories from About LyX.
2020-08-12 14:25:36 -04:00
Juergen Spitzmueller
13b928d534 No need for catcode change here 2020-08-12 18:08:49 +02:00
Juergen Spitzmueller
24c46cbd19 Remove obsolete FIXME 2020-08-12 17:38:57 +02:00
Juergen Spitzmueller
e3a72156f9 Fix too general application of \cprotect 2020-08-12 17:38:20 +02:00
Enrico Forestieri
001f5a4786 Fix bug #10263 2020-08-12 16:35:12 +02:00
Enrico Forestieri
f5672a4843 Switch font for multipar insets
Use font switches for insets that allow paragraph breaks rather
than insets that do not inherit outer font settings. No change of
behavior is intended with respect to the current status, but this
will allow a simple and effective fix for #10263.
2020-08-12 16:25:35 +02:00
Juergen Spitzmueller
49e8e3567c Font switches in \cprotect'ed context need to be \cprotect'ed themselves 2020-08-12 15:26:23 +02:00
Juergen Spitzmueller
008766fe4e Pass proper font 2020-08-12 14:05:22 +02:00
Juergen Spitzmueller
88506f886b update tex2lyx tests 2020-08-12 13:13:56 +02:00
Juergen Spitzmueller
1af67974ff Properly close and reopen font before insets with inheritFont() false 2020-08-12 11:04:17 +02:00
Juergen Spitzmueller
075d220d6e GuiLyXFiles: Fix crash and disabling with header selection
Fixes #11929
2020-08-11 19:26:23 +02:00
Juergen Spitzmueller
b57166f656 Nothing to translate here. 2020-08-10 10:03:42 +02:00
Richard Kimberly Heck
c9bb699457 Fix #10328.
Change title of LyX's windows to conform to the usual pattern.
2020-08-09 13:00:41 -04:00
Daniel Ramoeller
d3a04c089b 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.)
2020-08-09 12:51:45 +02:00
Juergen Spitzmueller
e417597597 Consider nesting when checking whether an inset is in a title
Amends 0bddf448ef
2020-08-09 12:01:49 +02:00
Yuriy Skalko
af7ffc7dfa Correct UI strings 2020-08-08 16:12:50 +02:00
Stephan Witt
a436171b2c #9376 prepare use of Length in lyxrc - amend commit 0fa4b7e736 - catch wrong include of Length.h 2020-08-07 22:53:19 +02:00
Stephan Witt
d0ca7a383d Amend commit 3af8ff39fc - make it work with Qt 4.x - don't activate it there 2020-08-07 12:27:27 +02:00
Stephan Witt
3af8ff39fc Force a uniform style for group boxes, on Mac non-flat works better, on Linux flat is standard 2020-08-07 10:54:12 +02:00
Stephan Witt
0fa4b7e736 #9376 prepare use of Length in lyxrc - move the class Length to support 2020-08-07 09:24:31 +02:00
Enrico Forestieri
582296d79a Correctly compute metrics for single-char non-math fonts
As evidenced by the comment, this corrects a thinko.
2020-08-06 15:34:54 +02:00
Juergen Spitzmueller
7250aad280 Revert [9370135c3e/lyxgit] and fix #8499 properly
Fixes #11920
2020-08-04 16:52:58 +02:00
Stephan Witt
6dcd4ca4f1 #10571 improved handling of WM's signal when switching from or to full-screen window 2020-08-04 15:24:09 +02:00
Pavel Sanda
bd5f6097fc Does not compile on older gcc. 2020-08-04 14:55:22 +02:00
Thibaut Cuvelier
348297520f Revert "DocBook: allow empty paragraphs before the <info> section."
This reverts commit c6937cece9.
2020-08-03 22:58:15 +02:00
Thibaut Cuvelier
fa38ae3fc0 Revert "DocBook: add new layout parameter DocBookWrapperMergeWithPrevious."
This reverts commit 59b0f88d2b.
2020-08-03 22:57:49 +02:00
Thibaut Cuvelier
ab4f22beb9 Revert "Slight code-consistency improvements."
This reverts commit 6bcc0155b6.
2020-08-03 22:57:41 +02:00
Thibaut Cuvelier
dedeb885f8 Revert "Merge findLastParagraph and findLastBibliographyParagraph to lower code duplication."
This reverts commit 20d65b9d97.
2020-08-03 22:57:22 +02:00
Thibaut Cuvelier
fe8aff31fd Revert "DocBook: use DocBookItemTag within paragraphs."
This reverts commit 49b998f99b.
2020-08-03 22:57:11 +02:00
Thibaut Cuvelier
21c92c8a12 Revert "DocBook: make openParTag/closeTag use paragraphs instead of layouts."
This reverts commit 3d7c802c22.
2020-08-03 22:56:55 +02:00
Thibaut Cuvelier
347d3557b2 Revert "DocBook: fix for ordering."
This reverts commit 7852582d9c.
2020-08-03 22:56:44 +02:00
Thibaut Cuvelier
4c01ab9ecf Revert "DocBook: use DocBookWrapperMergeWithPrevious in the code."
This reverts commit 62c9f4332d.
2020-08-03 22:56:25 +02:00
Thibaut Cuvelier
c2be69187c Revert "DocBook: eat a bit of that spaghetti code."
This reverts commit 25bcbe7666.
2020-08-03 22:56:16 +02:00
Thibaut Cuvelier
42eca3d8d6 Revert "DocBook: simplify code to handle abstracts."
This reverts commit 0199e048ff.
2020-08-03 22:56:06 +02:00
Thibaut Cuvelier
f025538c95 Revert "DocBook: add a layout tag to tell whether an item is the abstract or not."
This reverts commit 5ccd63eff6.
2020-08-03 22:55:52 +02:00
Thibaut Cuvelier
5ccd63eff6 DocBook: add a layout tag to tell whether an item is the abstract or not. 2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
0199e048ff DocBook: simplify code to handle abstracts. 2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
25bcbe7666 DocBook: eat a bit of that spaghetti code. 2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
62c9f4332d DocBook: use DocBookWrapperMergeWithPrevious in the code. 2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
7852582d9c DocBook: fix for ordering. 2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
3d7c802c22 DocBook: make openParTag/closeTag use paragraphs instead of layouts.
Not useful per se, but will be next with checking whether the wrapper tags should be opened/closed.
2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
49b998f99b DocBook: use DocBookItemTag within paragraphs.
This is at least helpful for AAS, even though it slightly resembles a repurposition of that parameter.
2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
20d65b9d97 Merge findLastParagraph and findLastBibliographyParagraph to lower code duplication.
Maybe these functions should move to ParagraphList.h/cpp?
2020-08-03 16:04:58 +02:00
Thibaut Cuvelier
6bcc0155b6 Slight code-consistency improvements. 2020-08-03 16:04:57 +02:00
Thibaut Cuvelier
59b0f88d2b DocBook: add new layout parameter DocBookWrapperMergeWithPrevious. 2020-08-03 16:04:57 +02:00
Thibaut Cuvelier
c6937cece9 DocBook: allow empty paragraphs before the <info> section. 2020-08-03 16:04:57 +02:00
Juergen Spitzmueller
8415041b1f Use hexnames only for x11 colors
This prevents wrong color allocation with ambiguous names.

Fixes #11828

Patch by D. Ramöller with extensions by me.
2020-08-03 14:10:46 +02:00
Richard Kimberly Heck
6834321a50 Allow backspace, etc, to merge paragraphs even if they have different styles.
Patch from Daniel.

This is bug #11917. Master only.
2020-08-02 23:24:22 -04:00
Enrico Forestieri
7441172d4d Assure correct spacing of colored items in mathed
When coloring a non-ordinary math atom, explicitly apply its
math class, so that to leave unchanged the spacing around it.
Fixes #11827.
2020-08-02 18:58:40 +02:00
Juergen Spitzmueller
aba8c81290 Next attempt at correctly setting fonts in insets depending on inheritFont() 2020-08-02 10:12:19 +02:00
Thibaut Cuvelier
875f7d42e2 DocBook: avoid generating empty paragraphs instead of new pages.
As this required to first generate the paragraph before outputting it if necessary, tests like XMLStream::isTagOpen no more worked properly. This also refactors table handling to get rid of that case (and make code easier to read).
2020-08-02 04:03:39 +02:00
Thibaut Cuvelier
8d115413c1 DocBook: fix delimitation of bibliographies. 2020-08-02 04:03:39 +02:00
Pavel Sanda
801d7dc9f4 typo 2020-08-01 22:54:01 +02:00
Thibaut Cuvelier
c1ec3394c6 DocBook: improve new lines around maths. 2020-08-01 22:45:56 +02:00
Thibaut Cuvelier
d3e1f2a6d4 DocBook: fix bug about fonts (tag not closed at the right place).
Yes, this was just a reference issue! Also includes support for XOUT text, and some styling consistency.
2020-08-01 22:45:56 +02:00
Pavel Sanda
eef0c8e8ed xHTML export: change filenames of exported images.
This patch aims at:
1. replacing absolute paths by their hashes (do not leak directory structures)
2. not using counters anymore so that changing figures order in the document
   does not lead to large number of obsolete images in export directory.

Other changes than in xHTML export of images are unintended.
2020-08-01 22:16:04 +02:00
Richard Kimberly Heck
4ce9e784b4 Fix warnings 2020-08-01 02:01:01 -04:00
Richard Kimberly Heck
219773dd55 Move META_INSET declaration to header file 2020-08-01 01:53:36 -04:00
Thibaut Cuvelier
fed71fa8c2 DocBook: bug fixing with several bibliographic references at once. 2020-08-01 03:51:14 +02:00
Thibaut Cuvelier
5324566013 DocBook: use the right key when generating bibiomixed. 2020-08-01 03:39:53 +02:00
Thibaut Cuvelier
0c0613327c Get rid of xmlize, bringing no advantage over escapeString. 2020-08-01 03:20:28 +02:00
Thibaut Cuvelier
0be32e3b98 Amend 85946aae: should compile also with g++. 2020-08-01 00:41:58 +02:00
Thibaut Cuvelier
85946aae2b DocBook: fix XML in comments (-- forbidden for some historical reason). 2020-08-01 00:02:36 +02:00
Thibaut Cuvelier
f2e69c165e More consistent style. 2020-07-31 23:35:08 +02:00
Thibaut Cuvelier
ad08373ae2 DocBook: actually include files that are not properly understood (with automatic escaping), in comments. 2020-07-31 20:17:38 +02:00
Thibaut Cuvelier
44ef3fadee DocBook: fix encoding issues with complex ERT. 2020-07-31 20:17:38 +02:00
Juergen Spitzmueller
53e872455a Revert "Fix #11827"
This reverts commit b521d36bfb.

Not ready yet
2020-07-31 09:18:37 +02:00
Thibaut Cuvelier
06675b853b Fix CI… 2020-07-31 02:23:22 +02:00
Thibaut Cuvelier
acdead0487 DocBook: better condition for abstracts. 2020-07-31 01:20:08 +02:00
Thibaut Cuvelier
6434b666bf DocBook: don't output abstract if it would have no content.
Restore a change from e709a662 (reverted by d75ff993) that was mixed into another commit.

Also, add a TODO for InsetIndex.
2020-07-31 00:55:00 +02:00
Thibaut Cuvelier
e153477bca DocBook: Kornel's patch to get rid of many assertions 2020-07-30 23:22:41 +02:00
Thibaut Cuvelier
37b2115d2e DocBook: refactor font handling.
This only hides a lot of complexity behind a function. It is a good candidate for future refactoring (code highly similar to the XHTML code path).
2020-07-30 23:18:31 +02:00
Daniel Ramoeller
b521d36bfb Fix #11827
Keep spacing of math intact.
2020-07-30 16:24:17 +02:00
Juergen Spitzmueller
50b2120438 Use switches where possible around non-inheriting insets
Fixes rest of #8384
2020-07-29 16:25:19 +02:00
Juergen Spitzmueller
065c09537b Amend 261625f412 2020-07-29 12:23:10 +02:00
Juergen Spitzmueller
d2a162ce3d Instatiate right font 2020-07-29 11:44:33 +02:00
Thibaut Cuvelier
d75ff9931d Revert "Support the mathbbm font."
This reverts commit e709a6626e.
2020-07-28 18:01:38 +02:00
Thibaut Cuvelier
e709a6626e Support the mathbbm font.
Should just be able to read formulae, not add it from the GUI, as it's mostly redundant with mathds and mathbb.
2020-07-27 03:15:00 +02:00
Thibaut Cuvelier
8dd2e7e681 DocBook: solve issue with formulae within font tags.
This is not valid DocBook either!
2020-07-26 23:23:02 +02:00
Thibaut Cuvelier
a874173660 DocBook: can finally generate "Developing LyX" without validation errors.
This also removes many warnings when generating this document.
2020-07-26 04:59:30 +02:00
Thibaut Cuvelier
e0b8bac36e DocBook: fix issues with nested labeling lists. 2020-07-26 04:44:04 +02:00
Thibaut Cuvelier
88e00a0b7b DocBook: fix issues with nested description lists. 2020-07-25 23:51:32 +02:00
Pavel Sanda
618f3a0359 Kill warning about unused parameter. 2020-07-25 22:29:07 +02:00
Thibaut Cuvelier
459c17fb14 DocBook: use xml:id instead of just id.
Amend 62af830f.
2020-07-25 19:00:56 +02:00
Thibaut Cuvelier
5de60e3c77 DocBook: implementation of LATEX_BIB_ENVIRONMENT.
Fixes endless loops when such environments were used.

Add Kornel's test case that triggers an infinite loop when generating as DocBook 5
2020-07-25 17:37:13 +02:00
Enrico Forestieri
0b3e69167c 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 12:32:24 +02:00
Kornel Benko
9e977932c5 Enable display of docbook5 output in the Code Preview Plane 2020-07-23 14:11:13 +02:00
Thibaut Cuvelier
ca01edf59f DocBook: escape IDs for InsetRef. 2020-07-21 02:45:04 +02:00
Jean-Marc Lasgouttes
f96b99dcb3 Implement properly \limits and \nolimits
These are now properties of insets that can be operators :
InsetMathSymbols, InsetMathDecoration (for over/underbrace) and
InsetMathMacro (for its contents).

Each of these has a limit_ member that allows to remember a limit
forcing and a member defaultLimits() that indicates what to do in the
absence of such forcing. Moreover the write() method calls
writeLimits().

This allows to simplify the definitions of integrals in lib/symbols by
defining the integrals as macros of their "op" version, as it is done in
the style files.

Also, many hardcoded assumptions can now be removed.

The handling of LFUN_MATH_LIMITS is now done in InsetNest, which tries
successively to apply the limit change to (1) the character after
cursor, (2) the character before cursor and (3) the character at the
end of the inset (useful for script insets?)

The new code allows to define
  \newcommand\int{\intop\limits}
but not
  \newcommand\makelimits#1{#1\limits}

It is also possible to type explicitly \limits or \nolimits to modify
a symbol.
2020-07-20 23:20:26 +02:00
Thibaut Cuvelier
e0a4dfa7d3 DocBook: avoid skipping paragraphs in <info>. 2020-07-20 03:41:44 +02:00
Richard Kimberly Heck
e09445b3cf Style 2020-07-19 21:21:01 -04:00
Thibaut Cuvelier
6aaf118bc7 Stop adding points at the end of xml:id without reason 2020-07-20 03:04:02 +02:00
Thibaut Cuvelier
d0748cd69c DocBook: properly escape PI in InsetMarginal. 2020-07-20 03:01:41 +02:00
Thibaut Cuvelier
fb45f7b8c9 DocBook: don't update counters when generating, as they are not used in DocBook.
This also removes a warning in the console in some cases where counters are updated when they don't exist...
2020-07-20 03:01:41 +02:00
Thibaut Cuvelier
51939801f5 DocBook: better handling of paragraphs containing notes in the abstract. 2020-07-20 03:01:41 +02:00
Thibaut Cuvelier
be3e79c2a0 DocBook: clean citation keys everywhere in the same way. 2020-07-20 02:29:40 +02:00
Thibaut Cuvelier
d6ec3d686b amend 467d57bc: typo 2020-07-19 21:36:34 +02:00
Thibaut Cuvelier
6b701f945e DocBook fonts: fix issue 1732 2020-07-19 21:00:25 +02:00
Thibaut Cuvelier
467d57bca1 Fix use of std::regex_match 2020-07-19 19:34:02 +02:00
Jean-Marc Lasgouttes
e8ee0100fc Implement variable size bigops
The goal is to reproduce the change of size of operators like \sum wen they
are in display style.

The syntax of the symbols file has been extended to allow for two code
points (like 80|88 for \sum). In this case, the second one will be
used in display style.

Update the symbols file to handle all bigops from cmex, esint, wasy and
stmaryrd.

Let the code for math symbol inset handle symbols which can change size,
using the information from the symbols file.
2020-07-17 22:25:18 +02:00
Jean-Marc Lasgouttes
8d54457dbf Improve metrics for \limits in display mode 2020-07-17 22:18:43 +02:00
Thibaut Cuvelier
e302757476 Add support for CALS tables in DocBook. 2020-07-16 00:40:16 +02:00
Thibaut Cuvelier
3b740d0c8f DocBook: add support for LYX_ALIGN_BLOCK and LYX_ALIGN_DECIMAL in tables 2020-07-15 16:17:16 +02:00
Juergen Spitzmueller
3b6fec3835 Do not terminate size switches in front of insets with InheritFont() false
and inherit the size.

This reduces formatting clutter (#8384) in table and fixes some wrongly
set sizes (#9923, #9285) in tables.
2020-07-15 09:11:05 +02:00
Jean-Marc Lasgouttes
bce21e8975 Take the height of label into account when painting rows
Handle the case where, in beamer's Frame, for example, where the label
string uses a taller font then the paragraph itself.

Fixes bug #11890.
2020-07-14 20:53:32 +02:00
Juergen Spitzmueller
097383f657 Fix comment 2020-07-14 15:52:20 +02:00
Juergen Spitzmueller
b8969d2e9c Reset CategorizedCombo filter when switching between non-TeX and TeX fonts 2020-07-14 15:49:15 +02:00
Juergen Spitzmueller
61cf165521 Consider single-cell insets when pasting multiple cells (#11906) 2020-07-14 10:39:49 +02:00
Jean-Marc Lasgouttes
501f4e848f Cleanup: BufferView should not need to be friend of TextMetrics
It did access par_metrics_[] directly because there was no non-const
parMetrics().

This patch adds one and unfriends BufferView. The code is equivalent
since in all these cases, the metrics have just been computed with
redoParagraph().
2020-07-14 00:08:07 +02:00
Jean-Marc Lasgouttes
2e8c9cfc83 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.
2020-07-13 23:43:09 +02:00
Juergen Spitzmueller
4884476eb6 Do not blindly disable inset-modify in MathNest
Fixes #11784
2020-07-13 16:50:11 +02:00
Juergen Spitzmueller
60741c3d49 InsetFloat: pass back inset-modify that is addressed to other inset
Fixes #9994
2020-07-13 16:46:43 +02:00
Juergen Spitzmueller
f6d9e4170d InsetInfo: Pass back inset-modify that do not target this inset
Fixes #9214.
2020-07-13 16:15:42 +02:00
Jean-Marc Lasgouttes
907f020724 Improve handling of top and bottom margin
The 20px space on top and bottom of document have traditionally been
obtained by adding them to the ascent/descent of the first/last row.
This leads to annoyances like selections that are drawn in these
margins and issues with the nesting marker.

The change is to add the value to the ParagraphMetrics ascent/descent
only and to correct one place where the ascent of the first row may be
different from the ascent of the ParagraphMetrcs object. There may be
other places where this should be done.

Fixes bug #9545.
2020-07-13 02:42:39 +02:00
Jean-Marc Lasgouttes
32f06d01ec Revert "Improve handling of top and bottom margin"
It turns out this is not ready at all.

This reverts commit ff7cdf1b74.
2020-07-13 00:00:36 +02:00
Jean-Marc Lasgouttes
ff7cdf1b74 Improve handling of top and bottom margin
The 20px space on top and bottom of document have traditionally been
obtained by adding the to the ascent/descent of the first/last row.
This reads to annoyances like selections that are drawn in these
margins and issues with the nesting marker.

The change is to add the values to a separate member of the Row
object, and to add new Row::total(Ascent|Descent) methods that add the
effect of this padding.

Moreover, some methods are added to TextMetrics to simplify the
BufferView code.

Fixes bug #9545.
2020-07-12 20:32:04 +02:00
Thibaut Cuvelier
b7c73f387a Add sections to HTML output. 2020-07-12 18:01:33 +02:00
Jean-Marc Lasgouttes
1c956cdc16 Improve drawing of macro template frame
Use Inset::xxxOffset as offsets and draw the frame in the middle of
the empty space.

Fixes bug #9657.
2020-07-12 15:39:37 +02:00
Jean-Marc Lasgouttes
77036f5434 Fix and simplify computation of painter monochrome mode
The old code in GuiPainter::filterColor did not work. Tricks with
colors should take place in HSV space, not RGB IMO.

Replace the code with a simpler one which maps the grayscale value
of the original color on the blend color. It works nin the case where
original color is red, but might not work as well when blend color is
not black. Time will tell.

Fixes bug #11904.
2020-07-12 00:01:46 +02:00
Jean-Marc Lasgouttes
2a80b0ac01 Set desktop name for Wayland
Fixes bug 11847.
2020-07-11 20:40:30 +02:00
Juergen Spitzmueller
289cb58f52 Remove unneeded header 2020-07-11 16:41:34 +02:00
Enrico Forestieri
da336cedf3 Fix compilation on platforms where sizeof(wchar_t) == 2.
Use "set" instead of "unordered_set" as some facets are missing when
using gcc on cygwin, mingw and, possibly, FreeBSD.
2020-07-11 16:19:21 +02:00
Juergen Spitzmueller
aaeb425230 Fix header inclusion order
This cures a crash with stdlib-debug on autotools
2020-07-11 12:30:14 +02:00
Juergen Spitzmueller
56c139449d Update tex2lyx test after last file format change 2020-07-11 11:12:00 +02:00
Jean-Marc Lasgouttes
f758894c2f Use Common Number separator instead of European to detect numbers
The 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.
2020-07-10 18:06:41 +02:00
Richard Kimberly Heck
33eb33d0e7 Revert "Simplify code a bit. Should be equivalent, unless backs is empty!"
This reverts commit 3c094c739b.
2020-07-09 22:25:09 -04:00
Juergen Spitzmueller
2c0b650aa6 Do not attempt to mark par break in single-line insets 2020-07-09 18:47:53 +02:00
Juergen Spitzmueller
11a57ce6c6 Fix header inclusions 2020-07-09 17:19:01 +02:00
Jean-Marc Lasgouttes
aaec8459bf Cleanup: remove trailing underscores
These ToobarItem members are public, not private.
2020-07-09 16:27:00 +02:00
Juergen Spitzmueller
01c1d1e156 tex2lyx: add support for libertinus 2020-07-09 12:26:25 +02:00
Juergen Spitzmueller
8cb9a6d3f6 Add support for the libertinus family of fonts (#11899)
File format change.
2020-07-09 11:46:07 +02:00
Juergen Spitzmueller
780d9a5f4c LaTeXFonts: Add ScaleCommand
This is needed to add support for scaling to fonts that are switched
via command
2020-07-09 11:41:21 +02:00
Juergen Spitzmueller
3335344261 Provide option to prevent unnecessary font loading.
If an OSF font is an alternative to a non-OSF one, only load the OSFFont
if osf is requested.
2020-07-09 11:39:43 +02:00
Eugene Chornyi
06969f9dd4 Workaround Qtbug where QAbstractScrollArea::mouseMoveEvent(...) is called falsely when quickly double tapping on a touchpad of a notebook running Windows 2020-07-09 09:36:12 +02:00
Richard Kimberly Heck
e6b2c7c4ce Change in ::docbook args 2020-07-09 03:27:32 -04:00
Thibaut Cuvelier
af5257b6c3 Fix Coverity false positive for null-pointer dereference 2020-07-09 09:24:35 +02:00
Richard Kimberly Heck
3c094c739b Simplify code a bit. Should be equivalent, unless backs is empty! 2020-07-09 00:03:58 -04:00
Richard Kimberly Heck
747afa36cd Best to use braces when there are comments. 2020-07-09 00:03:58 -04:00
Kornel Benko
5f827b5a9d Amend 3883b85f: Typo in "New DocBook support" 2020-07-09 00:19:34 +02:00
Richard Kimberly Heck
8ae0841826 Whitespace 2020-07-08 12:38:05 -04:00
Pavel Sanda
77e0f69901 Fix another constructor order of parameters 2020-07-08 14:27:24 +02:00
Pavel Sanda
7175a87f14 comment only 2020-07-08 14:05:54 +02:00
Pavel Sanda
20a33941fa Wrong order in constructor 2020-07-08 13:34:45 +02:00
Thibaut Cuvelier
25bb51c865 Remove DOCBOOK enum values, no more used. 2020-07-08 13:15:05 +02:00
Thibaut Cuvelier
fd6e14414f Remove GuiRef::nameAllowed, as the DocBook support no more uses it 2020-07-08 09:55:59 +02:00
Thibaut Cuvelier
3a24550765 Remove GuiRef::typeAllowed, as it is now always allowed. 2020-07-08 09:41:45 +02:00
Thibaut Cuvelier
b596921211 The new DocBook output has no prerequisite on the document, so enable it for each and every document. 2020-07-08 09:35:03 +02:00
Thibaut Cuvelier
3883b85f49 New DocBook support 2020-07-08 08:42:16 +02:00
Pavel Sanda
28968b1f0d Add required elements in the layouts to support DocBook.
Slightly modified patch from Thibaut Cuvelier.
2020-07-07 09:49:48 +02:00
Juergen Spitzmueller
0bddf448ef Prevent outputting \maketitle within an inset embedded in title.
Amends [e4ef8ddc0f8202/lyxgit]
2020-07-04 10:54:20 +02:00
Juergen Spitzmueller
e4ef8ddc0f Properly fix handling of title layouts within insets (#11787) 2020-07-03 16:20:38 +02:00
Juergen Spitzmueller
ccde0fb01d constification 2020-07-02 08:22:49 +02:00
Juergen Spitzmueller
d0cbcda3b9 Fix yet another thinko in the math grid paste code
This is a Hydra!
2020-06-30 17:23:58 +02:00
Juergen Spitzmueller
b84e497ab6 Fix cursor positioning with specific matrix pastings 2020-06-30 09:25:59 +02:00
Juergen Spitzmueller
3718ff9a15 Fix c&p of tabular data between different LyX instances (#4448) 2020-06-29 18:52:10 +02:00
Juergen Spitzmueller
7869960888 Fix math matrix column insertion on paste 2020-06-29 18:05:46 +02:00
Juergen Spitzmueller
5c663849d1 Update cursor idx after grid paste if columns are appended 2020-06-29 17:57:18 +02:00
Juergen Spitzmueller
7f773cf24e Resize table if needed on multi-cell paste 2020-06-29 17:51:24 +02:00
Juergen Spitzmueller
3b895bb47a Fix math grid paste when needing more cells 2020-06-29 16:30:49 +02:00
Juergen Spitzmueller
5cb89a8f81 Implement proper pasting from multiple table cells to non-table (#4447) 2020-06-29 15:13:45 +02:00
Juergen Spitzmueller
2cee820f71 Correctly initialize font (language) for multiple-cell paste (#11898) 2020-06-29 13:41:19 +02:00
Juergen Spitzmueller
6dd990560e Do not paste \t when pasting multiple table columns outside table (#4449) 2020-06-29 12:51:15 +02:00
Juergen Spitzmueller
16d0785e67 Fix pasting of math grid with more rows in source than target (#11897) 2020-06-29 09:48:05 +02:00
Juergen Spitzmueller
557adebcc1 Honor "provides parskip 1" 2020-06-29 09:00:28 +02:00
Juergen Spitzmueller
e121bd04bb Support halfline and fullline also in vspace. 2020-06-28 18:27:59 +02:00
Juergen Spitzmueller
361d4d43e3 update tex2lyx tests 2020-06-28 17:27:36 +02:00
Juergen Spitzmueller
b0c102cfb4 use package parskip to separate paragraphs with vertical space (#4796)
File format change
2020-06-28 17:20:18 +02:00
Juergen Spitzmueller
261625f412 Force local switch for info insets that change language
Fixes compilation of current English UG
2020-06-27 09:40:12 +02:00
Juergen Spitzmueller
ae4c2b122f Update tex2lyx tests after file format change 2020-06-26 11:32:01 +02:00
Juergen Spitzmueller
a68b0389bc Add support for medspace and thickspace (in text) (#11893)
File format change.
2020-06-26 11:12:35 +02:00
Jean-Marc Lasgouttes
8ceb4f6b58 Run codespell on src/frontends
Command was:
codespell -w -i 3  -S Makefile.in -L mathed,afe,tthe,ue,fro,uint,larg,alph,te,thes,alle,Claus,pres,pass-thru  src/frontends/
2020-06-26 00:21:47 +02:00
Pavel Sanda
7a132f4f8c typo left by codespell 2020-06-26 00:07:03 +02:00
Jean-Marc Lasgouttes
110f8f67ac Run codespell on tex2lyx/, client/, convert/ and graphics/
Command was
codespell -w -i 3  -S Makefile.in -L mathed,afe,tthe,ue,fro,uint,larg,alph,te,thes,alle,Claus,pres,pass-thru  src/xxx
2020-06-25 23:50:52 +02:00
Jean-Marc Lasgouttes
5d4e6dfb68 Run codespell on src/insets
Command was
codespell -w -i 3  -S Makefile.in -L mathed,afe,tthe,ue,fro,uint,larg,alph,te,thes,alle,Claus,pres,pass-thru  src/insets/
2020-06-25 23:46:16 +02:00
Jean-Marc Lasgouttes
3c4e567d44 Run codespell on src/mathed
codespell -w -i 3 -S Makefile.in -L mathed,afe,tthe,ue,fro,uint,larg,alph,te,thes,alle,Claus,wit,nd,numer  src/mathed/
2020-06-25 23:31:42 +02:00
Jean-Marc Lasgouttes
9fe1ed4d68 Run codespell on src/support
Codespell is run with command line
codespell -w -S Makefile.in -L mathed,afe,tthe,ue,fro,uint,larg,alph,te,thes,alle,Claus -i 3 src/support/
2020-06-25 23:17:18 +02:00
Juergen Spitzmueller
9f13bb73f8 Consider nesting level when autonesting 2020-06-25 10:37:04 +02:00