10014 Commits

Author SHA1 Message Date
Juergen Spitzmueller
03f59bf49e Remove unneeded cycle checks (#12954)
(cherry picked from commit b5260a3a0f8b5267b108b9d94520a6b77b2fe5ac)
2024-07-03 09:50:52 +02:00
Juergen Spitzmueller
e5030ad915 Amend fd78a25a7c0b307
This way, it is a bit more plausible what we're doing

(cherry picked from commit c394a1ccf9eab08221efc45f5d4ca26bbd963968)
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 fd78a25a7c0b307da32c7cd805ce9f101160610a)
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 026c4bd726f36623772dc152740f709ce9972415)
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
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 574db220255dcd8c83f85e30527009a9af41e21d)
2024-07-02 15:13:47 -04: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 5b51bab39b31207dd16e31651ffecbec052272d4.
2024-06-25 13:38:58 -04:00
Richard Kimberly Heck
5b51bab39b Add temporary directory to About LyX dialog
(cherry picked from commit e7af6afb01183e2fdf798dd401499839ba0a195a)
2024-06-25 11:33:28 -04:00
Juergen Spitzmueller
ce88e46a3d GuiDocument: do not ask switch-back question on document closing
(cherry picked from commit c243126eb406c10420fc112ca1d24ae7e8e42a1f)
2024-06-16 10:58:06 -04:00
Daniel Ramoeller
259c89f45e Extend tab context menu features
Add

- Close Other Tabs
- Close Tabs to Left/Right
- Move Tab to Start/End
- Show Enclosing Folder

to the tabs context menus.

Fix for bug #11963

(cherry picked from commit a114f12868f8b48b9507aa22bf4156af0062ac97)
2024-06-09 13:50:10 -04:00
Kornel Benko
5fdbd2cf32 Adv. F&R: strange dialog text
Fixes #12997
Added 'Scope' to better indicate the searched area.
2024-06-03 08:23:35 +02:00
Richard Kimberly Heck
701c763221 Merge branch '2.4.x' into 2.4.1-devel 2024-06-02 21:49:54 -04:00
Richard Kimberly Heck
1d7c8325f2 Put new citation after selected item rather than at end of list.
Fixes bug #12940.

Patch from Daniel.

(cherry picked from commit 40ae8644f9f81576033ff1f8f56428946029b4f4)
2024-06-02 20:54:46 -04:00
Richard Kimberly Heck
d780091990 Fix bug #11796.
Toolbars are now locked by default. Unlocked state should be saved
by Qt as a session variable.

Patch from Daniel.

(cherry picked from commit 42a8463aab6100e8209caa8cd137d3c500623729)
2024-06-01 12:45:19 -04:00
Juergen Spitzmueller
91e90a7c1c Reset require_fresh_start_ after buffer has been viewed/exported
The LFUN buffer-reset-export states to start afresh the export for the
next run, but in fact, the boolean was never reset, so that this was
done for all subsequent runs unless the buffer had been closed and
reopened.

Now the lfun does what it states and only acts on the next pass.

(cherry picked from commit e1cb15ee5d9377cef6e3683a6d0bb68eb9b379c1)
2024-06-01 11:39:04 -04:00
Juergen Spitzmueller
712baff7b6 Address Qt 6.7 deprecation warning
(cherry picked from commit 44633c7f729e79ea023f2a5ccbbdd0002411619f)
2024-05-20 17:59:51 +02:00
Jean-Marc Lasgouttes
21096f696a Sanitize cursors after a buffer has been reloaded
When a buffer is reloaded, its content may remain the same, but the
memory allocation is new, so that the inset pointers in cursors are
now wrong. This requires to sanitize the cursors held by the buffer
views.

Before the biginset branch, some full metrics computation call that is
now removed probably did that as a side effect. Now we have to be more
precise.

To this effect, introduce WorkAreaManager::sanitizeCursors() and use
it in Buffer::reload().

(cherry picked from commit c1fd622c51752d790576600f5911813ff8dac3fa)
2024-04-22 11:35:15 +02:00
Stephan Witt
5554fe9aeb #13049 add window activation for preferences to avoid it be hidden by main window on mac after alert prompts
(cherry picked from commit 4c1db7cad866d99af2f2474d8467cc8581eb0eef)
2024-04-19 14:01:41 +02:00
Jean-Marc Lasgouttes
b1a0983570 Introduce new helpers ParagraphMetrics::top/bottom
This avoids code with position/ascent/descent that is difficult to follow.

