Commit Graph

28419 Commits

Author SHA1 Message Date
Juergen Spitzmueller
293b8dbe67 Do not unnecessarily reset the outliner to TOC on internal model changes
The activated() signal is only issued on user changes, what we want here,
not internal model changes (as with currentIndexChanged())
2022-11-02 12:33:20 +01:00
Juergen Spitzmueller
b51f1f7800 Remove wrong count comment 2022-11-02 10:46:52 +01:00
Kornel Benko
9be6a425df Workaround for advanced search in 'uncover'-inset.
Allows for matches inside style Uncover if used
	Settings->Adhere to search string formatting
This does not cover all of #12594 though.
2022-11-02 10:33:29 +01:00
Juergen Spitzmueller
5a53a5f608 Fix output of subentry with sortkey 2022-11-01 11:55:57 +01:00
Juergen Spitzmueller
fd5adacef2 Handle empty index subentries (#7820) 2022-11-01 10:20:50 +01:00
Thibaut Cuvelier
3bf1b97ae5 InsetIndex: hide printTree behind a LYX_INSET_INDEX_DEBUG flag
The change ensures that the function is not seen by the compiler when
the debug mode is not enabled. The flag is not set by default, because
it might have a significant performance impact for large indices.

The reason for the flag is that the default configuration under Linux
forbids the definition of unused functions.
2022-11-01 00:00:37 +01:00
Juergen Spitzmueller
3c488c22e1 Update tex2lyx tests 2022-10-31 21:11:07 +01:00
Juergen Spitzmueller
ca89c6c18e Typo 2022-10-31 07:52:11 +01:00
Juergen Spitzmueller
077ccf905d Rename subindex to subentry
Makes more sense, and distinguishes it better from printsubindex
2022-10-31 06:51:38 +01:00
Juergen Spitzmueller
fba3dace9e Display subinsets in inset button and outliner 2022-10-31 06:04:13 +01:00
Juergen Spitzmueller
9dc9fa68ce Enter subindex on Enter in index 2022-10-31 05:25:04 +01:00
Juergen Spitzmueller
874f559bc7 Add last missing bit to insetindexmacros: file format change and lyx2lyx
The feature is now ready for primetime!
2022-10-29 15:11:11 +02:00
Juergen Spitzmueller
e39c755b85 Enable pagination property with inset sortkey 2022-10-29 12:48:45 +02:00
Juergen Spitzmueller
3a949b32f0 Merge branch 'master' into features/indexmacros 2022-10-29 11:42:14 +02:00
Juergen Spitzmueller
6415afc1fe Minor improvements to the screen width UI
* fix order of input and unit widgets
* remove redundant "Screen used" label
* Add tooltip
2022-10-29 11:17:22 +02:00
Scott Kostyshak
172e544e2c Whitespace 2022-10-28 18:28:31 -04:00
Jean-Marc Lasgouttes
a852423781 Revert "WIP: refactor Systemcall"
This reverts commit c8015878e1.

Committed by mistake obviously!
2022-10-28 18:04:45 +02:00
Jean-Marc Lasgouttes
6c2d4f9392 constify 2022-10-28 18:03:50 +02:00
Jean-Marc Lasgouttes
c8015878e1 WIP: refactor Systemcall
**WARNING; only compilation has been ested; even that does not work**

The goal of this commit is to use the list-based API to
QProcess::start, to avoid annoying syntax issues (see issues with
pasting from LaTeX).

* Create a new latexEnvironment() in filetools.h that returns a
  map<string, string> containing the variables and their values.

* Rewrite parsecmd() so that it returns a QStringList of tokenized parameters.

* Use this in startProcess. This is the part is is not finished yet.

Obviously, this will not be possible to get right for 2.4.0.
2022-10-28 17:21:33 +02:00
chillenb
22e5903bf3 adjust text display width in windowed mode 2022-10-27 17:49:43 +02:00
Jean-Marc Lasgouttes
4ce45a5bcd Remove unused method 2022-10-27 17:17:19 +02:00
Jean-Marc Lasgouttes
a559616cbd Revert "Always remove selection after cursor up/down"
This reverts commit 008a0825e8.

This commit was part of bug #12310. The goal was to remove the
selection when using "up" at the start of selection (so that the
cursor cannot move). Unfortunately, it creates navigation issues for
insets inside tabulars.

Since the fix was minor, the safest decision is to revert.

The part of ticket #12310 that resets selection with
char-forwars/backward when moving is not possible still works.

Fixes bug #12593.
2022-10-27 15:07:57 +02:00
Juergen Spitzmueller
b3b22b0c70 Sync with master 2022-10-26 10:52:21 +02:00
Jean-Marc Lasgouttes
fff28c5756 Always qualify calls to std::move()
This quashes a new warning in clang++ 15, when std::move() (the
one-parameter version) is used as simply move(). There is a strong
recommendation from WG21 to avoid that.

Details here: https://reviews.llvm.org/D119670

It might be that we should not use that many move()s. I am not
competent to decide on that.

I also used this occasion to get rid of a spacial casing for C++11
that does not seem necessary after all.
2022-10-21 14:11:36 +02:00
Juergen Spitzmueller
647c7b1ac3 GuiLog: don't miss package warnings for packages with dashes
(e.g. scrlayer-scrpage)
2022-10-16 12:08:21 +02:00
Juergen Spitzmueller
d4d4654d63 Only load subscript package with LaTeX < 2005/12/01 (#12387) 2022-10-13 16:05:03 +02:00
Juergen Spitzmueller
ac3562dbc9 Need cellvarwidth also in left-aligned cells if they use newlines (#12587) 2022-10-11 16:01:29 +02:00
Juergen Spitzmueller
2c72884f26 GuiLyXFiles: differentiate user and system folders 2022-10-09 16:13:48 +02:00
Juergen Spitzmueller
0e4ca9aa88 GuiLyXFiles: Hide empty categories on filtering (#12584) 2022-10-09 16:01:49 +02:00
Juergen Spitzmueller
5ee0ba6403 GuiLyXFiles: Visually distinguish folders from files (#12584) 2022-10-08 16:45:52 +02:00
Jean-Marc Lasgouttes
49fee942cf Fix inline completion prefix for macro insets
As it was, the prefix was empty when completion popups were disabled.

Related to bug #12581.
2022-10-08 14:22:18 +02:00
Jean-Marc Lasgouttes
786a6edb54 Disable completion when document is read-only.
Being able to insert completion in a read-only document is definitely
a bad idea.

This patch acts both on indication of completion and on insertion
itself.

Fixes bug #12582.
2022-10-08 12:52:05 +02:00
Yuriy Skalko
8f43f83ddf Show branches from master document in branch inset dialog 2022-10-07 19:00:37 +03:00
Jean-Marc Lasgouttes
8508c3fe04 Completion: handle undo in insets' insertCompletion methods
I mathed, undo should record the underlying inset on completion,
whereas in test recording the paragraph is enough.

Therefore the recordUndo() in GuiCompleter::tab is removed, and the
relevant recordUndo/recordUndoInset are used at the right places.

As a further cleanup, the parameter `finished' of
Text::insertCompletion is removed as it is useless.

Fixes bug #12581.
2022-10-05 09:48:01 +02:00
Scott Kostyshak
300160df1c Whitespace 2022-10-03 20:43:54 -04:00
Enrico Forestieri
65b4c3fcd2 Fix bug #12580
This amends [4a7a1935/lyxgit]. Before 4a7a1935 it was assumed
that a labeled row was also numbered. Hence, when unnumbering
a row a label was also deleted. We now have to do this explicitly.
2022-10-02 14:59:03 +02:00
Scott Kostyshak
725168baba Fix gcc-12 warning
From Kornel:

>  /usr2/src/lyx/lyx-git/src/Paragraph.cpp:1931:1: warning: control reaches end of non-void
>  function [-Wreturn-type]
>
> This is with gcc-12, compiled in debug mode.
2022-09-24 21:05:38 -04:00
Jean-Marc Lasgouttes
bbaebd15ce Fix line breaking at trailing space
With a string like "abc def [inset]", it should be possible to break
between the "def" and the inset. A case of interest is when "abc def "
is too long, but "abc def" is not.

To this end, tweak the test that look whether breaking was successful:
the right width to look at is nscp_width, the width without the final
space.
2022-09-23 18:31:10 +02:00
Jean-Marc Lasgouttes
3bba2ad150 vocabulary 2022-09-21 19:29:52 +02:00
Jean-Marc Lasgouttes
2abe771407 Fixup 572b06d6: reduce cache size for breakString
This was necessary only due to bug #12534.

Reduce the size from 10Mb to 1Mb. Profiling shows that the cache hit rate
is the same.
2022-09-21 19:10:57 +02:00
Enrico Forestieri
90551a03ac Amend f426470a
The synctex option can also be specified by a single dash and
any value different from zero will do.
2022-09-14 20:10:01 +02:00
Jean-Marc Lasgouttes
8319bdbbbe Unify wording for statistics
Use 'no blanks' uniformly.

Also remove separator in zoom menu.
2022-09-13 12:42:28 +02:00
Daniel Ramoeller
974534f28a Disentangle status bar and zoom menu
- Moves the zoom menu to the zoom value
2022-09-13 11:49:41 +02:00
Pavel Sanda
e0b1cc902c * doxy 2022-09-06 22:12:25 +02:00
Thibaut Cuvelier
0bda6950e4 MathML: amend 26300c565f as discussed in bug 12513
Contributed by lynx
2022-09-02 02:00:12 +02:00
Thibaut Cuvelier
5b405426f1 MathML: should display "Text" MathFont using proper <mtext> tag
Fixes bug 12397

Contributed by lynx
2022-09-02 01:57:06 +02:00
Thibaut Cuvelier
962785cb0f InsetTabular: fix a typo 2022-09-02 01:30:25 +02:00
Thibaut Cuvelier
8074b696bc InsetTabular: move more helper methods to private 2022-09-02 01:29:19 +02:00
Thibaut Cuvelier
89c203faa4 InsetTabular: replace a Boolean parameter to choose between XHTML and DocBook by an enum class
The only goal is to improve code readability: this enum class is strictly equivalent to a Boolean, with the same meaning as the previous is_xhtml arguments (arbitrary choice).
2022-09-02 01:26:30 +02:00
Thibaut Cuvelier
ff9f3c774e InsetTabular: move XML helper methods to private
They are not needed outside InsetTabular.
2022-09-02 01:26:30 +02:00
Thibaut Cuvelier
3637d6d408 DocBook: amend 50374e38e1
All table rows were generated in the same XML dialect, irrespectively of the caller context (XHTML or DocBook).
2022-09-01 23:33:56 +02:00
Thibaut Cuvelier
5e87cfbf4c Fix a warning related to comparing different signedness 2022-09-01 10:57:04 +02:00
Thibaut Cuvelier
92ba758441 LyXHTML: implement index ranges 2022-09-01 02:22:50 +02:00
Thibaut Cuvelier
2b177172f1 LyXHTML: implement multiple indices 2022-09-01 02:04:16 +02:00
Thibaut Cuvelier
f4b0cf9b59 DocBook: amend 34ea4080
@ for sorting is implemented at 34ea4080, but the user was still shown a warning (now removed).
2022-09-01 01:17:58 +02:00
Thibaut Cuvelier
35a752e6db DocBook: add test case for multiple indices 2022-09-01 01:17:58 +02:00
Jean-Marc Lasgouttes
337cc97174 Use auto const & when possible to avoid copies
In several range-based for loops, implicit copies are made. Remove
that when possible, and try to shut converity up otherwise.

Fixes issues found by coverity.
2022-08-30 17:31:37 +02:00
Juergen Spitzmueller
0515bfa989 Update stats display if a stat is (un)selected 2022-08-18 19:09:15 +02:00
Juergen Spitzmueller
fee10d2d0d Another inset font switch fix 2022-08-17 18:04:51 +02:00
Juergen Spitzmueller
96d9e748cf Polish status bar statistics 2022-08-17 14:59:50 +02:00
Juergen Spitzmueller
e6b93f7489 Load ucs before utf8x inputenc with recent ucs versions
Otherwise inputenc falls back to utf8 option, which breaks documents
2022-08-16 17:56:07 +02:00
Juergen Spitzmueller
f6fff878a7 fix compiler warning 2022-08-16 17:41:40 +02:00
Stephan Witt
f426470a54 Improved synctex support
- Add check for converter with active synctex support to check for synchronized output for activate forward search.
2022-08-13 14:20:03 +02:00
Stephan Witt
9686fe0c79 Improved synctex support
- Check the state of the synchronize TeX output option of the document to enable or disable the LFUN for forward-search.
- write synctex macro to TeX source not only for PdfLaTeX
2022-08-11 22:45:51 +02:00
Stephan Witt
7391ca961d Additional cursor position validation required to avoid an assertion in Text::selectWord 2022-08-11 22:35:58 +02:00
Pavel Sanda
5b50a97fd7 Add document statistics to statusbar.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg217810.html
2022-08-09 23:48:55 +02:00
Juergen Spitzmueller
c69da75dfc Use localized length strings also in space label/tooltip 2022-08-09 17:28:41 +02:00
Juergen Spitzmueller
9214f92599 Mode [un]locLengthString() methods to support/qstring_helpers 2022-08-09 17:27:53 +02:00
Juergen Spitzmueller
079bc8ca40 Localize display of glue lengths in dialogs 2022-08-09 09:44:12 +02:00
Juergen Spitzmueller
60b539e544 Rename function 2022-08-09 09:31:46 +02:00
Juergen Spitzmueller
1487b19803 Allow entering localized lengths with unit (#11852) 2022-08-08 18:35:48 +02:00
Stephan Witt
a89f2fd08c Make "open -a" implicit on macOS
Fix for bug #12570 - add simple check for app bundle name and prefix it with macOS open command if name matches
2022-08-08 10:36:46 +02:00
Juergen Spitzmueller
a8947aaad8 Amend 9e645a5cfc
Only show "System Default" if auto-open is available for the current
format.
2022-08-08 09:49:51 +02:00
Daniel Ramoeller
9e645a5cfc "System Default" viewer/editor option
Fix for bug #12571. More user friendly way to set the system default application aka "auto" option.
2022-08-08 09:18:39 +02:00
Juergen Spitzmueller
14d63f5be8 GuiGraphic: delimit "Scale in LyX" (1--1000%)
Larger values will eventually crash LyX (see #12353), 0 or negative
values make the image disappear in the workarea and impossible to edit.
2022-08-07 16:40:12 +02:00
Juergen Spitzmueller
6a2b220b8d Handle LFUN_FONT_DEFAULT is InsetTabular::Dispatch (fixes #12566) 2022-08-07 14:34:42 +02:00
Juergen Spitzmueller
75aaa8e22b Amend 4ba989000c
If the lfun argument already has a Flex: prefix (which is equivalent),
do not append one
2022-08-07 10:41:02 +02:00
Juergen Spitzmueller
4ba989000c Fixup cd83386363 (#12569) 2022-08-06 19:00:36 +02:00
Juergen Spitzmueller
8ac177f656 Fix font tracking at fontswitch_insets
(hopefully)
2022-08-06 17:29:40 +02:00
Pavel Sanda
6031666b01 another typo 2022-07-31 00:26:04 +02:00
Pavel Sanda
00bba01de9 whitespace 2022-07-31 00:24:33 +02:00
Pavel Sanda
130282a418 Doxy for zoom args in ui-toggle lfun. 2022-07-31 00:23:09 +02:00
Jean-Marc Lasgouttes
1dedd39864 Allow to unbind without specifying the lfun
When unbinding a shortcut, it may happen that the exact definition of
the request is not known. A typical example it Tab, which is bound to
a complex command sequence.

In this case it is convenient to use the syntax
\unbind "Tab" "*"

To make this word, the special "*" value is translated to the
FuncRequest::unknown lfun and this value is considered specially in
several places.
2022-07-27 18:57:03 +02:00
Scott Kostyshak
11d5e31c65 Remove unneeded code
This code was triggering the following warnings:

  src/mathed/InsetMathHull.cpp:234:15: error: variable 'counters_to_save' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration]
          const char * counters_to_save[] = {"section", "chapter"};
                       ^
  src/mathed/InsetMathHull.cpp:235:21: error: unused variable 'numcnts' [-Werror,-Wunused-const-variable]
          unsigned int const numcnts = sizeof(counters_to_save)/sizeof(char *);

The original code was put in at 645f9fdf (and the comment at 8a226ec4).

This commit amends a65e12d6.
2022-07-27 07:29:11 -04:00
Jean-Marc Lasgouttes
e0e548217e Do not redefine \jobname for previews
This reverts the fix for #9627, with the agreement of original reporter.

Fixes preview of citation insets.
2022-07-27 12:42:10 +02:00
Jean-Marc Lasgouttes
20d5851fb7 Regenerate equations previews when their numbering changes.
Time will tell whether this is too expensive (because most equations
after this on will change too, unless equations are numbered by
section).

Related to bug #11535.
2022-07-26 23:16:41 +02:00
Jean-Marc Lasgouttes
a65e12d6f3 Reimplement support for numbering of equation previews
This patch simplifies and fixes the generation of previews with
numbering. Instead of saving the counter values (which is complicated
and error prone), the \thequation macro is set to the numbers_ string
which has been computed by updateBuffer for screen display.

Harcoding the number in the formula means that two equations with
different numbers have different previews, which is the subject of the
bug.

The special code for saving counters in updateBuffer and outputing
them in preparePreview from 645f9fdf (ticket #6894) is removed and
replaced by this simpler approach.

This fixes ticket #11535.
2022-07-26 22:47:53 +02:00
Jean-Marc Lasgouttes
a42f7ea7cd Rename eolString() to eol() and pass a MathTeXStream parameter
This is completely equivalent, but will allow in eol() to determine
whether one is preparing a preview.

Related to bug #11535.
2022-07-26 22:21:44 +02:00
Jean-Marc Lasgouttes
01da93521d Fixup 1d08af62: unused variable 2022-07-26 00:54:54 +02:00
Jean-Marc Lasgouttes
1d08af621d Implement on screen numbering for Subequation module
The module subequation allows to number equations in the "Subfigure"
inset to be numbered (1a), (1b), (1c), etc.

To implement this on screen, we need to redefine temporarily the
"equation" counter to use this different numbering.

To this end, implement Counters::copy method that can be used to
backup full counter definitions.

Fixes bug #12567.
2022-07-26 00:49:09 +02:00
Jean-Marc Lasgouttes
f5c7acb140 Revert "Implement on screen numbering for Subequation module"
This reverts commit c6f35b6ad6.
2022-07-26 00:47:28 +02:00
Jean-Marc Lasgouttes
1fc08f57e1 Revert "Rename eolString() to eol() ans pass a MathTeXStream parameter"
This reverts commit 2db682b97e.
2022-07-26 00:46:13 +02:00
Jean-Marc Lasgouttes
7261fa9448 Revert "Reimplement support for numbering of equation previews"
This reverts commit f4da29306f.
2022-07-26 00:45:57 +02:00
Jean-Marc Lasgouttes
f0c180a29b Improve comment 2022-07-26 00:44:16 +02:00
Jean-Marc Lasgouttes
f4da29306f Reimplement support for numbering of equation previews
This patch simplifies and fixes the generation of previews with
numbering. Instead of saving the counter values (which is complicated
and error prone), the \thequation macro is set to the numbers_ string
which has been computed by updateBuffer for screen display.

Harcoding the number in the formula means that two equations with
different numbers have different previews, which is the subject of the
bug.

The special code for saving counters in updateBuffer and putputing
them in preparePreview from 645f9fdf (ticket #6894) is removed and
replaced by this simpler approach.

This fixes ticket #11535.
2022-07-26 00:19:20 +02:00
Jean-Marc Lasgouttes
2db682b97e Rename eolString() to eol() ans pass a MathTeXStream parameter
This is completely equivalent, but will allow in eol() to determine
whether one is preparing a preview.

Related to bug #11535.
2022-07-26 00:19:07 +02:00
Jean-Marc Lasgouttes
c6f35b6ad6 Implement on screen numbering for Subequation module
The module subequation allows to number equations in the "Subfigure"
inset to be numbered (1a), (1b), (1c), etc.

To implement this on screen, we need to redefine temporarily the
"equation" counter to use this different numbering.

To this end, implement Counters::copy method that can be used to
backup full counter definitions.

Fixes bug #12567.
2022-07-25 23:53:46 +02:00
Jean-Marc Lasgouttes
ad3e6c69b2 Export ' as ’ in HTML
This is similar to what LaTeX does in its output.

See the (long) discussion in ticket #11244.
2022-07-25 23:07:23 +02:00
Jean-Marc Lasgouttes
2203078111 Fix flicker due to changing metrics while selecting with the mouse
This patch has been backported from the lyx-unstable branch
https://gitlab.com/gadmm/lyx-unstable/-/commit/9d7ed42389ba

Actual author is Guillaume Munch.

Fixes bug #8951.
2022-07-25 23:04:08 +02:00
Daniel Ramoeller
f5e66ba3c2 Improved layout adoption on paste
The layout from the paste content is adopted only if
- the paragraph is empty (ie. empty after the selection has been
  erased) and Standard or Plain Layout, or
- empty and multiple lines are pasted, or
- multiple lines are pasted at the beginning of a paragraph

As for what other applications do:
- MS Word decides the adoption of a layout depending on whether the end of line
character is copied
- Libre Writer adopts the paste content layout only if the paragraph is empty
(otherwise it makes *all* pasted paragraph the target layout)

In LyX, as in Libre Writer, one cannot copy the end of line character by
selecting a single line. However, the Libre Writer solution is problematic
because one always has to make sure that a paragraph is in Standard layout if
one wants to paste several lines with their source layout. The implemented
behaviour differs from Libre Writer in that the source format is kept when end
of line characters are pasted, i.e. several lines are pasted, and hence does
what MS Word does in that situation.

Fix for bug #11023: Copy and paste from one list into another often leads to
undesired result.
2022-07-25 22:56:00 +02:00