Commit Graph

27165 Commits

Author SHA1 Message Date
Yuriy Skalko
fdefff1108 Fix signed integer overflow on x = 0, detected by GCC sanitizer 2020-11-27 12:17:22 +02:00
Yuriy Skalko
8793c2eed9 Replace ;; 2020-11-27 12:16:54 +02:00
Yuriy Skalko
59e2becdd8 Use iround function, amend c0ce79452f 2020-11-27 12:16:50 +02:00
Yuriy Skalko
8cb728c2d7 Constify 2020-11-27 12:16:45 +02:00
Yuriy Skalko
816512879d Use to_string function 2020-11-27 12:16:41 +02:00
Yuriy Skalko
6a21ec854b Move several common types to support/types.h 2020-11-27 12:16:22 +02:00
Jean-Marc Lasgouttes
4b15d64f51 Remove deprecated enum value with Qt5 2020-11-27 10:23:49 +01:00
Thibaut Cuvelier
bd9dce3749 DocBook: bug fixes for JASA.
Includes more consistent behaviour for bibliographies in appendix (do the same as LyX shows the user, i.e. bibliography in appendix).
2020-11-27 05:53:46 +01: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
6201158e5d DocBook: fix appendices. 2020-11-27 02:50:03 +01:00
Thibaut Cuvelier
587f1f5571 DocBook: implement Mathematical Monthly. 2020-11-27 01:54:00 +01:00
Thibaut Cuvelier
46d90b3415 amend dae0640436
Fix a warning in the code.
2020-11-26 23:33:03 +01:00
Scott Kostyshak
9649e80c44 Fix Clang warning about struct/class mismatch
CaretGeometry is defined as a struct, but was forward-declared as a
class. Now we forward-declare as a struct. This addresses the
following Clang warning (that does not appear with GCC):

src/frontends/CaretGeometry.h:27:1: warning: 'CaretGeometry' defined
as a struct here but previously declared as a class; this is valid,
but may result in linker errors under the Microsoft C++ ABI
[-Wmismatched-tags]
2020-11-26 13:51:12 -05:00
Jean-Marc Lasgouttes
c68be9a9be Improve some debug messages
The current code did not give much information.

I am not sure why the <<FontInfo operator is not defined in
FontInfo.h, but I figured that it was not necessary to understand that
now.
2020-11-26 11:09:17 +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
ed6fbdd249 DocBook: implement Kluwer.
Includes an assertion fix that only occurred with this example.
2020-11-26 06:41:13 +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
Yuriy Skalko
0a8d3c9887 Fix loop variable, amend d8e8a93a58 2020-11-25 23:16:51 +02:00
Yuriy Skalko
43477730a4 Better PNG detection in guessFormatFromContents 2020-11-25 23:16:45 +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
b3be47765b Fix memory leak 2020-11-25 02:43:26 +02:00
Yuriy Skalko
43b16548b4 Cleanup headers 2020-11-25 02:43:16 +02:00
Richard Kimberly Heck
2ae77d5091 Only set buffer if it is not null.
Yuriy found these specific problems. They do not cause a crash, but
they are not good.
2020-11-24 17:07:16 -05:00
Richard Kimberly Heck
5691b89858 nullptr 2020-11-24 17:07:16 -05:00
Jean-Marc Lasgouttes
8673c5ac28 Forgot this. 2020-11-24 21:20:25 +01:00
Jean-Marc Lasgouttes
1b3ffa6627 Rewrite (again!) the code for caret drawing
The caret geometry is now computed in BufferView as a list of shapes
(caret, horizontal l-shape if needed, completion triangle if needed)
kept in a variable of type CaretGeometry.

The code in WorkArea.cpp only has to draw these shapes. The
CaretWidget (which never was a widget) in GuiWorkArea.cpp is gone
now.

As a consequence, the bounding box for the cursor is known precisely
and therefore rows should be repainted correctly now. This avoids
caret droppings.

