Commit Graph

5694 Commits

Author SHA1 Message Date
Thibaut Cuvelier
7437a6ce3c DocBook: fix regression in floats.
Also implement a valid filler for tables.
2020-11-27 23:44:48 +01:00
Yuriy Skalko
8793c2eed9 Replace ;; 2020-11-27 12:16:54 +02:00
Yuriy Skalko
6a21ec854b Move several common types to support/types.h 2020-11-27 12:16:22 +02:00
Thibaut Cuvelier
3f07ae9083 DocBook: for empty figures, output a message.
This ensures that this part of the DocBook file is valid.
2020-11-27 05:19:27 +01:00
Thibaut Cuvelier
eaf9460909 DocBook: make empty bibliographies empty.
Even though this means that there is no output tag.
2020-11-26 06:55:49 +01:00
Thibaut Cuvelier
dae0640436 DocBook: implement REVTeX.
Improvements to abstract detection: it can now contain lists or anything with a higher depth.

Implement video floats.
2020-11-26 06:22:27 +01:00
Yuriy Skalko
11434df35d Fix warnings regarding switches on enum values 2020-11-25 23:16:56 +02:00
Scott Kostyshak
c81bb47e49 Catch exception if LaTeX fails for child preview
The exception is raised when an included file fails to export
because e.g. it is from a newer version of LyX or because an
intermediate command such as knitr fails.

The exception was introduced at 1a374a93 so that the export of a
document exits with error if an included document exports with
error.

This commit catches the exception when the LaTeX is asked for in
order to generate a preview of the included file.
2020-11-25 15:34:58 -05:00
Yuriy Skalko
8e60182f58 Simplify InsetQuotes constructors 2020-11-25 02:43:43 +02:00
Yuriy Skalko
fe0ea7bff7 Add default TransformID enum value 2020-11-25 02:43:35 +02:00
Yuriy Skalko
43b16548b4 Cleanup headers 2020-11-25 02:43:16 +02:00
Yuriy Skalko
8dfe07b5b5 Use std::any when compiler supports C++17 or later 2020-11-21 20:32:51 +02:00
Yuriy Skalko
7ca2f2b58d Use range-based loops 2020-11-21 20:32:16 +02:00
Thibaut Cuvelier
1176fab1d4 DocBook: make InsetText respect tag types. 2020-11-20 18:41:03 +01:00
Thibaut Cuvelier
f426e458c4 DocBook: InsetText supports items and wrappers. 2020-11-20 18:41:02 +01:00
Thibaut Cuvelier
2c6537ff66 DocBook: ensure that <info>-related insets in the abstract are not generated in the abstract.
This helps generate more conformant DocBook files.

Also implement wrapper tags for InsetText.
2020-11-20 18:41:02 +01:00
Thibaut Cuvelier
0ed820fa0b DocBook: fix for nomenclature xml:id and glossary paragraphs.
Previously, the xml:id's were not consistent among <glossterm> in the text and <glossentry> in the glossary.
2020-11-15 18:43:58 +01:00
Thibaut Cuvelier
46cbd6d234 DocBook: refactor code about retrieving captions and labels.
There was already an existing method in InsetCaptionable for captions, but not yet for labels. It was at least already useful at two places, that's why I moved it to InsetCaptionable.
2020-11-15 04:03:04 +01:00
Thibaut Cuvelier
c4bbff8ecb DocBook: fix handling of listings with titles.
Also implement a code path for inline listings.
2020-11-15 04:03:04 +01:00
Thibaut Cuvelier
46daa3865b DocBook: missing support for customisation of layouts in inset arguments. 2020-11-15 04:03:04 +01:00
Thibaut Cuvelier
6bc04367cf DocBook: add support for IGNORE tags.
These paragraphs will simply have no output (no enclosing DocBook tag, no content). This change is as backward-compatible as possible: without this commit, the paragraphs will be output, but in an <IGNORE> tag (not much more can be achieved without this). It is mostly made for metadata and formatting instructions. (As opposed to NONE, which corresponds to outputting the paragraph without enclosing DocBook tag.)
2020-11-15 04:03:04 +01:00
Yuriy Skalko
9b1dc338b2 Simplify Changers 2020-11-12 14:22:00 +02:00
Jean-Marc Lasgouttes
63300c3ba8 Fixup aeb51be9: set current font correctly when editing inset
When using InsetText::edit(), invoke Cursor::setCurrentFont (note that
editXY does it already). It is a good idea in general, especially
after commit 411333fa95, which sets languagecorrectly in ERT.

