Commit Graph

777 Commits

Author SHA1 Message Date
Kornel Benko
801768af92 FindQuick: Amend 1f7d90d6: Add some not handled quotation marks 2022-04-08 19:59:55 +02:00
Kornel Benko
1f7d90d636 Find: Advanced + Quick:
Expand list of quotes to include also '» « › ‹'
Enable quick find to search for quotes too
2022-04-08 08:40:32 +02:00
Kornel Benko
498a5cd487 FindAdv: Added possibility to search also in deactvated branches
To include content of deactivated branches to the searched region
one has to use the lyx-funcion
	search-ignore non-output-content true
2022-03-10 10:51:02 +01:00
Thibaut Cuvelier
997f0621c5 Rename LATEX debug level to OUTFILE and use it for DocBook, HTML, and XML messages. 2022-03-01 16:05:42 +01:00
Jean-Marc Lasgouttes
b365a47112 Avoid null pointer dereference
Spotted by coverity. In the real world, getInset should never return
nullptr when isInset is true.
2022-02-20 17:22:07 +01:00
Thibaut Cuvelier
3f9e21b826 CharInfo: allow to store several commands (both text and math) for each character.
Only the first one is returned by default with existing methods to guarantee compatibility with existing code.
2022-02-20 01:33:03 +01:00
Juergen Spitzmueller
f71f71d013 Amend 0789f2f2ae
Use getFont() which considers fonts_default_family adjustments
2022-02-07 16:21:20 +01:00
Juergen Spitzmueller
d66c27de66 Don't set open_font to false if lang hasn't been closed 2022-02-06 10:02:17 +01:00
Juergen Spitzmueller
28dd7b7de3 Do not set open_font true if none was open 2022-02-04 17:24:16 +01:00
Juergen Spitzmueller
cc4ed5e04b Do not try to pop from an empty stack 2022-02-04 17:23:52 +01:00
Jean-Marc Lasgouttes
0789f2f2ae Fix font inside footnote inset
An inset that resets its font (like Footnote) does not care at all
about enclosing font. Therefore the real starting point is the class
default font. This avoid cases where the footnote contents is forced
to \normalsize.

It turns out that the Greyedout note inset, did inherit font but was
declared as not doing it. This commmit changes the definition by
adding \normalfont\normalsize so that no inheritance happens.

Note that actually \normalfont resets everything but the font size.
This does not matter for footnote (which has its own font size) and
greyedout (which is fixed now), but may matter elsewhere. Also, I do
not know what the situation with HTML is.
2021-12-31 13:40:53 +01:00
Juergen Spitzmueller
a5b7eeacaa Remove remaining math cprotection test.
We'll see if someone comes up with a reproducible case, and if so,
whether ordinary protection works here as well.