No change in function intended.

(cherry picked from commit 0b6105b9245350e428c73deee88af2cd7c0d4732)
2024-04-18 16:45:58 +02:00
Juergen Spitzmueller
d29baf59a4 Disable language package choice if the class preloads a package
(cherry picked from commit 5477451e36cd9ff4e99aefea2627fbf63e028004)
2024-04-14 08:13:55 +02:00
Koji Yokota
76dbb9dc40 Fix wrong position of conversion windows of the input method #11723, #13054 2024-04-12 21:17:04 +09:00
Jean-Marc Lasgouttes
89afdb050f Do not include <QDate> in InsetInfo.h
This is used by getDate/getTime, which actually should not be
InsetInfoParams methods, but functions in anonymous namespace.

(cherry picked from commit 51562ff37732f4949441bd8c2b55692b0719093a)
2024-04-08 10:42:46 +02:00
Pavel Sanda
7e2c1dca36 Improve stats update times for buffer switches and toolbar toggles. 2024-04-05 23:14:25 +02:00
Pavel Sanda
ae07763abf Allow relative statistics values in statusbar.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg221311.html
2024-04-05 19:44:25 +02:00
Jean-Marc Lasgouttes
0cd169d6ba Compilation fix with Qt < 5.7
Qt::ImAnchorRectangle has only been introduced in Qt 5.7. Since it is
used to answer a query from the IM machinery, there is no need for
it with older Qt versions.

(cherry picked from commit 6260689fd552a5e83d2970dcfd4d5ba7e09443e7)
2024-04-04 18:20:33 +02:00
Juergen Spitzmueller
3b4d9f8606 Dissolve some shortcut conflicts in the wake of f3a4602c4c1ec
(cherry picked from commit 728175f9acdd8b67249d5403d99319557201f80c)
2024-04-03 09:15:46 +02:00
Juergen Spitzmueller
c92d14e8c9 Smarter menu length calculation
It is possible I have missed some shortcut conflicts, so please report
if you find any.

(cherry picked from commit f3a4602c4c1eca9bc79e7ba0b58395b79eafe9db)
2024-04-03 09:15:27 +02:00
Daniel Ramoeller
f957964e9b FindAdv: no paragraph indentation for more space in the search string
See #11555