This allows to comment out (again!) the trick added to fix ticket #9042.
2020-11-10 15:43:48 +01:00
Yuriy Skalko
589e780e15 Whitespace & renaming 2020-11-06 21:34:02 +02:00
Thibaut Cuvelier
1766bff806 DocBook: remove special options from InsetGraphics.cpp
This was not really a useful attribute for DocBook, or it must be parsed beforehand.
2020-11-05 05:35:34 +01:00
Richard Kimberly Heck
cfd19d86be whitespace and style 2020-11-02 11:45:09 -05:00
Yuriy Skalko
9c47e736f8 Constify InsetQuotesParams 2020-11-01 22:24:31 +02:00
Yuriy Skalko
d38eddb397 Match header/source function argument naming 2020-11-01 22:23:44 +02:00
Yuriy Skalko
5061db891c Use const references 2020-11-01 22:23:26 +02:00
Yuriy Skalko
6e65967e15 Use default member initialization in InsetLayout 2020-11-01 22:22:50 +02:00
Richard Kimberly Heck
3b4b047576 Fix warning 2020-10-30 13:26:48 -04:00
Thibaut Cuvelier
6843bc5a38 DocBook: ensure to have paragraphs in <sidebar>. 2020-10-30 01:59:34 +01:00
Thibaut Cuvelier
149e1ccc02 DocBook: add DocBookSection parameter for styles that define new sections and implement argument parameters; improve Springer support.
For elements that should behave like sections (for now, mostly prefaces).

