Commit Graph

9819 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
6e6976fbc5 Handle the case where breakAt cuts after trailing space
In this case, the extra element returned should empty but valid. The
row flag BreakAfter is set to indicate that we have a break there
(this principle will be used more generally in a forthcoming commit).

To detect that we cut at the trailing space, it is necessary to rely
on the difference between QTextLine::horizontalAdvance() and
QTextLine::naturalTextWidth() when the flag
QTextOption::IncludeTrailingSpaces is used: the trailing space is
taken into account in the later, but not in the former.

Somme comments have been added to make code intent clearer.
2021-12-07 17:04:47 +01:00
Jean-Marc Lasgouttes
6bc50fea3a Workaround for Qt 4
At least with Qt 4.8.7 on Ubuntu 16.04, QTextLine::lineWidth() can
return a bogus value, at least with Courier font. One hypothesis is
that the invisible characters that we use in breakAt_helper are given
a non-null width.

Work around it, although the exact bug has not been pinpointed.
2021-12-07 17:04:47 +01:00
Jean-Marc Lasgouttes
1831f6caac Change FontMetrics::breakAt to return a position
Since we intend to break the row element in two, it is not good to
truncate the string too early.

Moreover, the row element width is now set at this point, even if no
breaking occurs.
2021-12-07 17:04:46 +01:00
Stephan Witt
ae56fb6171 Qt6 pixmaps are always HiDPI - avoid deprecate warning for setAttribute 2021-12-07 10:02:05 +01:00
Juergen Spitzmueller
31146ae8d3 Prevent Outliner crash due to emptied toc value
This might need a more profound fix in the long term, see
https://marc.info/?l=lyx-devel&m=163588729224679&w=2
2021-12-04 17:53:03 +01:00
Daniel Ramoeller
e522c5444e InsertTableWidget support for dark mode and improved resizing
Fix for bug #12438.
2021-11-26 09:51:21 +01:00
Jean-Marc Lasgouttes
2311f42f41 Make primary-selection unknown when not supported
This lfun will not appear in menus anymore in macOS and Windows.