Fixes bug #12024.
2020-11-24 20:12:42 +01:00
Juergen Spitzmueller
4487af367c Do not \cprotect \textcolor
Fixes #12034
2020-11-24 15:19:56 +01:00
Kornel Benko
be50eb507f Adv-Find: Add handling for \cdot (at least if using format-search 2020-11-23 21:55:13 +01:00
Jean-Marc Lasgouttes
7a28258d32 (almost) Proper fix for caret droppings
Try to find the most inner row that is overwritten by the caret. This
allows to replace the hack in TextMetrics::draw, which did not really
work.

Note that there are still issues with emphasized caret at the
beginning of inset, which will require some code reorganisation.

Fixes current recipe of bug #12024.
2020-11-21 20:00:26 +01:00
Jean-Marc Lasgouttes
d53b44273c Compilation fix 2020-11-21 19:54:43 +01:00
Jean-Marc Lasgouttes
ba8ca0e384 Correct caret position from the start 2020-11-21 19:39:48 +01:00
Yuriy Skalko
8dfe07b5b5 Use std::any when compiler supports C++17 or later 2020-11-21 20:32:51 +02:00
Yuriy Skalko
cbad214cdd Refactor checksum calculation 2020-11-21 20:32:43 +02:00
Yuriy Skalko
0b1e0b8610 Remove unused headers 2020-11-21 20:32:30 +02:00
Yuriy Skalko
7ca2f2b58d Use range-based loops 2020-11-21 20:32:16 +02:00
Jean-Marc Lasgouttes
2d27d033a6 Typo and reformatting 2020-11-21 19:13:29 +01:00
Pavel Sanda
4eb791ff18 Erase white frame in fullscreen mode.
Since Qt 5.9.4 one can't set negative margins unless explicitely
allowed by a new flag. This brought back the white frame in
fullscreen mode.

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg214002.html
2020-11-21 16:02:54 +01:00
Yuriy Skalko
916ceeba12 Simplify Length 2020-11-21 00:32:47 +02:00
Yuriy Skalko
2941bc0198 Add more override specifiers 2020-11-21 00:32:40 +02:00
Yuriy Skalko
09eba40418 Remove unused header 2020-11-21 00:32:35 +02:00
Thibaut Cuvelier
2bbfc726c4 amend 2c6537ff for C++11 compatibility 2020-11-20 21:59:22 +01:00
Thibaut Cuvelier
1176fab1d4 DocBook: make InsetText respect tag types. 2020-11-20 18:41:03 +01:00
Thibaut Cuvelier
3a02251bfa XML: move higher-level tag-opening and closing functions to xml namespace. 2020-11-20 18:41:03 +01:00
Thibaut Cuvelier
0fe3d05344 XML: add tag-type information in XML tags. It is not yet used. 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
Kornel Benko
5474c3fb4b Missing '{' 2020-11-20 16:32:51 +01:00
Jean-Marc Lasgouttes
d8e8a93a58 Use range-based loops in GuiView 2020-11-20 15:14:21 +01:00
Yuriy Skalko
b56a64a8ef Typo 2020-11-20 15:57:34 +02:00
Yuriy Skalko
f953d88c88 Simplify constructors 2020-11-20 15:57:26 +02:00
Jean-Marc Lasgouttes
a877cdb196 Do not set language from keyboard in passthru setting 2020-11-20 13:49:26 +01:00
Jean-Marc Lasgouttes
875b1def4f Take right margin into account for text inset width
This is particularly important for contents in RtL languages, where
the right margin may contain the paragraph indentation, or
itemize/enumeration symbols.

Fixes bug #12030.
2020-11-17 17:51:43 +01:00
Thibaut Cuvelier
c6fe1fbe5f DocBook: implement svglobal. 2020-11-16 20:15:34 +01:00
Yuriy Skalko
888ff9c114 Amend 9b1dc338b2. Fix compilation in GCC 4.9 2020-11-15 22:41:38 +02:00
Thibaut Cuvelier
dc94abf039 DocBook: specific fix for Localization_Test.lyx.
In one paragraph, there was both a float and a list of floats in a paragraph: the list of floats has no DocBook output, so that there should be no surrounding <para>.
2020-11-15 19:04:21 +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
Sam Crawley
f457a32a13 Fix issue in running compare from the command line
Because Compare uses threads, we need to make sure it is finished when a
compare is executed from the command line. This was a problem for command
sequences, because the next command would start running before the compare
was done, and the buffer with differences was available.

So this commit adds the "run-blocking" parameter when using
LFUN_DIALOG_SHOW to run a Compare. When calling Compare with run-sync, the
LFUN will wait for the compare worker thread to finish before returning and
possibly running the next command.
2020-11-15 10:35:28 +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
Jean-Marc Lasgouttes
222a317dd2 Store correctly the window position with Wayland
To do this, hard-coded test for xcb had to be replaced with a call to
platformName(). Since this method does not exist in Qt4, we emulate
it.

Note that Qt5 uses xcb bindings for X11 system, while Qt4 relies on
older X11 bindings. We return platorm == "qt4x11" in this case.

Fixes bug #11746.
2020-11-14 17:55:59 +01:00
Yuriy Skalko
9b1dc338b2 Simplify Changers 2020-11-12 14:22:00 +02:00
Thibaut Cuvelier
14887dda1c DocBook: implement achemso. 2020-11-12 03:18:03 +01:00
Richard Kimberly Heck
fdd0a6f849 Revert "Improve structure of updateMacros"
The problem here is that the check against TEXT_CODE only
catches InsetText, and not its subclasses. Same for the check
against MATH_HULL_CODE. So there is reason not to check codes
here.

This reverts commit 5a54ccfa87.
2020-11-11 11:26:11 -05: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
Jean-Marc Lasgouttes
411333fa95 Make sure that Cursor::setCurrentFont sets LaTeX language in ERT&friends
Fix issue when language is set to document language instead of
latex_language in ERT and pass thru layouts.

To trigger the issue
1/ select all in a ERT inset
2/ type "abc"
3/ look at code in code preview pane

==> result: the "a" is in document language, the "bc" in LaTeX language
(as should be)
2020-11-10 14:09:31 +01:00
Yuriy Skalko
437fef65aa Simplify operator== for ParConstIterator
Comment out it while it is unused.
2020-11-08 23:29:20 +02:00
Yuriy Skalko
589e780e15 Whitespace & renaming 2020-11-06 21:34:02 +02:00
Yuriy Skalko
01e673635b MacroData refactoring 2020-11-06 21:33:56 +02:00
Yuriy Skalko
5a54ccfa87 Improve structure of updateMacros 2020-11-06 21:33:41 +02:00
Richard Kimberly Heck
97ecf71016 Remove dead comment 2020-11-06 11:30:07 -05:00
Richard Kimberly Heck
5bd498c56d Move trivial constructors into header. Remove unimplemented one. 2020-11-06 11:30:07 -05: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
Thibaut Cuvelier
85a8664ba5 MathML: make InsetMathXArrow generate valid XML entities when required.
Before this, it only supported HTML entities.
2020-11-05 02:18:47 +01:00
Thibaut Cuvelier
7f8d0fd7b7 DocBook: ensure that tables do not get wrapped in a paragraph. 2020-11-05 02:03:34 +01:00
Thibaut Cuvelier
307aefef89 DocBook: don't consider bridgeheads for abstracts. 2020-11-05 00:02:59 +01:00
Jean-Marc Lasgouttes
4094afaf2e Indentation 2020-11-03 15:12:20 +01:00
Richard Kimberly Heck
060c3de2f0 StepMasterCounter --> StepParentCounter 2020-11-02 17:36:58 -05:00
Richard Kimberly Heck
fba1c434e5 Revert "Fix a number of signedness warnings"
This reverts commit e8a28c33c5.

I was not aware that we used negative numbers for author IDs!
2020-11-02 17:09:59 -05:00
Richard Kimberly Heck
39f997048e Remove 'slave' terminology from Counters.cpp.
And with it, 'master'. That is less problematic by itself (so I'm not
worried about 'master document'), but here it doesn't make a lot of
sense without 'slave'.
2020-11-02 17:09:59 -05:00
Yuriy Skalko
8a25741ccd Use default member initialization in OutputParams 2020-11-02 20:30:01 +02:00
Richard Kimberly Heck
e8a28c33c5 Fix a number of signedness warnings 2020-11-02 12:03:37 -05:00
Richard Kimberly Heck
cfd19d86be whitespace and style 2020-11-02 11:45:09 -05:00
Richard Kimberly Heck
2945bc356e whitespace 2020-11-02 11:38:52 -05:00
Yuriy Skalko
c7d0ba0f26 Simplify bformat 2020-11-02 11:54:40 +02:00
Thibaut Cuvelier
ebfdac4fa3 DocBook: implement svmult.
More generally, ensures that paragraphs in abstracts do not have something else configured.

A major problem in making the layout more useful is that article titles are not supposed to be in TOC.
2020-11-02 04:30:39 +01:00
Richard Kimberly Heck
679ce23ddc Some constness, following Yuriy 2020-11-01 17:37:28 -05:00
Yuriy Skalko
1fdcd7bf14 Constify LaTeXFont 2020-11-01 22:25:08 +02:00
Yuriy Skalko
81a5e7927b Use default member initialization 2020-11-01 22:25:03 +02:00
Yuriy Skalko
6f514da5fd Use bool literals 2020-11-01 22:24:48 +02: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
Yuriy Skalko
dbe35af542 Simplify with std::map::insert 2020-11-01 22:22:27 +02:00
Richard Kimberly Heck
ca3077b40b Change the logic of the indentation setting.
The option here is to NOT indent the paragraph, so make that clear.
As it was, we would set "Indent" to false in the case of paragraphs
that do not permit indentation and then write that, uselessly, to the
LyX file if we wrote any other option (and then keep writing it, even
if other options were removed). Now, we will write it only if it's been
explicitly set.
2020-10-30 13:34:36 -04:00