(cherry picked from commit 638c04dd6aab3e16063a03183e25491f83780b68)
2024-04-02 11:52:43 +02:00
Juergen Spitzmueller
812e306dad Factor out shared method
Amends babb5b007bd
2024-03-31 12:40:27 +02:00
Juergen Spitzmueller
60cffcd9b7 Fix alignment of screen font preview in prefs (remaining part of #13046) 2024-03-24 09:00:41 +01:00
Pavel Sanda
f7e6086e67 TableUI - allow expading of TableAlignCO (part of #13046). 2024-03-19 19:23:22 +01:00
Jean-Marc Lasgouttes
8f61b0859c Fix support for screen fractional scaling with Wayland
The display was wrong when a backing store is in use (which is the case
with Wayland). To fix this in GuiWorkArea::Private::resetScreen(), the
pixelRatio is now stored as a double instead of an int.

Concerning support for QT_SCALE_FACTOR, the existing code was wrong
because this value is already taken into account in devicePixelRatioF
for Qt > 5.6 (no fractional scaling support before that). The
situation is as follows:

                   Qt < 5.6    5.6 <= Qt < 6  Qt 6
devicePixelRatio   int(ratio)  int(ratio)     ratio
devicePixelRatioF  N/A         ratio          ratio

So it is only between Qt 5.6 and Qt 6 that devicePixelRatioF() has to
be used instead of devicePixelRatio().
QGuiApplication::devicePixelRatio() does not have a 'F' version, it
always returns the real thing.

Fixes ticket #13039.
2024-02-29 10:28:15 +01:00
Jean-Marc Lasgouttes
23105b2edd Fix compilation on ubuntu 18.04
One of Qt 5.9 or gcc 7.5 does not like the or-ing of several enum flags.
2024-02-28 17:00:54 +01:00
Juergen Spitzmueller
7b5fe0321e Prevent crash with statistics while view is busy (#12935) 2024-01-16 14:14:04 +01:00
Juergen Spitzmueller
153be65d14 Restrict Adv. Search pane to sides and floating (#12982)
The horizontal reordering for bottom and top is too broken.

This needs some major investigation (probably for 2.5).
2024-01-14 11:34:05 +01:00
Juergen Spitzmueller
3b7f6d614d AdvFind: fix alignment of checkboxes (#13020) 2024-01-13 12:20:18 +01:00
Juergen Spitzmueller
6f4054222c Only fix simple search height if there are no other widgets in the dock area (#13005) 2024-01-13 11:58:35 +01:00
Richard Kimberly Heck
59b08c8171 Fix bug #13017.
The problem is caused by removing temporary aux, etc, files while
we are in the process of exporting. As Jürgen suggested, we really
do not need to remove these files until we are preparing to export:
They are not used internally. So now we just schedule the removal
and do it then.
2024-01-11 17:23:52 -05:00
Koji Yakota
1e6b5448c1 Temporary fix for #11723. 2023-12-25 11:44:21 -05:00
Richard Kimberly Heck
1a214f2380 Remove redundant code 2023-12-23 13:17:56 -05:00
Jean-Marc Lasgouttes
2b0841b0c9 Move LYX_(BEGIN|END)_MUTE_GCC_WARNING macros to their own header.
It was not nice to other build systems to define that in configure.ac.
2023-11-10 13:14:34 +01:00
Jean-Marc Lasgouttes
c2653e451c Avoid dangling-reference warning in several places
This new warning in gcc 13 is annoying because it happens in certain
parts of our code where it is harmless to pass a temporary variable to
a function that returns a reference.

This patch introduces a new pair of macros,
LYX_BEGIN_MUTE_GCC_WARNING(warn) and LYX_END_MUTE_GCC_WARNING, which
can be used to define a block of code where a given GCC warning is disabled.

The macros are no-ops with compilers other than gcc, although some
compilers that pretend to be GCC make be mis-detected. The worse that
can happen AFAIU is a bunch of warnings.

The macro relies on an intimidating set of for nested macros. The goal
of these macros is to build a nested string bit by bit. Here is how it
works:

PRAGMA_IGNORE(dangling-reference)
  => PRAGMA_IGNORE_1(-Wdangling-reference)
  => PRAGMA_IGNORE_2("-Wdangling-reference")
  => PRAGMA_IGNORE_3(GCC diagnostic ignored "-Wdangling-reference")
  => _Pragma("GCC diagnostic ignored \""-Wdangling-reference\"")

The next question is: what is _Pragma() good for? Well, it is a
version of #pragma that can be used in a macro.

And finally, what are those pragmas good for? The 'push' and 'pop'
ones make changes to warnings local. The 'ignored' ones allow
to disable some warnings. And disabling -Wpragmas ensures that we do
not have a warning if we try to disable a warning that is not
supported by the compiler.
2023-11-10 10:36:52 +01:00
Yuriy Skalko
53784b90ae Better dialog resizing behavior 2023-11-09 00:15:16 +01:00
Juergen Spitzmueller
27033f41aa Fix comment 2023-11-05 12:38:09 +01:00
Juergen Spitzmueller
098b4f3348 Amend ec2da3a509 2023-11-05 12:28:27 +01:00
Juergen Spitzmueller
ec2da3a509 Prevent data loss when closing LyX while document dialog has unapplied changes (#12955)
Entails new strings, but I think the severity allows for that.
2023-11-05 12:09:33 +01:00
Juergen Spitzmueller
bf0152185b Make string translatable 2023-10-21 12:52:49 +02:00
Juergen Spitzmueller
4658cf95f7 Disambiguate "Language"
Some translations need a different term for programming languages.
2023-10-21 12:34:47 +02:00
Juergen Spitzmueller
72e242267b Only apply ui_style if it has changed 2023-10-15 11:20:49 +02:00
Juergen Spitzmueller
81fda3ac55 Warn user that uistyle reset to default requires restart 2023-10-15 11:02:45 +02:00