A second paragraph of PartBacktext can only wreak havok: it should start a section, and nothing else (otherwise, it's a real nightmare to implement).
2020-10-30 01:59:34 +01:00
Yuriy Skalko
d8ead7debf Use nullptr 2020-10-29 15:52:33 +02:00
Yuriy Skalko
10272e4747 Move include of own header to the top. Fix dependencies 2020-10-25 19:58:57 +02:00
Yuriy Skalko
69f838bbf3 Fix isSpace for docstring 2020-10-24 18:55:05 +03:00
Yuriy Skalko
196d9caeb0 Clean includes using the output of iwyu tool 2020-10-20 11:38:55 +03:00
Thibaut Cuvelier
d1b9af3b1d DocBook: fix file inclusion.
Previously, nothing was output. Special care was needed for when new paragraphs should be open (this work is probably not finished yet).
2020-10-20 02:34:02 +02:00
Yuriy Skalko
af29f02dd8 Reduce includes in header files (2) 2020-10-19 18:01:17 +03:00
Yuriy Skalko
d25c10ed81 Remove duplicate and unused header includes in .cpp files 2020-10-19 18:01:11 +03:00
Yuriy Skalko
84365fc946 Move Author.h, Format.h from BufferParams.h 2020-10-16 08:02:51 +03:00
Yuriy Skalko
fbefdb10a5 Move Cursor.h from Clipboard.h 2020-10-16 08:02:51 +03:00
Yuriy Skalko
36c8e06cf1 Move Dimension.h from InsetIPA.h 2020-10-15 19:26:16 +03:00
Pavel Sanda
644c1d3453 Move docstream.h from output_xhtml.h 2020-10-14 15:06:12 +02:00
Richard Kimberly Heck
b7f632ca1c Fix bug #12002.
Patch from Daniel.
2020-10-13 19:51:27 -04:00
Richard Kimberly Heck
28ae543a2a Fix signed-ness warnings 2020-10-13 18:24:03 -04:00
Pavel Sanda
0ea9df7467 Add inset for \nopagebreak.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg213388.html
2020-10-13 19:13:59 +02:00
Yuriy Skalko
2a594d3e90 Remove unused forward declarations 2020-10-13 09:57:36 +03:00
Yuriy Skalko
919a06718a Constify 2020-10-12 15:06:16 +02:00
Yuriy Skalko
7d38a4d126 Loop refactoring 2020-10-09 09:04:20 +03:00
Richard Kimberly Heck
b511d8d93e Use 'delete' for unimplemented constructors.
Thanks Yuriy!
2020-10-07 11:05:54 -04:00
Richard Kimberly Heck
3d46cc302b Use explicit default syntax (C++11).
Thanks to Jos'e for noticing this option.
2020-10-06 20:31:11 -04:00
Richard Kimberly Heck
0f417f2a06 Fix some warnings 2020-10-06 12:27:28 -04:00
Richard Kimberly Heck
bff97ba76d Explicit InsetTableCell copy constructor 2020-10-06 12:20:31 -04: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
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
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
Thibaut Cuvelier
50f011e062 DocBook: implement InsetBox titles. 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
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
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
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
654559feb8 DocBook: fix line issues around programlisting. 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
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
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
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
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
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
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
Juergen Spitzmueller
3fc095e3bc Do not \protect label in subfloat caption (#11950) 2020-08-28 07:32:29 +02:00
Juergen Spitzmueller
39caa70100 Clear info_ cache if format changes 2020-08-27 12:41:40 +02:00
Juergen Spitzmueller
5cc191ddee Fix string subst 2020-08-27 11:52:23 +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
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
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
Stephan Witt
7ec0bdbf28 #6401 For correct document traversal special logo chars should be treated like letters 2020-08-16 17:05:44 +02:00
Juergen Spitzmueller
469bc1bbe4 Revert apparent accident introduced in fed71fa8c2 2020-08-15 09:26:51 +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
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
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
e417597597 Consider nesting when checking whether an inset is in a title
Amends 0bddf448ef
2020-08-09 12:01:49 +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
Pavel Sanda
bd5f6097fc Does not compile on older gcc. 2020-08-04 14:55:22 +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
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
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
85946aae2b DocBook: fix XML in comments (-- forbidden for some historical reason). 2020-08-01 00:02:36 +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
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
Juergen Spitzmueller
065c09537b Amend 261625f412 2020-07-29 12:23:10 +02:00
Pavel Sanda
618f3a0359 Kill warning about unused parameter. 2020-07-25 22:29:07 +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
Thibaut Cuvelier
ca01edf59f DocBook: escape IDs for InsetRef. 2020-07-21 02:45:04 +02:00
Thibaut Cuvelier
d0748cd69c DocBook: properly escape PI in InsetMarginal. 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
467d57bca1 Fix use of std::regex_match 2020-07-19 19:34:02 +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
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
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
Juergen Spitzmueller
289cb58f52 Remove unneeded header 2020-07-11 16:41:34 +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
11a57ce6c6 Fix header inclusions 2020-07-09 17:19:01 +02:00
Richard Kimberly Heck
e6b2c7c4ce Change in ::docbook args 2020-07-09 03:27:32 -04:00
Richard Kimberly Heck
8ae0841826 Whitespace 2020-07-08 12:38:05 -04: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
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
3718ff9a15 Fix c&p of tabular data between different LyX instances (#4448) 2020-06-29 18:52:10 +02:00
Juergen Spitzmueller
7f773cf24e Resize table if needed on multi-cell paste 2020-06-29 17:51:24 +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
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
a68b0389bc Add support for medspace and thickspace (in text) (#11893)
File format change.
2020-06-26 11:12:35 +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
3fea3b0096 Allow row-breaking after some insets
Add new RowFlags value CanBreakAfter, which says that the row can be
broken after the inset if needed. There is no CanBreakBefore yet,
because I do not know of an inset that needs it.

This makes screen closer to the actual behavior of insets.

Currently, only unprotected spaces and some special characters are
concerned. There may be more that need this handling.

Fixes bug #11621.
2020-06-23 23:34:49 +02:00
Jean-Marc Lasgouttes
49e1466f93 Make all unbreakable spaces of the same Color_latex color
Of course, this means that negative spaces cannot be recognized anymore.
2020-06-23 23:33:37 +02:00
Jean-Marc Lasgouttes
8535efafde Fix comment 2020-06-23 23:32:05 +02:00
Jean-Marc Lasgouttes
ba738d0167 Use new rowFlags() values to remove some inset hardcoding.
The enum DisplayType is replaced with the flags RowFlags that can be
combined. Here is the correspondence between the old DisplayType and
the new Inset::RowFlags:

DisplayType   RowFLags             Meaning
 Inline        Inline               plain inline inset
  --           BreakBefore          row ends before this inset
  --           BreakAfter           the row ends after this inset
 AlignCenter   Display	            the inset is centered on its own row
 AlignLeft     Display | AlignLeft  the inset is left-aligned on its row
 AlignRight    Display | AlignRight the inset is right-aligned on its row
  --           RowAfter             an extra row is needed after this inset

Display is just a shortcut for BreakBefore | BreakAfter.

The flags for the newline inset will be BreakAfter | RowAfter,
while the separator inset will just use BreakAfter.

This groundwork does not introduce any new feature at this point. It
aims to remve the numerous isNewLine and isSeparator all over the
code, and to eventually optional break after some insets like spaces
(see #11621).

Most display() methods are renamed to rowFlags(). Some are removed
because they returned Inline.

Now display() is only a helper function for hull insets.
2020-06-22 23:11:40 +02:00
Juergen Spitzmueller
bde95c1876 Fix swapped logic (#11889) 2020-06-19 16:40:07 +02:00
Jean-Marc Lasgouttes
c42776868d Do not dereference getFormat() if it is null
Return early when format is unknown. I am not sure whether this is
supposed to happen and whether we should assert on this condition.

Spotted by coverity.
2020-06-18 11:39:45 +02:00
Jean-Marc Lasgouttes
5aadf0879f Pass BufferParams by address
Spotted by coverity.

Note that this probably fixes a bug in getTokenValue(), where an author
was added to the BufferParams copy.
2020-06-18 11:17:32 +02:00
Pavel Sanda
86387120bc Rename-XHTMLStream-to-XMLStream #2.
Refactor font-related stuff to come closer to the previous xHTML output.
Patch from Thibaut Cuvelier.
2020-06-15 23:37:27 +02:00
Thibaut Cuvelier
a6b07608d8 Rename XHTMLStream to XMLStream, move it to another file, and prepare for DocBook adoption.
xml.cpp/h also merges functionalities from sgml.cpp/h.
2020-06-15 13:01:56 +02:00
Juergen Spitzmueller
134cb3b265 Consider parbreakIsNewline in plaintext output
Fixes #11886
2020-06-11 10:20:27 +02:00
Juergen Spitzmueller
cbe75042c0 Do not track row/column deletion in paste_tabular
Fixes #11884.
2020-06-07 19:18:00 +02:00
Jean-Marc Lasgouttes
2d48072e66 Get rid of Qt resources
It turns out that the resources were mostly not used anyway. Removing
them shrinks LyX binary by ~6MB.

Only autotools have been adapted. cmake will require the same
simplification.
2020-06-07 01:15:28 +02:00
Jean-Marc Lasgouttes
a71b96ac42 Fixup 74540c98: handle selection for label background
74540c98 was a fixup of d207e85c, which avoided using inset background
as inset label background.

d207e85c introduced a background under inset labels to avoid fake bold
effect.

Hopefully, this last variation will be the right one !
2020-06-05 22:32:58 +02:00
Richard Kimberly Heck
9f5491baf9 Internal buffers are valid 2020-06-01 12:23:20 -04:00
Juergen Spitzmueller
92ba05c53b Assign InsetBibtex to appropriate toc level
Fixes #11863
2020-05-15 10:14:22 +02:00
Richard Kimberly Heck
97bbcf2b9b Remove include no longer needed 2020-05-13 14:54:16 -04:00
Richard Kimberly Heck
b0def618f8 Simplify. 2020-05-13 14:49:01 -04:00
Richard Kimberly Heck
5353cf90c0 Replace functors in ExternalTemplate.cpp. 2020-05-13 14:42:52 -04:00
Richard Kimberly Heck
c506f304bc Fix a number of issues that were stopping compilation with MSVC 19.
Patch from Thibaut Cuvelier, modified slightly by me (mostly for style).
2020-05-04 19:45:58 -04:00
Richard Kimberly Heck
d6a7ec506e s/requires_/required_/ for code consistency 2020-05-04 14:05:44 -04:00
Juergen Spitzmueller
210c4aa9a2 Use translated GUI name of counter in button label 2020-05-04 09:28:07 +02:00
Juergen Spitzmueller
5171b7ea6c Keep sort order of counter actions 2020-05-04 09:22:35 +02:00
Juergen Spitzmueller
6e5f90f72f Fix capitalization
We use sentence casing in combo boxes.
2020-05-03 09:13:41 +02:00
Richard Kimberly Heck
9e4709e4de Avoid a copy 2020-05-03 02:52:56 -04:00
Richard Kimberly Heck
16e7f26cec requires is a keyword in C++2a 2020-05-03 02:18:17 -04:00
Richard Kimberly Heck
c37500050d More polishing of counter dialog. Thanks to Jürgen for help.
Also, remove the 'display value' option. We will move this to InsetInfo
at some point.
2020-05-02 20:33:03 -04:00
Juergen Spitzmueller
3d630f49c4 Fix broken mark with multiple citations
Patch by Patrick De Visschere (modified by me)
2020-05-02 08:55:58 +02:00
Richard Kimberly Heck
8a4bb40c7e Fix typo. 2020-05-01 19:47:50 -04:00
Richard Kimberly Heck
bc4ca12ab5 Polish the counter UI a bit and add some to the documentation. 2020-05-01 19:03:54 -04:00
Richard Kimberly Heck
de40b09474 Fix thinkos for counter value type 2020-04-30 23:46:18 -04:00
Richard Kimberly Heck
684d27c0fb New counter manipulation inset.
This inset allows counters to be set, reset, saved, restored, etc,
both in the LyX GUI and in the output; optionally, the effect can be
limited to the GUI. Of course, LaTeX provides means for doing all of
these things, so they could previously be done with ERT, as far as
the output is concerned. But there was no mechanism for manipulating
counters in the GUI and none for other output formats.
2020-04-30 23:09:36 -04:00
Richard Kimberly Heck
7d36b9e4fa Remove method that is now unneeded. 2020-04-25 22:27:09 -04:00
Richard Kimberly Heck
e4da314522 Try to fix bug #6505.
Keep track of nested includes and just refuse to re-enter a file
we're already in the process of handling.

There's a question whether we should do this in updateBuffer and
validate, or whether we should do it separately. For now, this seems
to work.
2020-04-25 22:22:58 -04:00
Richard Kimberly Heck
aa794a8806 Return early from the short path. 2020-04-25 17:33:49 -04:00
Richard Kimberly Heck
f1d5926a5d Fix warnings. 2020-04-25 01:26:37 -04:00
Juergen Spitzmueller
9e71bdfd32 fix comment 2020-04-18 08:01:39 +02:00
Juergen Spitzmueller
d9b884341c Reset failedtoload_ bool when include inset params are changed (#11842) 2020-04-17 10:19:46 +02:00
Juergen Spitzmueller
2748e33be5 Fix indentation 2020-04-06 16:29:34 +02:00
Juergen Spitzmueller
c0adb03a7a Fix quotation marks in PDF TOC 2020-04-06 08:53:29 +02:00
Juergen Spitzmueller
1e34871d38 Prevent wrong reference to duplicated (but deleted) label
Fixes #11803
2020-03-29 17:47:59 +02:00
Pavel Sanda
426ca3a5d6 Let hyperlink insets to be longer if name is given.
Thanks to Oystein Senneset Haaland.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg210882.html
2020-03-25 07:40:27 +01:00
Juergen Spitzmueller
52cd43dfdc Paste some special chars as insets
See #11790
2020-03-23 12:07:47 +01:00
Juergen Spitzmueller
1e409a1a75 Properly resolve tracked changes when pasting multiple tabular cells
Fixes #11791
2020-03-21 15:54:37 +01:00
Richard Kimberly Heck
7c7ea3113f Use ranges and fix nullptr warnings. 2020-03-16 01:31:30 -04:00
Juergen Spitzmueller
b96ce9a9c1 Outliner: distinguish non-active refs from broken refs
See #11782
2020-03-14 16:29:53 +01:00
Juergen Spitzmueller
0f9ef6877c Add active refs to non-active labels to brokenrefs toc 2020-03-14 15:35:47 +01:00
Juergen Spitzmueller
a1da60642c Add outliner section for broken refs and citations 2020-03-14 15:18:28 +01:00
Juergen Spitzmueller
4ddc9e2501 Color broken citations, xrefs, and includes
Fixes #11503
2020-03-14 14:17:30 +01:00
Scott Kostyshak
36208d488e Fix preview check box for include insets
GuiInclude::initialiseParams() calls InsetCommand::string2params()
which calls InsetCommandParams::clear(), however this last function
did not reset the special "preview_" parameter. Now this parameter
is reset to false as part of clear().

The ParamData class documents (see InsetCommandParams.h) the
following:

  // No parameter may be named "preview", because that is a required
  // flag for all commands.

Thus, we must handle preview_ separately from the other parameters.

This commit fixes #11779.
2020-03-13 10:16:24 -04:00
Juergen Spitzmueller
3bd03709fd Consider CT underlining pref in captions markup 2020-03-07 07:28:37 +01:00
Juergen Spitzmueller
5e21a8fbf7 Markup changed captions in workarea by underline and strikeout, resp. 2020-03-06 18:58:25 +01:00
Juergen Spitzmueller
f5a2d770b8 Footnote: (re-)add a fallback dummy counter 2020-03-06 18:21:18 +01:00
Juergen Spitzmueller
b8cac52759 Use real counter in deleted footnotes 2020-03-06 18:16:34 +01:00
Juergen Spitzmueller
339424ce00 Handle deleted BibTeX/Biblatex bibliographies
Since we cannot strike-out these, we output a placeholder when
show changes in output is active.

Fixes #11762
2020-03-06 13:49:10 +01:00
Juergen Spitzmueller
d94b708a0f Tell updateBuffer whether an inset is deleted.
Fixes #11747
2020-03-06 13:23:01 +01:00
Richard Kimberly Heck
21b4ecca7f Apparently, "requires" is a keyword in C++2a. 2020-02-28 00:28:18 -05:00
Richard Kimberly Heck
2e444dd657 Fix problem with validation when using InsetLayout. 2020-02-26 22:19:36 -05:00
Jean-Marc Lasgouttes
74540c9896 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.
2020-02-24 10:41:18 +01:00
Stephan Witt
e900b61d46 Make cell index of tabular local for column loop. 2020-02-12 12:32:31 +01:00
Juergen Spitzmueller
62a2b69bb0 Remove terminating linebreak 2020-01-16 10:19:52 +01:00
Jean-Marc Lasgouttes
ba79a4b89e Make graĥics and external insets tighter
Now RenderGraphics adds offsets that depends on its parent inset.

These offsets are set to 0 for InsetGraphics and InsetExternal. A nice
consequence is that icons shown by Info inset stick out less on screen.

As an unrelated change, the "private:" specifier of these two insets
is moved to a more reasonable place.
2020-01-15 16:00:02 +01:00
Jean-Marc Lasgouttes
7d3d07ff40 Fixup eeb4187a: copy-paste errors 2020-01-15 15:19:38 +01:00
Jean-Marc Lasgouttes
eeb4187a28 Remove some spacing above InsetColapsible when possible 2020-01-15 11:13:54 +01:00
Jean-Marc Lasgouttes
9176e60b7b Make script inset much tighter in texted.
We use the fact that offsets can be set separately for each inset.
2020-01-15 11:13:54 +01:00
Jean-Marc Lasgouttes
0ef2c192c0 Replace the hardcoded TEXT_TO_INSET_OFFSET by tunable values
The basic value is Inset::textOffset(BufferView*), which can in theory
change with the BufferView zoom and dpi. It is hardcoded to 4 for now.

Moreover, we introduce the virtual inset methods
(top|bottom|left|right)Offset, which can be tweaked for each inset.

No change intended (for now).
2020-01-15 11:13:54 +01:00
Juergen Spitzmueller
8bd47bda8c Improve comments 2020-01-15 08:40:51 +01:00
Juergen Spitzmueller
a940e9d709 Cross out ct-deleted tabular rows/columns in workarea 2020-01-15 08:37:35 +01:00
Juergen Spitzmueller
218731c3eb Whitespace 2020-01-14 16:23:09 +01:00
Juergen Spitzmueller
1e5f252667 Account for bidi (swapped columns) when calculation clines
Fixes #11717
2020-01-14 16:15:49 +01:00
Juergen Spitzmueller
66c5d055e7 Do not output deleted rows columns if show changes in output is false 2020-01-14 13:03:12 +01:00
Jean-Marc Lasgouttes
a187cbeb64 Rename PainterMetrics::change_ to change
This is not a private variable.
2020-01-14 11:50:44 +01:00
Juergen Spitzmueller
b5856628f1 Set changed status for changed column/row cells in updateIndexes() 2020-01-14 10:39:42 +01:00
Juergen Spitzmueller
2a48fbbf7f Some polishment. 2020-01-14 09:55:16 +01:00
Juergen Spitzmueller
33133733ae Record change author and time for tracked columns/rows
This now uses a real change object
2020-01-14 09:28:36 +01:00
Juergen Spitzmueller
194298045c Color lines of added/deleted rows/columns 2020-01-13 19:02:48 +01:00
Jean-Marc Lasgouttes
93794d6fea Implement isChanged for tabular inset. 2020-01-13 16:35:15 +01:00
Jean-Marc Lasgouttes
b0371714a0 Only show pencil change mark when inset is collapsed 2020-01-13 16:35:15 +01:00
Jean-Marc Lasgouttes
e340f46476 Fixup bf7f4d71: Let changeRefsIfUnique handle undo
This allows for a much lower memory consumption than a plain
recordUnfoFullBuffer.

Related to bug 6494.
2020-01-12 22:18:36 +01:00
Jean-Marc Lasgouttes
4a4ded2297 Reimplement computation of change tracking status
This is a reimplementation of 6d4e6aad that is both simpler and more
complete.

This uses the updateBuffer mechanism to implement a fully working
version of Inset::isChanged(). Now the function returns true for an
inset that contains an inset that contains a change, for example.

Moverover Buffer::areChangesPresent() is merely a proxy for
Buffer::inset().isChanged().
2020-01-12 20:26:35 +01:00
Jean-Marc Lasgouttes
ce950f1ea5 Fixup b321bb1a: set changebar when inset contains changes
Add Paragraph::isChanged() and InetText::isCgchanged() which indicate
the presence of a change in the relevant object.

Sets Row::needsChangebar() when adding an inset that contains changes.

Related to bug #8645.
2020-01-12 20:26:35 +01:00
Juergen Spitzmueller
bbc6ea4a5f Implement change tracking of column/row addition/deletion
Fixes #8469

File format change
2020-01-11 16:17:04 +01:00
Juergen Spitzmueller
c77999a5f3 Add buffer param to opt-out fragile content movement
Fixes #11714

File format change
2020-01-10 10:21:09 +01:00
Juergen Spitzmueller
79674c7632 Track changes in InsetCommands 2019-12-31 15:46:03 +01:00
Juergen Spitzmueller
affc006bae Honor change tracking when automatically renaming refs to labels
Fixes rest of #11556
2019-12-31 12:29:53 +01:00
Juergen Spitzmueller
a5db5d4c90 whitespace 2019-12-30 16:28:15 +01:00
Juergen Spitzmueller
8a17cc01e0 Implement (basic) ct for tabular-feature delete-row and delete-column
Fixes part of #8469

For a proper fix that works with change-reject as well as with hide
changes in output, we need to implement
ct information in tabular's row and column.
2019-12-29 14:09:52 +01:00
Juergen Spitzmueller
b37b39365f Remove obsolete FIXMEs 2019-12-29 12:07:55 +01:00
Juergen Spitzmueller
e65fdc6a51 Track change of label name
Fixes #11556
2019-12-29 11:01:18 +01:00
Juergen Spitzmueller
b321bb1aed Indicate change of content in label of collapsed collapsible
Fixes #8645
2019-12-29 09:46:18 +01:00
Juergen Spitzmueller
89b5607e0a Centralize code to markup deleted complex objects (with tikz) in output
This fixes #9293
2019-12-28 13:43:17 +01:00
Juergen Spitzmueller
da5ad1736a Handle change-accept and change-reject in multi-cell selection
Fixes #8426
2019-12-27 12:05:56 +01:00
Juergen Spitzmueller
7c63896c60 CT: Mark deleted floats in output
Fixes #11175
2019-12-27 09:50:11 +01:00
Jean-Marc Lasgouttes
aeed6fb8fa Do not check again and again for non existing files
If the file of an InsetInclude does not exist, loadIfNeeded will try
again and again to look for it. This is very bad for files with many
include insets, especially on windows.

Fixes bug #11656.
2019-12-26 16:45:40 +01:00
Juergen Spitzmueller
e5a9d09870 Mark deleted graphics in output
Fixes #11687
2019-12-26 07:15:37 +01:00
Scott Kostyshak
79787c2274 Correct typo in method name getDescendants()
When used as an adjective, both variants "descendent" and
"descendant" are acceptable, but when used as a noun only
"descendant" should be used.

For a reference, see here:

https://en.wiktionary.org/wiki/descendent#Noun
2019-12-15 23:36:17 -05:00
Scott Kostyshak
989a49f377 Remove execute permission from two source files 2019-12-15 23:32:29 -05:00
Scott Kostyshak
f1accdebf3 Refresh previews on branch toggle
We only referesh previews if the branch that is toggled exists in a
descendant. This code could be further optimized, as noted in the
comments.

For relevant discussion, see the following ML thread:

https://www.mail-archive.com/search?l=mid&q=20191209022030.d6gyy3abdectr3yz%40tallinn
2019-12-11 11:48:56 -05:00
Scott Kostyshak
c61472303e Fix crash due to encoding issues with child doc
This crash occurred starting with 553bebc3, and can be triggered
when preview is enabled both in preferences and in a child document
inset. For a minimal example, see the following ML thread:

  https://www.mail-archive.com/search?l=mid&q=20191209002609.6fao3dljtf3ohl25%40tallinn

This fix restores behavior to before that commit for the case when
oldEnc is 0.
2019-12-10 09:17:49 -05:00
Jean-Marc Lasgouttes
5ac3b88007 Disable inset-dissolve in table cells
This is better than making sure that the inset has exactly one cell.

In the future, inset-dissolve could be extended to dissolve all the
cells contents in the enclosing text.

Note that this check does not appear in mathed, and using dissolve in
e.g. fraction inset may lead to data loss (only current cell contents
is preserved).
2019-12-06 09:54:43 +01:00
Pavel Sanda
88ff1686bc typo 2019-11-21 17:13:47 +01:00
Pavel Sanda
ae16abf57a Reduce number of strings (the same one in buffer). 2019-11-21 17:11:09 +01:00
Juergen Spitzmueller
1a1adbc821 Handle paragraph direction switch in captions (with polyglossia/bidi) 2019-11-19 13:45:35 +01:00
Juergen Spitzmueller
967158c054 Always use local font switches in table cells. 2019-11-17 11:07:18 +01:00
Juergen Spitzmueller
3c0e0f8a29 Polish warning 2019-10-26 09:10:40 +02:00
Juergen Spitzmueller
1c0572f1ab Validate if graphics path is encodable
Fixes #11688
2019-10-26 08:33:51 +02:00
Jean-Marc Lasgouttes
912704511b Make some constructors explicit
Spotted by cppcheck.
2019-09-17 23:15:09 +02:00
Jean-Marc Lasgouttes
3fffa6eb83 Fix cut-n-paste error
Spotted by cppcheck.
2019-09-16 00:47:47 +02:00
Jean-Marc Lasgouttes
3aba81cf6a Many small code cleanups suggested by cppcheck 2019-09-16 00:45:20 +02:00
Jean-Marc Lasgouttes
7c1891e0b4 Remove unused private members.
Spotted by cppcheck.
2019-09-16 00:17:08 +02:00
Jean-Marc Lasgouttes
714113655a Follow some of the performance advice from cppcheck
Most of that is changing string to string const &.
2019-09-13 16:23:49 +02:00
Richard Kimberly Heck
e71280221f Fix nullptr warnings 2019-09-11 22:13:25 -04:00