Commit Graph

46753 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
2886843560 Make sure paragraph positions are updated when scrolling
Sometimes quick selection-scrolling could cause a crash because the
position of some paragraphs is not computed. To fix that, in
BufferView::showCursor, make sure that the metrics are always kept
clean using updateMetrics(false), which is lighweight.

As a consequence, the 'update' parameter of showCursor and
scrollDocView is not needed anymore. Its removal is mechanical and
accounts for most of this commit.

The only other significant change is that, when creating synthetic
mouse events and relying on scroll() for small moves, the full metrics
recomputation is replaced by the lighter version.

More work is still to come on this code, but this should be going in
the right direction.

(cherry picked from commit 6e0ea4269a)
2024-07-10 17:18:47 +02:00
Jean-Marc Lasgouttes
10b8861d10 Handle metrics of not visible paragraphs
The code is not ready for situations where some paragraphs that are
not visible have metrics available.

In PararagraphMetrics, some methods are added to be able to handle the
fact that paragraphs have or do not have a position.

In TextMetrics, a new method returns the first visible paragraph.

Finally, in BufferView::updateMetrics, the paragraphs' positions are
reset (in the case where everything is not cleared) and some care is
taken to skip the ones that are not relevant.

The assumption outside of this method is that all the paragraphs that
are in the TextMetrics are visible (we are talking about top-level
TextMetrics here). This could be changed (in order to avoid
recomputing paragraph metrics), but the cost is high in terms of
complexity and it is not clear that the gain in terms of performance
would be important.

NOTE: contrary to the code in master which returns npos = -10000, this
code still returns -1 when the position of a paragraph is unknown.

(cherry picked from commit 145af7c2ac)
(cherry picked from commit 05bb851adf)
(cherry picked from commit 8bc3799b35)
2024-07-10 17:18:47 +02:00
Jean-Marc Lasgouttes
f64349db8d Fix display of page references when language is not specified
Using translateIfPossible with null language does not make sense (and
gives an error on console).

Using translateIfPossible there actually does not make sense at all: it
is only for string from layout files that may already be translated.

We use the GUI language when no language has been specified (this is
different and probably safer than what is done in master).

A consequence of the commit is that "elsewhere" will be in the po
files and now really translatable ;)

(cherry picked from commit 6f6d9b631d)
2024-07-10 15:23:46 +02:00
Kornel Benko
4b9e1d8b09 Update sk.po 2024-07-08 11:50:08 +02:00
jpc
35ec2ebcd1 Update fr.po 2024-07-08 11:30:22 +02:00
Pavel Sanda
a187940fd2 * cs.po 2024-07-07 12:07:04 +02:00
Kornel Benko
e2ded58d70 Update sk.po 2024-07-06 09:38:56 +02:00
Juergen Spitzmueller
070a71a603 document performance fixes 2024-07-05 18:56:59 +02:00
Juergen Spitzmueller
fcd61f90e7 Cut excessively long author lists before parsing them for the GUI
as they will be truncated anyway.

Fixes performance issues with long author lists in bib files.

(cherry picked from commit 7d2d26132b)
2024-07-05 18:54:27 +02:00
Juergen Spitzmueller
0f35e3141b Remove performance bottleneck in getAuthors()
The regex is expensive which is especially noticeable with very long
author lists.

This introduces a case-insensitive subst() variant which is much faster.

(cherry picked from commit 8ba74fe958)
2024-07-05 18:54:03 +02:00
Richard Kimberly Heck
46d1d6e0d3 Remove setBuffer call in Cursor::push.
This is potentially slow. It also should be unnecessary after
some of JMarc's recent commits. See bug #13050.

(cherry picked from commit 66cfc6af3c)
2024-07-05 12:28:40 +02:00
Jean-Marc Lasgouttes
b39fb17316 Force a Buffer * argument to math insets constructor
Make sure that math insets have a proper buffer. To this end, make the
Buffer* parameter of InsetMath mandatory and fix the compilation
errors that ensue.

(cherry picked from commit c013799887)
2024-07-05 12:23:59 +02:00
Jean-Marc Lasgouttes
6b54661317 Force a Buffer * argument to MathData constructor
In order to ensure that MathData objects have a valid buffer, the
default MathData() constructor is deleted. This means that a buffer
shall be specified for each MathData object created.

This is fairly mechanical, actually. In particular, in most
InsetMathXxx cases, in MathData and in MathParser, the available
buffer_ member is used.

More specific cases:
- lyxfind.cpp takes the buffer from the Cursor

- calls to vector<MathData>::resize take an additional
  MathData(buffer_) parameter. There are cases where resize actually
  remove cells, and in this case clear() or even erase() have been
  used.

- in InsetMathMacroTemplate, the optional parameters of the
  constructors cannot be allowed anymore (a default value cannot
  depend on another parameter). Therefore there a now two constructors
  instead.

- in MathAutoCorrect.cpp, the MathData objects are not bound to a
  buffer, so that std::nullptr is used instead.

- in MathExtern, use a buffer when one is specified, std::nulptr
  instead.