See #6243
2021-12-27 11:52:25 +01:00
Juergen Spitzmueller
582fe0990f \protect xymatrix in fragile context
(\cprotect'ion not needed then).
2021-12-27 11:42:30 +01:00
Juergen Spitzmueller
596b2d16ee \protect substack in fragile context
(\cprotect'ion not needed then).
2021-12-27 11:37:59 +01:00
Juergen Spitzmueller
3e4c831f1e Remove obsolete \cprotect'ion (#6243) 2021-12-27 10:24:58 +01:00
Jean-Marc Lasgouttes
542445d07d When pasting text, keep line breaks when "parbreak is newline"
This is much easier for listings, ERT or Verbatim.

Fixes bug #8026.
2021-12-26 20:22:01 +01:00
Juergen Spitzmueller
c2f2ba57f1 Do not repeatedly call main_font_encoding()
This method impacts on performance and we store the value anyway in
the output params.
2021-12-20 12:09:12 +01:00
Juergen Spitzmueller
61b8afd893 Paragraph::needsCProtection(): use inset list
rather than checking each pos whether it's an inset or not.

This was a significant performance bottleneck (particularly getInset()
itself seems slow).
2021-12-19 15:39:49 +01:00
Juergen Spitzmueller
a9eb3c9990 Whitespace 2021-11-25 18:47:23 +01:00
Juergen Spitzmueller
5a6498c3d3 Let paragraph::requestSpellcheck() consider contained insets
if "check whole paragraph" has been requested.
2021-11-25 17:04:58 +01:00
Juergen Spitzmueller
f0126b9fdf \\noindent in a paragraph that starts with \\vspace is possible
But the \\vspace must precede \\noindent (the latter leaves vmode)
2021-10-31 11:56:53 +01:00
Juergen Spitzmueller
fbc64ea7ee Amend comment 2021-10-31 10:38:52 +01:00
Juergen Spitzmueller
456a72b62a Do not output \\noindent for paragraphs starting with a vspace
These are not indented anyway, and the extra \\noindent causes whitespace
2021-10-31 10:22:11 +01:00
Juergen Spitzmueller
18a91852e1 Properly terminate \\noindent 2021-10-31 09:58:10 +01:00
Juergen Spitzmueller
633013453e Factor out Paragraph::isPartOfTextSequence
Amends 045c25cf76
2021-10-31 09:26:57 +01:00
Juergen Spitzmueller
045c25cf76 Prevent unneeded (and wrong) \noindent
* When a paragraph is logically empty (only contains stuff which is not
  part of the text sequence

* In centered paragraphs
2021-10-30 14:19:46 +02:00
Juergen Spitzmueller
b55aea6776 Prevent unneeded cprotection in branches (#12378) 2021-10-21 10:27:05 +02:00
Juergen Spitzmueller
9eab66ebb4 Close font switches before comments 2021-09-30 12:53:41 +02:00
Jean-Marc Lasgouttes
b08a653f35 We only support gcc >= 4.9. 2021-04-07 17:17:05 +02:00
Jean-Marc Lasgouttes
ac8948b8e0 Fixup 86bfa10a: add checks before updating bookmarks
When doing cut and paste, it can happen that inset_owner_ is null, or
that the inset is not related to a buffer.
2021-03-12 17:42:02 +01:00
Jean-Marc Lasgouttes
86bfa10abb Adjust bookmark position when inserting/deleting from paragraph
Without this, bookmarks positions drift when editing.
2021-03-11 16:00:32 +01:00
Jean-Marc Lasgouttes
87e59caebe Constify some Paragraph::Private methods 2021-03-09 16:46:05 +01:00
Stephan Witt
6273c1f66d Amend change 07122f066b - correct string access. 2021-03-08 21:26:58 +01:00
Juergen Spitzmueller
c8feef2e23 Add way to remove items from document dictionary 2021-03-07 18:23:07 +01:00
Stephan Witt
07122f066b Refactoring: move check for match in spellignore() to buffer params. 2021-03-07 17:46:01 +01:00
Juergen Spitzmueller
430327152a Fix per-document dictionary with Mac 2021-03-07 17:25:31 +01:00
Juergen Spitzmueller
07396ab244 Meet per-document spelling dictionaries (fixes #86 [sic!])
Now who can beat that? ;-)
2021-03-06 16:53:33 +01:00
Pavel Sanda
9e734339e9 Compile with gcc 4.9 again. 2021-02-21 20:05:06 +01:00
Thibaut Cuvelier
358e4ace56 DocBook: implement prepended/appended arguments for all kinds of elements.
Previously, it was just in InsetText.
2021-02-19 17:38:38 +01:00
Enrico Forestieri
7114de5175 Fix bug #12148 2021-02-19 02:19:06 +01:00
Enrico Forestieri
2fdee24959 Correctly show deleted url with change tracking
This fixes the issue reported here:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg202545.html

I could not find an open ticket about it.
2021-02-17 19:51:01 +01:00
Juergen Spitzmueller
ab1cc8e1c2 Consider case (in)sensitivity when querying special char insets 2021-02-17 15:50:54 +01:00
Thibaut Cuvelier
d18dff22b5 DocBook: add the DocBookNoFontInside layout configuration. 2021-02-13 05:09:59 +01:00
Enrico Forestieri
22ee249c3e Allow pasting references to mathed
A reference can be directly inserted into mathed but cannot be pasted
because the pasted material is returned in plain text format. This patch
allows getting a string from the cut stack in a suitable format allowing
the math parser to actually create an InsetRef.

Fixes #11539
2021-01-30 01:32:40 +01:00
Jean-Marc Lasgouttes
ef091ca0ea ChangesMonitor: beware of exceptions in destructor
There may be an exception is the paragraph does not have an owner. In
this case, there is nothing to do anyway.

Spotted by coverity.
2021-01-29 18:45:50 +01:00
Jean-Marc Lasgouttes
f3a0e8ff9a Run updateBuffer when adding/merging changes
Following 4a4ded22, the enabling of some change-related functions is
handled in updateBuffer. However, this method is not ran at every
document change for performance reasons.

This patch adds code to every place that modifies
Paragraph::Private::changes_ that checks whether the `changedness' of
the paragraph, err... changes.

To this end, a new helper struct is introduced that remembers
paragraph state at contruction time, and compares it to new state in
the destructor.

New forceUpdate/needUpdate methods are added to Buffer class, since
the cursor is in general not available in the places where these
changes are made.

Fixes bug #12074.
2021-01-28 11:30:05 +01:00
Kornel Benko
961e393b95 FindAdv: Make search for text in deleted regions configurable.
The function call 'search-ignore deleted false'
makes findadv to search also deleted parts,
while 'search-ignore deleted true' will omit these parts.
2021-01-22 21:11:28 +01:00
Kornel Benko
3259f3c73e FindAdv: Remove dead code
+ correct detection of backspaced '{' and '}' in regex with format search enabled
2021-01-18 17:06:05 +01:00
Kornel Benko
ec387b6d65 FindAdv: Handle search for '{' and '}'
In format-search the chars '{' and '}' are understood as latex parentheses, which normally are not
part of text and are discarded.
Instead we fake them as if they were a char like \backslash or \guilemotright or such.
2021-01-18 01:10:07 +01:00
Kornel Benko
9bdd0b31db Fix #12069: Broken search
Do not count ignored characters as matching
2021-01-14 14:36:07 +01:00
Juergen Spitzmueller
22efd5a5ef Simple Search: find isChar() insets (#11462) 2021-01-13 08:19:54 +01:00
Juergen Spitzmueller
c049527941 Consider inset strings in simple find/replaceAll (#12049) 2021-01-12 16:45:32 +01:00
Juergen Spitzmueller
d87511308b Ignore tracked deletions in simple find (#11051) 2021-01-12 16:11:58 +01:00
Kornel Benko
6211469b5f FindAdv: A try to handle backslashes in text
Otherwise we are unable to distinguish text from latex commands.
For instance '\color{blue}' in text-part is normal text, while othervise
it defines following characters as being blue colored)
2021-01-06 02:20:15 +01:00
Kornel Benko
b3d4271e78 Adv-Find: Try to use some more unicode chars (instead of latex macros) 2020-12-15 18:08:02 +01:00
Richard Kimberly Heck
41216228c0 Change name in source files 2020-12-05 17:17:02 -05:00
Juergen Spitzmueller
7b6bb23b87 Move dummy bool a bit closer to context 2020-12-03 08:50:43 +01:00
Juergen Spitzmueller
098c16f153 Assure \par is output when needed with fontswitch 2020-12-02 14:32:05 +01:00
Juergen Spitzmueller
95fed10131 Exclude insets without output from fontswitch_insets 2020-12-02 14:31:26 +01:00
Yuriy Skalko
c0a5987181 Better naming for enums 2020-12-01 00:46:21 +02:00
Yuriy Skalko
ecf62a8f21 Refactor OutputParams
Now all Inset hierarchy uses OutputParams.h included in Inset.h.
Forward declare some enums to reduce header dependencies.
2020-11-30 13:05:03 +02:00
Thibaut Cuvelier
59acb375d1 DocBook: add layout parameters to control the special case and argument positioning.
Only for flex insets.

Also add similar checks in InsetText to avoid bibliographies in paragraphs.
2020-11-29 22:54:03 +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
Yuriy Skalko
d38eddb397 Match header/source function argument naming 2020-11-01 22:23:44 +02:00
Yuriy Skalko
a7018252b7 Constify 2020-10-25 09:28:34 +02:00
Pavel Sanda
8af747c9d9 Revert da8b5de97 because of MSVC 2017.
In GCC `min` is defined via including <vector>.
2020-10-24 12:06:54 +02:00
Yuriy Skalko
196d9caeb0 Clean includes using the output of iwyu tool 2020-10-20 11:38:55 +03:00
Yuriy Skalko
d25c10ed81 Remove duplicate and unused header includes in .cpp files 2020-10-19 18:01:11 +03:00
Pavel Sanda
da8b5de973 Move <algorithm> from DocIterator.h 2020-10-14 13:01:30 +02:00
Yuriy Skalko
238fd9ac50 Right exception rethrowing 2020-10-12 15:14:55 +02:00
Yuriy Skalko
7d38a4d126 Loop refactoring 2020-10-09 09:04:20 +03:00
Thibaut Cuvelier
6a0e93f162 Amend 249d899
Non-ASCII characters make std::isspace crash, but not lyx::isSpace.
2020-10-07 04:49:20 +02:00
Thibaut Cuvelier
249d899298 DocBook: clean output when fonts span over text that ends with a space 2020-10-05 16:22:58 +02:00
Yuriy Skalko
fe85162a29 Refactoring 2020-10-05 14:55:00 +02:00
Yuriy Skalko
715b8cda54 Refactoring based on cppcheck suggestions 2020-10-03 13:39:51 +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
Juergen Spitzmueller
b814c4fda7 Fix unnecessary cprotect 2020-09-20 08:45:42 +02:00
Thibaut Cuvelier
44a7d2bc88 DocBook: adapt code for older GCC. 2020-09-19 23:55:07 +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
594a4763b7 Fix a few warnings. 2020-09-19 20:43:40 +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
39ad6e84f0 DocBook: improve equation formatting (new lines for block equations). 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
87dae26e4a Simplify code to generate only one paragraph at a time. 2020-09-19 20:43:37 +02:00
Stephan Witt
3c1b4a5d7e #6401 avoid use of lyxCode() 2020-08-25 10:54:49 +02:00
Juergen Spitzmueller
448e5efab4 Do not attempt to close language twice 2020-08-21 11:07:22 +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
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
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
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