Part of bug #12436.
2021-11-22 10:30:43 +01:00
Juergen Spitzmueller
16ce82d4f9 Fix Bullets panel (#12429) 2021-11-12 16:40:46 +01:00
Juergen Spitzmueller
a90c5f202e Fix crash when closing LyX with open Search pane 2021-11-05 14:50:39 +01:00
Juergen Spitzmueller
1e711f902a Address Qt6 deprecation warnings 2021-11-03 17:41:41 +01:00
Juergen Spitzmueller
b60853ff0d Fix most stupid thinko of mine 2021-11-03 12:35:38 +01:00
Juergen Spitzmueller
de637cdbcb Amend 59b8c209c4
QFontMetrics::width() is no longer valid in Qt6
2021-11-02 16:28:40 +01:00
Daniel Ramoeller
59b8c209c4 Use labels for zoom slider buttons
Fix for bug #12301.

Also: fixes the width and alignment of the zoom value label.
2021-11-02 08:43:59 +01:00
Juergen Spitzmueller
bca1b63d89 Update toolbar and properly reset focus when find widget is closed (#12396) 2021-11-01 14:21:34 +01:00
Juergen Spitzmueller
455ff6fee7 More indentation correction 2021-11-01 14:15:05 +01:00
Juergen Spitzmueller
b9a9234cf6 Amend ce8b4e3a21 2021-11-01 13:08:16 +01:00
Juergen Spitzmueller
76ac4d8f8d Fix indentation 2021-11-01 13:02:05 +01:00
Juergen Spitzmueller
4888414f27 Attempt to fix #12226 for good 2021-11-01 08:30:41 +01:00
Juergen Spitzmueller
f3d5a95bb2 Redraw all work areas while zooming (#12334) 2021-10-31 13:43:27 +01:00
Juergen Spitzmueller
4c0caf9dd4 Polishing 2021-10-31 13:16:20 +01:00
Daniel Ramoeller
c50f40b522 Set Local Layout tab stop distance to 4
Fix for bug #12395.
2021-10-31 13:15:14 +01:00
Daniel Ramoeller
ce8b4e3a21 Movable minimised Quick Search Widget
Fix for bug #12207.
2021-10-31 13:06:36 +01:00
Daniel Ramoeller
528eee0a25 Adjust spacing of Quick Find Dock
Fix for bug #12209.

(amended by Jürgen Spitzmüller)
2021-10-31 12:33:08 +01:00
Daniel Ramoeller
96a4dd235e Fix for bug #11974
Support for setUnifiedTitleAndToolBarOnMac (unify toolbar and title bar).
2021-10-31 10:42:14 +01:00
Juergen Spitzmueller
f3002d1cf4 Get rid of some more fragile index reliances 2021-10-29 17:52:25 +02:00
Juergen Spitzmueller
47b394f2c5 Amend [5c055034/lyxgit]
Relying on indexes is too fragile here
2021-10-29 17:06:11 +02:00
Jean-Marc Lasgouttes
5c055034c2 Fixup b0c102cfb: make it possible to select medskip as parskip
Some new parskip possibilities had been added, but the check for
custom length index had not bee updated.

This code is very fragile.

Related to bug #10968.
2021-10-29 16:41:00 +02:00
Juergen Spitzmueller
61fb295e46 Disable language selector in LyXFiles dialog if no file is selected (#12412) 2021-10-29 13:17:50 +02:00
Jean-Marc Lasgouttes
ada713a881 Revert "Update correctly completion after undo"
This reverts commit 06acb7f806.
2021-10-18 17:35:48 +02:00
Enrico Forestieri
e8b366d4d6 Amend 771f30e9 for cmake 2021-10-17 19:17:01 +02:00
Enrico Forestieri
3048878eab Amend 47f1fec9
Also account for cmake
2021-10-17 18:32:50 +02:00
Juergen Spitzmueller
3543626182 Do not change bibliography processor to default if it is not found
Rather than that, keep it with a warning that it is not available.
Fallback procedure (which maintains security measures) is done in
the conversion step.

This prevents document properties being silently changed on sharing.
2021-10-17 17:14:14 +02:00
Enrico Forestieri
771f30e946 Enable QWindowsMimeMetafile with Qt6
The QWinMime class has been removed in Qt6 but the functionality
is still present. However, one has to allow inclusion of private
headers and register the mime handling to the QWindowsApplication
native interface.
2021-10-17 15:06:05 +02:00
Jean-Marc Lasgouttes
d99502d915 Remove variable that is not used
Spotted by clang++ 13.
2021-10-15 15:49:40 +02:00
Pavel Sanda
f7de009b17 Guard against possible referencing null.
Those checks might not be needed, but it's not self obvious from
the surrounding code. Because we already experienced crash from
similar change (cf 1c1c83eced), let's be prudent here.

If you know that these pointers can't be null from broader context
feel free to remove the guards.

Introduced by 24926b2e23, fix 104fdcc9be not backported
but now fixed by 1c1c83eced in 2.3.

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg216414.html
2021-10-14 22:28:43 +02:00
Jean-Marc Lasgouttes
06acb7f806 Update correctly completion after undo
This is take #2 after reverting e59aee458.

Request the completer to rebuild a completion after undo/redo.

Fixes #12383.
2021-10-14 16:39:33 +02:00
Stephan Witt
b59eed3846 #12368 correct spelling of toolbars visibility check function name 2021-10-13 18:11:37 +02:00
Juergen Spitzmueller
465b58a6df Check changed status after decimal sep has been edited 2021-10-06 18:06:09 +02:00
Yuriy Skalko
6a7c9d12f9 Amend d3c335a5d5 2021-10-05 17:10:51 +03:00
Yuriy Skalko
d3c335a5d5 Remove useless casts reported by GCC with -Wuseless-cast option 2021-09-30 10:37:24 +03:00
Daniel Ramoeller
0862042b28 SVG replacement of busy.gif
Fix for bug #10384.
2021-09-29 12:49:56 +02:00
Jean-Marc Lasgouttes
42abb26054 Make paragraph-goto and friends set paragraph to the top
Add parameter 'force' to scrollToCursor(...) to avoid the case where the
cursor is not set to top because it is already visible on screen.
Change screen offset in this method so that the paragraph is really at
the top of the screen. This part may cause unforeseen issues and needs care.

gotoInset: use the new force flag and do not trigger a redraw.
Instead, return a boolean telling whether redraw is needed.
In the code that use it, set an update flag instead of the extra redraw.

In the handling of paragraph-goto, also set the update flag instead of
triggering a repaint.

Remove Bufferview::scrollToCursor(), which was equivalent to showCursor().

Fixes bug #10425.
2021-09-29 12:16:39 +02:00
Yuriy Skalko
a9119c3fa8 Remove redundant declarations reported by GCC with -Wredundant-decls option 2021-09-28 20:59:21 +03:00
Jean-Marc Lasgouttes
7067f48fa7 typo 2021-09-28 11:25:48 +02:00
Kornel Benko
84655a07d8 Fix crash
Lyx crashes on export to pdf if used with sanitizer set to 'unspecified'.
Crash found by Scott.

Given that if we export without GUI, there is some weirdness here though.
1.) Why does lyx not crash if not using '-fsanitize' compile-option
2.) Why is export to pdf dependent on the screen-resolution
2021-09-28 10:33:24 +02:00
Yuriy Skalko
325c405541 Remove redundant semicolons reported by GCC with -Wextra-semi option 2021-09-28 11:28:43 +03:00
Jean-Marc Lasgouttes
3cdfb42cce Make rectangles have pointy corners
This only makes a difference in HiDpi mode.

Adaptation of the patch proposed by Daniel.

Fix for bug #12336.
2021-09-27 17:47:41 +02:00
Jean-Marc Lasgouttes
69834f1e0d Fixup 6bbd88ac: compilation fix for Qt4 2021-09-27 13:56:04 +02:00
Jean-Marc Lasgouttes
b3890d9eab Fix warning. 2021-09-24 18:45:08 +02:00
Jean-Marc Lasgouttes
6bbd88accf Improve (modestly) the performance of font metrics caches
This fixes two performance issues and improves the performance of
TextMetrics::redoParagraph by 15% in a workload that uses the cache a
lot. The difference will be much less when the cache is not used much.

1/ repetion of the hash code computation

The code
  if (cache.contains(key))
  	result = cache[key]:
is not efficient, since qHash(key) has to be computed twice.
To fix this a new Cache::object_str() method is added, which allows
  if (auto * obj = cache.object(key))
  	result = *obj;

2/ code of has code computation

Instead of using a verbose string that is complicated to build as
key, new key structs BreakAtKey and TextLayoutKey are introduced,
along with the relevant qHash() implementation.
2021-09-24 17:12:15 +02:00
Stephan Witt
c5262f04a2 #12247 disable Qt5 modifier hack for Qt-5.12 version or newer
Initially Qt5 modifier handling was broken. Therefore a workaround was introduced.
This workaround broke the LyX modifier handling with swap of Command-Control-key disabled.
The change disables the hack to get the correct behavior in LyX.
2021-08-23 14:44:36 +02:00
Juergen Spitzmueller
489549c9b4 Fix debug output 2021-08-21 15:19:30 +02:00
Juergen Spitzmueller
e8bf83e42b Correct tooltip
as advised by Scott
2021-08-21 15:19:07 +02:00
Pavel Sanda
20cee15937 Give the user visible feedback when reconfiguring. 2021-07-22 14:30:08 +02:00
Scott Kostyshak
bea7ef04e7 find: auto-wrap by default
For ML discussion on this change of default, see here:

  https://www.mail-archive.com/search?l=mid&q=20210602042644.g3s42nbeevdujzb5%40tallinn
2021-07-16 15:50:30 -04:00
Eugene Chornyi
e9d5fc0190 prevent Qt6 from defining UNICODE (Qt6.1.1 and upwards) 2021-06-19 10:48:49 +02:00
Jean-Marc Lasgouttes
ca2706e30e Cleanup: fix comments, move declarations around 2021-06-09 16:26:48 +02:00
Jean-Marc Lasgouttes
e309a5599e Fixup f3a0e8ff: forgot to test in main dispatch
I would probably have seen this missing bit if not for the bug fixed
since then at c9146e5b.

Fixes (again) bug #12074
2021-06-08 16:15:28 +02:00
Thibaut Cuvelier
7a210e4c9a DocBook: missing signal connection in GUI for MathML prefix. 2021-05-25 00:00:08 +02:00
Daniel Ramoeller
c6c6576515 Open backup files via file open dialog
Fix for bug #12266.

Also: Option to open any files as is standard in other apps.
2021-05-20 13:24:37 -04:00
Juergen Spitzmueller
6431a9ab13 Make Dock Widgets SubWindows in general (#12170) 2021-05-06 17:56:53 +02:00
Juergen Spitzmueller
9586c51c3f GuiSearch: prevent Tab key to switch to work area (part of #12170)
QWidget::focusNextPrevChild() passes over to the parent (which is the
work area here) if the current window is not a dialog (isWindow()) or
a sub-window (window flag Qt::SubWindow).

We set the latter here to prevent this unwanted behavior.

Let's see if there are side-effects.
2021-05-06 12:27:38 +02:00
Juergen Spitzmueller
fb8b484b7f Tab order for search pane 2021-05-06 12:25:32 +02:00
Jean-Marc Lasgouttes
e4b80698be Cache icons of dynamic menu buttons
The current code would load the same icons again and again and LyX
memory footprint would grow.

Tentative fixe to bug #12271.
2021-05-05 14:53:25 +02:00
Scott Kostyshak
5d96ee69eb Revert "Revert "Only set dummy X11 selection if we do not own it""
This reverts commit 1b704b6267.

(the initial reversion was done unintentionally)
2021-05-04 12:34:35 -04:00
Scott Kostyshak
423ddb1199 Revert "Revert "Fix commented out code""
This reverts commit 313d9fa4d0.

(the initial reversion was done unintentionally)
2021-05-04 12:34:21 -04:00
jpc
313d9fa4d0 Revert "Fix commented out code"
This reverts commit 23abb5aaa3.
2021-05-04 18:01:16 +02:00
jpc
1b704b6267 Revert "Only set dummy X11 selection if we do not own it"
This reverts commit af4ee1a487.
2021-05-04 18:00:50 +02:00
Juergen Spitzmueller
eb86239e36 Replace deprecated slot 2021-04-17 15:13:02 +02:00
Enrico Forestieri
8ec32dc3f9 Do not dereference null pointer
Part of #12226
2021-04-07 00:15:12 +02:00
Enrico Forestieri
7a6ad48495 Use font metrics for computing the size of math decorations
It was an error using an absolute size instead of one relative to the
size of the used font. It was requiring using the physical dpi of the
screen and caused #12222. Now everything is computed with respect to
the metrics of the font and should be automatically correct.

Fixes #12222.
2021-04-03 18:37:10 +02:00
Pavel Sanda
9d1031771e Fix #4658: showing diff between original and emergency files.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg215796.html
2021-04-03 13:19:53 +02:00
Enrico Forestieri
472953dbe1 Replace obsoleted signal QComboBox::activated(QString)
Since Qt 5.14 this signal is named textActivated.
2021-04-01 21:17:41 +02:00
Enrico Forestieri
570cd84ddc Replace obsoleted signal
Since Qt 5.14 this signal is named textHighlighted.
2021-04-01 20:31:11 +02:00
Richard Kimberly Heck
942d3cab32 Change "Local Layout" button to "Local Class".
This is for choosing a local document class/layout file. The tooltip
uses the 'class' language already, and "Local Layout" conflicts with
the way that term is used elsewhere in the dialog.
2021-03-26 13:37:14 -04:00
Jean-Marc Lasgouttes
9ff27f8ce0 Produce an error on bad debug level values
Add new funciton Debug::badValue, that returns the first bad value in a debug
setting string.

Use it to parse the -dbg comand line option and to control the
execution of the debug-level-set lfun.

Use range-based loops in a few places.
2021-03-26 17:55:54 +01:00
Kornel Benko
a9b0f5faae Cmake build with qt6 on MAC
Patch from P. De Visschere
Citing:
I also must exclude the QMacPasteboardMimeGraphics class in
GuiApplication.cpp since QMacPasteboard is not available anymore with qt6.

and add an #include <QStandardPaths> in support/Package.cpp (I suppose
this will pose no problem for qt5 but have not checked it, it's only
needed with USE_MACOSX_PACKAGING)
2021-03-26 13:11:44 +01:00
Thibaut Cuvelier
6102327d3b Improve tool tip for the new DocBook MathML-prefix option. 2021-03-23 22:32:16 +01:00
Thibaut Cuvelier
6a5288e31e DocBook: add the MathML-namespace prefix in the GUI. 2021-03-23 00:32:45 +01:00
Juergen Spitzmueller
2c553df178 Replace obsoleted signal
This has been obsoleted in Qt5 and dropped in Qt6
2021-03-21 12:51:38 +01:00
Juergen Spitzmueller
15c6d4c6b3 Fix Qt6 deprecation warning (QMouseEvent::x() ::y()) 2021-03-21 12:38:05 +01:00
Juergen Spitzmueller
cbc55548a3 Fix Qt6 deprecation warning (QEvent::globalPos()) 2021-03-21 12:37:17 +01:00
Juergen Spitzmueller
b7f983bc47 Address Qt6 deprecation warning (QLibraryInfo::location()) 2021-03-21 12:30:34 +01:00
Juergen Spitzmueller
9ccbc11bf3 Fix unused variable warning with Qt6 2021-03-21 12:30:01 +01:00
Enrico Forestieri
34ffa80c4c Fix latex syntax highlighting with Qt6 2021-03-17 10:17:10 +01:00
Enrico Forestieri
968be3f209 Fix copy&paste error 2021-03-17 08:59:04 +01:00
Pavel Sanda
4e2f8dbbeb Qt4 compil fix 2021-03-16 09:39:05 +01:00
Enrico Forestieri
7cb2a10eb8 Amend 635a7d77
With a multiscreen setup and Qt6, make sure to get the geometry
of the screen containing the widget.
2021-03-15 18:35:58 +01:00
Enrico Forestieri
635a7d77dd Allow compiling with Qt6
This commit allows compiling LyX with Qt6 when using autotools.
For a successful compilation the following 2 conditions must be met.

1) The Qt6 qmake has to come first in PATH, so that the command
   "qmake -v | grep -o 'Qt version .'" returns "Qt version 6".
2) The --enable-qt6 switch has to be passed to the configure command.

If --enable-qt6 is used but Qt6 is not found, Qt5 is tried as a fallback.
If also Qt5 is not found, configuring for Qt4 is attempted.
If --enable-qt6 is not used, then things go as usual. This means that Qt5
is tried first and then Qt4, unless --disable-qt5 is used, in which case
Qt4 is directly attempted. This means that existing scripts should
continue working unmodified.

LyX should compile with Qt6 on windows and linux, and possibly also on
mac, but I could not test that. However, it is not guaranteed that it
works as it should. In particular I am not sure that I got right the
conversion from QRegExp to QRegularExpression. For sure, the syntax
highlighting seems to not work right. Someone in the know should take
a look at that. I am able to load documents and compile them but some
thourough testing is needed. However, when compiling for Qt5 or Qt4,
I tried to make sure that the functionality is preserved.
2021-03-15 17:09:09 +01:00
Juergen Spitzmueller
d5263f857e Amend [1bf53d47a5b8/lyxgit] 2021-03-14 16:48:04 +01:00
Juergen Spitzmueller
1bf53d47a5 Use customizable zoom context menu
Based on a proposal by Daniel (#12187)
2021-03-14 16:41:44 +01:00
Juergen Spitzmueller
d29d2f48fd Toom value: back to QLabel, this time with custom context menu 2021-03-14 12:04:12 +01:00
Juergen Spitzmueller
663f198001 Properly set minimum width with QToolButton 2021-03-14 09:42:28 +01:00
Juergen Spitzmueller
ac1b3f0ba2 Fix indentation 2021-03-13 12:17:31 +01:00
Juergen Spitzmueller
71268e859d Set zoom value after menu
Fixes initial size with styles that show a menu indicator
2021-03-12 16:30:50 +01:00
Juergen Spitzmueller
934c6480c0 Add forgotten parent 2021-03-12 10:54:46 +01:00
Juergen Spitzmueller
10f4f2113a Fix deprecation warning (from|toTime_t) 2021-03-12 10:32:03 +01:00
Juergen Spitzmueller
26459a2cf5 Address another deprecation warning.
One left to go.
2021-03-12 10:10:33 +01:00
Juergen Spitzmueller
1a35afbe8f Fix deprecation warning 2021-03-11 19:06:03 +01:00
Juergen Spitzmueller
8a605ca8ad Add option to toggle zoom slider to zoom statusbar menu 2021-03-11 18:41:52 +01:00
Daniel Ramoeller
2710ec0840 Option to hide the zoom slider
Fix for bug #12187.
2021-03-11 18:41:52 +01:00
Juergen Spitzmueller
f525bded59 Add menu to statusbar zoom value 2021-03-11 18:14:46 +01:00
Juergen Spitzmueller
7a000652c0 Do not scale statusbar icons
This leads to stretched icons.
2021-03-11 17:24:19 +01:00
Juergen Spitzmueller
a49abd7383 Remove zoom slider ticks
This doesn't align well
2021-03-11 17:24:19 +01:00
Jean-Marc Lasgouttes
5d8f3a9307 Fix debug output of FunCode
Outputing the FuncCode enum to a stream using the << operator does not
work well. Actually I am not sure whether the << operator in LyXAction
is supposed to work (don't we need an enum class for that?).
2021-03-09 16:26:44 +01:00
Juergen Spitzmueller
dee329a21f Revert "Attempt to align slider and buttons in a widget"
This reverts commit ad44f4f448.
2021-03-09 14:50:23 +01:00
Juergen Spitzmueller
ad44f4f448 Attempt to align slider and buttons in a widget 2021-03-09 14:23:13 +01:00
Juergen Spitzmueller
f07a588b25 Fix cut and paste error 2021-03-09 13:03:33 +01:00
Juergen Spitzmueller
f2e33b8c3e Use real minus char 2021-03-09 10:10:48 +01:00
Juergen Spitzmueller
ebb7ee7d5f Add +/- buttons to zoom slider 2021-03-09 08:42:27 +01:00
Daniel Ramoeller
3c43a01ba2 Smaller zoom slider on macOS
Fix for #12189.
2021-03-09 07:34:33 +01:00
Juergen Spitzmueller
b9fb2a236e Keep zoom label width constant (#12186) 2021-03-08 07:33:37 +01:00
Juergen Spitzmueller
cf75003119 Disable zoom slider when there is no buffer open (#12185) 2021-03-07 19:15:57 +01:00
Juergen Spitzmueller
0a3f856bc1 Update zoom display after zoom has been set 2021-03-07 18:35:40 +01:00
Juergen Spitzmueller
c8feef2e23 Add way to remove items from document dictionary 2021-03-07 18:23:07 +01:00
Juergen Spitzmueller
be6dc7dd5d Show zoom value in statusbar 2021-03-07 17:21:52 +01:00
Juergen Spitzmueller
bc300585f7 Properly set initial zoom value
This depends on settings
2021-03-07 17:09:03 +01:00
Juergen Spitzmueller
128346d03d Fix zoom slider with mouse wheel 2021-03-07 15:18:28 +01:00
Juergen Spitzmueller
9aad98836d Fix for Qt < 5.11 2021-03-07 14:33:13 +01:00
Juergen Spitzmueller
b07084df2d Add ticks to zoom slider 2021-03-07 14:29:55 +01:00
Juergen Spitzmueller
bdb006543b Zoom slider 2021-03-07 13:29:23 +01:00
Juergen Spitzmueller
31dc0acbb8 Layout fix 2021-03-06 17:45:06 +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
Juergen Spitzmueller
f1f475e1d3 Add LFUN_FONT_NO_SPELLCHECK 2021-03-05 18:23:38 +01:00
Juergen Spitzmueller
64095a0af2 Fix wrap with Spellchecker after ignore (#10383) 2021-03-04 18:02:04 +01:00
Juergen Spitzmueller
a57cdd0d30 Remove confusing and unusual "Find Next" button from spellchecker dialog (#8931) 2021-03-04 16:54:01 +01:00
Juergen Spitzmueller
8718d01770 Style 2021-03-04 14:52:39 +01:00
Juergen Spitzmueller
5920591b52 refillToolbars() does not need to be public 2021-03-04 14:51:58 +01:00
Juergen Spitzmueller
812b6f7d69 Allow for runtime (dark/light) mode switch 2021-03-04 12:35:38 +01:00
Daniel Ramoeller
fde432493d Fix Disable Editing "Lock" icon protrudes into tab title on macOS
On macOS the Disable Editing "Lock" icon protrudes into tab title

Also, since the close button is on the left, the lock is better positioned on the right.

The detour via QIcon is to avoid a pixelated pixmap (because in LyX pixmaps don't adjust by default to the device's pixel ratio correctly).

Also

Fix for bug #12160.
2021-03-02 18:38:14 +01:00
Juergen Spitzmueller
d49c4abb43 Merge branch 'master' of git.lyx.org:lyx 2021-03-02 08:36:42 +01:00
Jean-Marc Lasgouttes
f92f2f95ff Cleanup High DPI support
Disable for Qt >= 6 (this is the default now).

Disable for macOS (does it in its own way).
2021-03-02 08:22:02 +01:00
Juergen Spitzmueller
f28affd421 Merge branch 'master' of git.lyx.org:lyx 2021-03-02 07:04:03 +01:00
Jean-Marc Lasgouttes
234886f6eb Add Qt platform name in About dialog 2021-03-01 19:15:49 +01:00
Juergen Spitzmueller
0e54e01756 grammar 2021-02-28 17:38:01 +01:00
Juergen Spitzmueller
939dc4076f Prevent infinite loop with instant search on Mac (#12161)
The search dialog was repeatedly feeded with the same string, and a
new search was triggered.
2021-02-28 17:36:06 +01:00
Juergen Spitzmueller
1205018286 Use a proper filter bar in the outliner 2021-02-28 13:57:24 +01:00
Daniel Ramoeller
2a8cac75f4 Adjust adv. find & replace pane spacing
Partial fix of bug #12152.
2021-02-28 13:13:30 +01:00
Daniel Ramoeller
11548c523a Adjust code preview spacing
Partial fix of bug #12152.
2021-02-28 13:10:03 +01:00
Daniel Ramoeller
55f2445278 Adjust outliner spacing
Partial fix for #12152.
2021-02-28 13:06:14 +01:00
Juergen Spitzmueller
5573825202 HiDPI support for search indicators (#12162)
Requires Qt5
2021-02-28 12:35:29 +01:00
Richard Kimberly Heck
0895b76f1e Fix bug #12169
Patch from Daniel.
2021-02-27 13:27:05 -05:00
Daniel Ramoeller
d74367a96e Use document mode on work area and docks on macOS
- More fittingly (plain) looking tabs for documents and docks.
- Also macOS fix for bug #9391.
2021-02-26 20:01:43 +01:00
Jean-Marc Lasgouttes
42b23f3fb2 Display bookmarks in the workarea (take 2).
The bookmarks are shown with circled numbers in the right margin (or
the left margin in RTL mode). A new color "bookmarks" has been added.
Currently bookmark 0 (the return position) is not displayed because it
is very disturbing in practice.

To make this work, a new method BookmarksSection::bookmarksInPar
retuns the list of bookmarks in a paragraph along with their position.

Force redraw when using bookmark-save and bookmark-clear.

Caveats:

- this solution does not show the precise position of the bookmark
  (this is supposedly not a problem).

- if several bookmarks are on the same row, they will currently be
  garbled. It would be easy to make sure that only one is shown ; what
  would be more difficult would be to move the second bookmark lower.

- it is possible to make sure that the markers are correctly centered
  in the margin, and that the margin size is large enough to hold the
  marker (I did not try all fonts).

Fixes bug #2496.
2021-02-26 19:09:25 +01:00
Jean-Marc Lasgouttes
e4ab91d802 Revert "Display bookmarks in the workarea."
This will be replaced by a different version.

This reverts commit 99e636ae7b.
2021-02-26 18:07:39 +01:00
Richard Kimberly Heck
946d112ee6 Allow to call cap::switchBetweenClasses without an ErrorList.
It turns out that we usually don't care about the errors and so
were creating dummy ErrorList objects in several places.
2021-02-25 21:49:50 -05:00
Jean-Marc Lasgouttes
d7a4f47e7d Improve HiDpi handling
Add code stolen from QBitTorrent that enables properly HiDpi handling.

HighDpi support is set by default starting with Qt 5.6.

Support for fractional scaling is added for Qt >= 5.14.

Hopefully fixes bug #12060.
2021-02-25 19:24:22 +01:00
Juergen Spitzmueller
55da675efa FancyLineEdit: use QLineEdit's own clear button with Qt >= 5.2 2021-02-23 16:53:15 +01:00
Daniel Ramoeller
e050435314 Adjust label size to directory names in About
Fix for bug #11946.
2021-02-22 07:19:28 +01:00
Enrico Forestieri
4e0d7f753b Draw real dots
A new method for drawing ellipses has been added to the painter
and used for drawing real dots for math decorations and the various
\cdots, \ddots, \vdots, etc., latex commands.
2021-02-21 00:39:12 +01:00
Juergen Spitzmueller
269c583967 ProgressView: fix initial tab. 2021-02-20 08:10:01 +01:00
Richard Kimberly Heck
9c5f743575 Fix bug #12152.
Patch from Daniel.
2021-02-19 17:31:36 -05:00
Yuriy Skalko
110862b09f Fix setting of math matrix size with mouse 2021-02-19 18:06:04 +02:00
Juergen Spitzmueller
ed2f3dae5c Select search string after inserting from find buffer 2021-02-18 15:56:32 +01:00
Juergen Spitzmueller
9ee73dbb30 GuiSearch: properly display indicators in dark mode 2021-02-18 15:44:27 +01:00
Daniel Ramoeller
672ff09634 Fix Undo with search-string-set
Makes it possible to use the find combobox's internal undo feature to undo a set search string.
2021-02-18 13:09:30 +01:00
Juergen Spitzmueller
a7e6dcc31d GuiSearch: make search options visible/accessible in minimal mode 2021-02-18 07:33:26 +01:00
Juergen Spitzmueller
80cb0650e4 Clean up previous selections with empty searchstr on instant 2021-02-17 16:55:55 +01:00
Juergen Spitzmueller
ca160da07d GuiSearch: separate findClicked() slot from more general function
the latter one is also accessed by different paths than clicking
2021-02-17 14:48:31 +01:00
Juergen Spitzmueller
180fca2fcd Fix Find button with search as you type 2021-02-17 14:32:26 +01:00
Juergen Spitzmueller
05004e138f FancyLineEdit: reformat using our indentation style
No change in function
2021-02-17 12:46:37 +01:00
Juergen Spitzmueller
50783d94a8 Advanced F&R: Improve code on Return key 2021-02-17 09:51:09 +01:00
Juergen Spitzmueller
a2a5656d07 Adv F&R: indicate search direction 2021-02-17 09:50:57 +01:00
Juergen Spitzmueller
5ed0dddcf2 Adv F&R: Fix accelerator conflicts 2021-02-17 09:49:25 +01:00
Juergen Spitzmueller
7ad70c908b Add accelerator 2021-02-17 09:08:26 +01:00
Juergen Spitzmueller
fe44b3c0fa GuiSpellchecker: resolve accelerator conflicts 2021-02-16 19:13:13 +01:00
Juergen Spitzmueller
76db3c3f85 GuiThesaurus: complement lyxfind options 2021-02-16 16:33:30 +01:00
Juergen Spitzmueller
109e98d945 GuiSearch: Properly delegate focus 2021-02-16 13:30:31 +01:00
Juergen Spitzmueller
213a3bc557 Add/fix some tooltips 2021-02-16 10:02:47 +01:00
Pavel Sanda
1ba3307226 GuiSearch did not work with num. keypad enter 2021-02-16 08:52:21 +01:00
Juergen Spitzmueller
5980afaee0 Add support for search/replace within selection (#2548) 2021-02-16 08:11:09 +01:00
Juergen Spitzmueller
df4da34836 GuiCitation: Add missing connection 2021-02-16 07:32:01 +01:00
Enrico Forestieri
a0a0119b48 Account for true dpi
We have to account for the physical rather than logical dpi.

See #12132.
2021-02-15 22:43:36 +01:00
Juergen Spitzmueller
c4fbd0d913 Initialize F&R dialog with selected text (#8448) 2021-02-15 16:04:17 +01:00
Richard Kimberly Heck
bdd7e26b3e Fix warning 2021-02-15 09:48:37 -05:00
Juergen Spitzmueller
e5958e3ca8 GuiSearch: catch Esc 2021-02-15 15:37:58 +01:00
Juergen Spitzmueller
958213ee52 Improve instant search 2021-02-15 14:12:07 +01:00
Juergen Spitzmueller
f4a91f6e9e Correct tooltip 2021-02-15 11:32:42 +01:00
Juergen Spitzmueller
f59b8cb657 GuiSearch: Add auto-wrap option 2021-02-15 11:30:03 +01:00
Juergen Spitzmueller
22542700a7 Attempt at "search as you type" 2021-02-15 10:53:23 +01:00
Stephan Witt
3841304f80 Use explicit initialization for plain pointer to buffer view. 2021-02-15 10:03:39 +01:00
Juergen Spitzmueller
d85c09ae14 GuiSearch: Replace icons on buttons by characters 2021-02-15 08:57:13 +01:00
Juergen Spitzmueller
7869437691 Forgot l7n flag 2021-02-15 08:42:15 +01:00
Pavel Sanda
b497baeea3 Guisearch Qt4 compatibility 2021-02-14 22:44:33 +01:00
Stephan Witt
d65e7a8c87 Additional check for clipboards find buffer support - otherwise Qt complains with unsupported clipboard mode 2021-02-14 22:18:07 +01:00
Stephan Witt
3d616bfc79 #11925 Remove the gap between button frame and button background (by Daniel Ramoeller) 2021-02-14 19:04:52 +01:00
Juergen Spitzmueller
c4c62f7185 Remove duplicate header 2021-02-14 19:03:31 +01:00
Stephan Witt
a476cc4839 #8055 add support for system-wide find buffer on Mac
Command-E is standard for paste to find buffer on Mac. That's why the key binding is changed appropriately.
2021-02-14 18:56:25 +01:00
Stephan Witt
0bd9a8be3d Proper initialization of private member bv_ of GuiSearchWidget 2021-02-14 18:48:42 +01:00
Juergen Spitzmueller
4db1a08450 Let replace combo enabled if replace buttons are disabled. 2021-02-14 18:23:54 +01:00
Juergen Spitzmueller
1cc615fa95 Remove empty layout 2021-02-14 18:20:27 +01:00
Juergen Spitzmueller
234c6b5c8b Remove resolved FIXME 2021-02-14 18:15:33 +01:00
Juergen Spitzmueller
28239bf996 Frame takes less space than GroupBox 2021-02-14 18:12:38 +01:00
Richard Kimberly Heck
7c9eaa248d nullptr 2021-02-14 12:05:45 -05:00
Richard Kimberly Heck
fe38f02cde Update release notes for bookmark shortcuts 2021-02-14 11:46:27 -05:00
Richard Kimberly Heck
98f3ef0924 Amend 2baa3a46a6. 2021-02-14 11:41:25 -05:00
Juergen Spitzmueller
2baa3a46a6 Transform simple search dialog to dock widget (#2625)
Also solves #8054
2021-02-14 17:18:00 +01:00
Richard Kimberly Heck
c6dfc70367 Show python info in About LyX 2021-02-13 11:53:14 -05:00
Juergen Spitzmueller
f8021672ad Address some deprecation warnings 2021-02-13 15:23:45 +01:00
Juergen Spitzmueller
9089839055 Resolve accelerator conflicts 2021-02-13 07:57:10 +01:00
Juergen Spitzmueller
fbef5e687a Use dialog-show in icon names
(and search for them also with dialog-toggle counterpart lfuns)

Fixes #12137
2021-02-12 12:18:51 +01:00
Juergen Spitzmueller
d1ea8a40af GuiSearch: catch global shortcuts to find forwards/backwards (#11170) 2021-02-12 10:50:47 +01:00
Juergen Spitzmueller
9721a5cc6b Set GUI name for local greyedouttext color (#12130) 2021-02-11 09:05:42 +01:00
Juergen Spitzmueller
456b2b0e8b Fix indentation 2021-02-11 08:08:37 +01:00
Juergen Spitzmueller
2175899f17 Re-initiate module filter after dialog re-opening (#12128) 2021-02-11 08:07:55 +01:00
Juergen Spitzmueller
ad1e7da1fb Assure filtered module items are not editable (#12127) 2021-02-11 07:57:09 +01:00
Juergen Spitzmueller
65f96abfec Make delimiter icons a bit smaller 2021-02-10 11:40:56 +01:00
Juergen Spitzmueller
c2822d684b Add LFUN_LYXFILES_OPEN
This opens the new templates/examples dialog and creates a view if
necessary (#12106).
2021-02-10 09:36:32 +01:00
Juergen Spitzmueller
7cccfe5515 BulletsModule: disable size widget with custom bullet (#12011) 2021-02-09 11:01:45 +01:00
Juergen Spitzmueller
11b7714fc1 Use SVG icons in itemize bullet selector
This scales much better than the current png solution, is HiDPI- and
darkmode-ready
2021-02-09 10:32:16 +01:00
Stephan Witt
80e20e86be #11682 amend change 4d4dc96b06 - check Qt version for all Qt::ApplicationState occurances 2021-02-08 09:04:18 +01:00
Stephan Witt
4d4dc96b06 #11682 open new window on Mac if there is none and LyX is activated via dock 2021-02-07 18:53:40 +01:00
Juergen Spitzmueller
233cfed333 GuiDelimiter: properly calculate widget width 2021-02-07 17:24:59 +01:00
Juergen Spitzmueller
0afae1f97d GuiDelimiter: fix tabstop access
DialogButtonBox not yet included, though.
2021-02-07 17:00:20 +01:00
Juergen Spitzmueller
fa56a5eb98 Adjust selection color of delimiter icons 2021-02-07 12:32:11 +01:00
Juergen Spitzmueller
5c1a6468ac GuiDelimiter: use highlight text color if icon is selected 2021-02-06 16:25:55 +01:00
Juergen Spitzmueller
7c33e2fc08 GuiDelimiter: store delimiter name in UserRole 2021-02-06 15:33:13 +01:00
Juergen Spitzmueller
1fe75ae72c GuiDelimiter: cleanup and fix crash 2021-02-06 15:09:54 +01:00
Juergen Spitzmueller
fcc832ebeb GuiDelimiter: use SVG icons rather than relying on font (#12085) 2021-02-06 14:05:46 +01:00
Pavel Sanda
ded8c873f4 Attempt on #12066.
Some lfuns are handled directly in GuiApplication while handling
of menu hiding in fullscreen was done on the level of GuiView.

We'll see if this code movement breaks in different scenarios,
but quick grep suggested that the only other way to guiview
dispatch is through drag&drop when menu isn't involved.
2021-02-03 22:06:14 +01:00
Jean-Marc Lasgouttes
9f899a17fa Force redraw of all bufferviews after zoom in/out
Add a new ForceAll update flag that forces to update metrics and
redraw all buffer views.

The situation in multi windows setting is very fragile and will need
to be adressed properly in the 2.5 cycle.
2021-02-03 15:42:11 +01:00
Richard Kimberly Heck
bd0044f9d5 Fix bug #11351.
Patch from Daniel.
2021-02-02 17:34:25 -05:00
Juergen Spitzmueller
1bc7e73c74 Fix highlighting of cursor context in View Source (#12099)
This also considers dark mode,
2021-01-31 17:54:54 +01:00
Jean-Marc Lasgouttes
b1efc5a48e Initialize properly IconInfo struct
Spotted by coverity.
2021-01-29 18:57:13 +01:00
Jean-Marc Lasgouttes
dca5646163 LengthValidator: initialize properly positive_
Spotted by coverity.
2021-01-29 18:17:16 +01:00
Enrico Forestieri
070270fdc7 Avoid deprecation warnings
In Qt 5.15 many deprecation warnings are issued, presumably for
helping the port to Qt 6. They are really a load but can be
shuten up by using -DQT_NO_DEPRECATED_WARNINGS, except for the ones
about MidButton, AdjustToMinimumContentsLength, and DefaultLocaleLongDate.

This change should not affect compilation with Qt 4, as all changes are
backward compatible (only Qt versions prior 4.5 could be affected).
2021-01-29 13:12:29 +01:00
Richard Kimberly Heck
10c7954ffb Const 2021-01-25 14:35:37 -05:00
Jean-Marc Lasgouttes
6bf8a0ade8 Disable respectOSkbd checkbox
This is not ready yet. See discussion in #6450.
2021-01-25 18:35:41 +01:00
Juergen Spitzmueller
b90c3fdfa1 GuiTabular: only apply changed features (#10450) 2021-01-25 11:00:06 +01:00
Juergen Spitzmueller
e2a66df3b8 LFUN_FILE_OPEN: Strip quotes from argument (#12091) 2021-01-24 14:48:55 +01:00
Juergen Spitzmueller
06605a587f Account for spaces in paths to templates (#12082) 2021-01-20 17:05:10 +01:00
Juergen Spitzmueller
ee475b62fa Do not rely on hardcoded color when determining boxbgcolor 2021-01-20 14:15:48 +01:00
Juergen Spitzmueller
024980cf43 Do not rely on hardcoded color when determining notefontcolor 2021-01-20 13:58:24 +01:00
Juergen Spitzmueller
b1afdf1c19 Correct disabled graphics scale string (#9443) 2021-01-20 12:06:22 +01:00
Juergen Spitzmueller
3f1799b2c8 Add method to check whether LyX runs in dark mode 2021-01-19 09:21:36 +01:00
Juergen Spitzmueller
29f98ab245 Use isDarkMode() method 2021-01-19 08:37:05 +01:00
Juergen Spitzmueller
9a6f7ece97 Add option to revert graphics colors in dark mode (#12076)
This amends [5d47a7ee57506/lyxgit]
2021-01-18 10:46:16 +01:00
Juergen Spitzmueller
057753dc75 Allow semantic colors in branches and use semantic background color by default
Addresses most crucial part of #12075

File format change
2021-01-18 09:56:53 +01:00
Juergen Spitzmueller
a4e6f0dead Add some more hints to empty margin widgets (#11424) 2021-01-17 17:49:45 +01:00
Juergen Spitzmueller
5d47a7ee57 Try to automatically handle transparent pictures in darkmode (#12076)
We'll see how this plays in practice.
2021-01-17 11:03:21 +01:00
Juergen Spitzmueller
606a404632 Extend non-default margins tooltip (#11424) 2021-01-17 10:18:45 +01:00
Richard Kimberly Heck
fd74bddffc Keep dialog connected to cross-ref inset after Apply.
This does not actually have any effect yet, due to the fact that
disconnectAfterApply returns true (and this is a GuiDialog).
2021-01-15 11:12:25 -05:00
Richard Kimberly Heck
a9bb062fc3 Keep dialog connected to External inset after Apply 2021-01-15 11:12:25 -05:00
Richard Kimberly Heck
bd555eebe2 Keep dialog connected to BibTeX inset after Apply 2021-01-15 11:12:25 -05:00
Richard Kimberly Heck
997bf3ecb7 Revert unintended commit from before 2021-01-15 11:12:25 -05:00
Richard Kimberly Heck
9504ec84c5 Simplify and polish 2021-01-13 14:42:26 -05:00
Richard Kimberly Heck
d41ec3368d Fix bug #10635 2021-01-13 14:38:48 -05:00
Stephan Witt
2844a4ec06 drop unintented static declaration from local temporary variable (formerly a global static constant) 2021-01-10 22:03:19 +01:00
Richard Kimberly Heck
98bfbe9ddf Fix bug #6128. 2021-01-10 02:40:12 -05:00
Richard Kimberly Heck
12bb380941 Fix bug #5972: Count words in citations (approximately). 2021-01-10 01:43:34 -05:00