(cherry picked from commit 57d7130655)
2024-07-05 12:21:47 +02:00
Juergen Spitzmueller
9bd9195555 de/Customization: fix typo 2024-07-05 09:52:49 +02:00
Enrico Forestieri
3581286f12 Update format in lyxrc.dist
(cherry picked from commit 1dd0bf3253)
2024-07-03 21:09:21 +02:00
Enrico Forestieri
94004da71f Avoid bogus warnings when configuring for Qt6
Recent versions of qmake complain loudly when the locale
does not explicitly specify the utf8 codeset. Specifically,
the configure script exports LC_ALL=C and that implies the
ascii codeset. Previously, this was silently changed to utf8,
whereas now we get a warning for each qmake invocation.
So, explicitly set utf8 before calling qmake.
2024-07-03 21:02:51 +02:00
Juergen Spitzmueller
e6a0bfb43d Document fix of #12954 2024-07-03 09:56:25 +02:00
Juergen Spitzmueller
03f59bf49e Remove unneeded cycle checks (#12954)
(cherry picked from commit b5260a3a0f)
2024-07-03 09:50:52 +02:00
Juergen Spitzmueller
e5030ad915 Amend fd78a25a7c
This way, it is a bit more plausible what we're doing

(cherry picked from commit c394a1ccf9)
2024-07-03 09:50:34 +02:00
Juergen Spitzmueller
f9dccb9afb Only issue currentWorkareaChanged() if the work area really changed.
(this function can be called repeatedly while the work area doesn't
change any further)

(cherry picked from commit fd78a25a7c)
2024-07-03 09:50:10 +02:00
Juergen Spitzmueller
2cc5ca27fd Fixup [152811a27d242/lyxgit]
tabBarClicked() should really only reset focus if a click in a different
TabBarGroup happened. And no need to issue workAreaChanged() again.

This has lead to extra and erroneous focus changes (see #12954)

(cherry picked from commit 026c4bd726)
2024-07-03 09:49:54 +02:00
Pavel Sanda
6aef9e394e cosmetics - synchronize with the rest of strings 2024-07-02 23:50:25 +02:00
Richard Kimberly Heck
78a26c7954 Begin 2.4.2 development. 2024-07-02 15:38:49 -04:00
Jean-Marc Lasgouttes
1d25832edc Avoid crash when InsetBibitem::updateCommand shows a dialog
This is one of the places where a dialog is shown (indicating that
some bibtems have been renamed) while the metrics are not up to date.
Then a draw operation can be triggered too early and a crash can ensue.

Use ad-hoc solution for this case and use Buffer::setBusy(). The
Alert::warning helper cannot really do that since it doe snot know the
current buffer.

(cherry picked from commit c84c59eaec)
2024-07-02 15:15:34 -04:00
Juergen Spitzmueller
b295b39de1 Do not check for diverging input encoding if the files use XeTeX/LuaTeX
Fixes the problem reported at
https://marc.info/?l=lyx-users&m=171986173131406

(cherry picked from commit 4ed8bfb974)
2024-07-02 15:14:28 -04:00
Juergen Spitzmueller
a1141c32eb GuiDocument::onBufferViewChanged(): exit early if dialog is not open
This should fix the bug reported at
https://marc.info/?l=lyx-users&m=171957953801548&w=2

(cherry picked from commit 574db22025)
2024-07-02 15:13:47 -04:00
Richard Kimberly Heck
4a23e7bf13 Start prep for 2.4.1 2024-06-30 21:01:13 -04:00
Enrico Forestieri
f9692776fb Update it.po 2024-06-28 22:45:02 +02:00
Juergen Spitzmueller
81c49a6440 Update version in German docs 2024-06-28 07:19:23 +02:00
Scott Kostyshak
6158097d63 ja User Guide: restore bibfiles path 2024-06-27 18:48:03 -04:00
Scott Kostyshak
3c6fb5bd43 ja Additional: restore path 2024-06-27 18:47:38 -04:00
Scott Kostyshak
0a1461c939 Restore origin tag 2024-06-27 18:23:38 -04:00
Pavel Sanda
96606d9294 * typo 2024-06-27 20:16:04 +02:00
Richard Kimberly Heck
ef32b6421c Status 2024-06-27 12:41:44 -04:00
Richard Kimberly Heck
afc0cc8465 Updated simplified Chinese translation 2024-06-27 12:41:16 -04:00
Koji Yokota
b87a1fabaa Update Japanese documentation (and typo in the original) 2024-06-28 01:00:19 +09:00
Koji Yokota
0dcb0c0694 Updating ja.po 2024-06-26 14:48:48 +09:00
Richard Kimberly Heck
7d9a8b00f9 Revert "Add temporary directory to About LyX dialog"
This introduced a new string, which is not for 2.4.1.

This reverts commit 5b51bab39b.
2024-06-25 13:38:58 -04:00
Pavel Sanda
5651c90ab3 * uk.po from Yuri 2024-06-25 19:33:58 +02:00
Pavel Sanda
d4b41cb9c4 * cs.po 2024-06-25 19:32:56 +02:00
Richard Kimberly Heck
5b51bab39b Add temporary directory to About LyX dialog
(cherry picked from commit e7af6afb01)
2024-06-25 11:33:28 -04:00
Richard Kimberly Heck
ef2bd091d7 More translation status 2024-06-25 10:54:41 -04:00
Richard Kimberly Heck
2722bd01dd Remerge strings. 2024-06-24 17:32:33 -04:00
Richard Kimberly Heck
c88a08ad42 Transation status 2024-06-24 17:10:47 -04:00
Pavel Sanda
ac8916b1a6 * uk.po - make it compilable again 2024-06-24 23:01:49 +02:00
Pavel Sanda
dd3d840777 * pt_BR.po update from Georger. 2024-06-24 22:57:09 +02:00
Pavel Sanda
5c6672ac15 Add status comment 2024-06-24 22:43:17 +02:00
Pavel Sanda
9ebf3ed0ea Let the middle button pasting respect newlines by default.
This makes it in sync with the new default for Edit > Paste operation.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg222233.html
2024-06-24 22:39:20 +02:00
Richard Kimberly Heck
2c9fb8ebb7 Ukranian update from Yuri 2024-06-24 16:23:52 -04:00
Pavel Sanda
bcd802095a * cs.po 2024-06-24 22:23:02 +02:00