Commit Graph

25101 Commits

Author SHA1 Message Date
Juergen Spitzmueller
1f5186b2a7 More QDialogButtonBox transformation
GuiDelimiter through GuiIndex

See #11003
2018-07-09 09:46:39 +02:00
Juergen Spitzmueller
4d9fa8a0d7 Amend 0570d16a3b
When slot[Ok|Apply|Cancel]() from GuiDialog are re-implemented, we also
need to re-implement slotButtonBox()
2018-07-08 16:48:58 +02:00
Juergen Spitzmueller
0570d16a3b Start using QDialogButtonGroup rather than manual OK etc. buttons
This assures the OK/Apply/Cancel/Restore buttons use the layout/style
of the OS (button order, icons).

The goal is to move all dialogs to this for 2.4.

See #11003
2018-07-08 16:35:38 +02:00
Juergen Spitzmueller
01a74e8e95 Polish Bib(la)TeX dialog 2018-07-08 12:13:47 +02:00
Juergen Spitzmueller
4ec8bd05a4 update tex2lyx tests 2018-07-07 15:28:40 +02:00
Juergen Spitzmueller
e6e3777363 Add support for bib files encoding
File format change.

Fixes: #6223
2018-07-07 15:25:35 +02:00
Juergen Spitzmueller
1cfa56b5cb Correctly calculate cell metrics with xtabular columns
Fixes rest of #11182
2018-07-07 09:18:47 +02:00
Juergen Spitzmueller
fa9675965a Do not expand tabular cells to maxwidth on line break
Fixes part of #11182.
2018-07-06 16:15:13 +02:00
Jean-Marc Lasgouttes
ad5548cfe3 Fixes to input method handling
The goal of this patch is to make "self-insert <string>" act as a
sequence of individual self-insert calls. Once it is done, the
insertion of the commit string in GuiWorkArea can use that, which
fixes the issues described in bug 11183.

1/ in InsetMathNest, SELF_INSERT is rewritten to be a proper loop of
   interpretChar, instead of inserting the string as characters. This
   solves the issue of interpreting ^ properly.

2/ the text version does not need to be changed (the loop is rewritten
   using a range, though).

3/ Then {{{GuiWorkArea::inputMethodEvent}}} is changed to invoke
   directly self-insert. This removes the update issues.

Fixes bug 11183.
2018-07-05 14:32:37 +02:00
Enrico Forestieri
db9c8c6d02 Autodetect the EMF format
Otherwise it will be recognized only by the file extension, because
libmagic returns "application/octet-stream" as mime type. Moreover,
if the emf encapsulates a binary image format, it can be confused
with this other format and its preview on screen fails.
2018-07-04 19:52:13 +02:00
Enrico Forestieri
dfd6afb740 Fix compilation on case insensitive filesystems
In such filesystems, including either Magic.h or magic.h does not
make any difference and the one or other file is included depending
on the search order. In this case, Magic.h was trying to include
itself instead of including magic.h.
2018-07-04 09:42:04 +02:00
Jean-Marc Lasgouttes
c9fd7058ab fix compilation when libmagic is not used 2018-07-03 21:18:26 +02:00
Jean-Marc Lasgouttes
789acb4a95 Do not allow completion when there is an active selection
We do it in texted only, mathed is more difficult and not so relevant IMO.
2018-07-03 17:01:20 +02:00
Jean-Marc Lasgouttes
4c6a341ab5 Encapsulate libmagic support in a class
This makes the code much easier to read and, additionally, allows to
parse the magic file with magic_load() only once per session.

As a result, getFormatFromFile is slightly faster.
2018-07-03 11:58:01 +02:00
Juergen Spitzmueller
25f274f2a0 Amend e5c79a43ee
Consider some tabularx specifics for the display of tabular/column widths
in the workarea.
2018-07-02 19:16:22 +02:00
Juergen Spitzmueller
e5c79a43ee Attempt to reflect tabular width in workarea
This is not perfect, since variable width columns will break at a certain
treshold, but it is better than what we have now (no tabular width
indication at all)
2018-07-02 17:05:46 +02:00
Jean-Marc Lasgouttes
8e015f3cb2 Do not force lfun argument to be pure ascii
Fixes bug #11167.
2018-07-02 10:49:58 +02:00
Juergen Spitzmueller
9dcb24d578 Support varwidth's V tabular column type
This effectively enables linebreaks, multipars and layout changes in
non-fixed width (i.e., standard) table columns.

Fixes: #6577

TODO: metrics are wrong (too wide) on screen with linebreaks.
2018-07-01 19:18:38 +02:00
Juergen Spitzmueller
88e5e5fd34 Wrap rotated cells with linebreaks in varwidth
Fixes: #8085
2018-06-30 14:32:27 +02:00
Juergen Spitzmueller
fc9d47f7f4 Handle correctly zero table special arguments.
Fixes: #10247
2018-06-26 10:51:16 +02:00
Richard Kimberly Heck
7af1a065e8 update assertion. 2018-06-26 00:26:35 -04:00
Kornel Benko
41ddac5519 Cmake tests: Added tex2lyx test for xltabular and tabularx 2018-06-25 12:04:45 +02:00
Juergen Spitzmueller
21005cbd6f Fix definition of boolean 2018-06-25 12:01:26 +02:00
Juergen Spitzmueller
650bb156d9 tex2lyx: tabular width in longtable is now possible (via xltabular). 2018-06-25 11:52:56 +02:00
Juergen Spitzmueller
8db5ff18cf With xltabular, multi-page tables can have a fixed width 2018-06-25 10:53:40 +02:00
Juergen Spitzmueller
4d80cd60ea GuiTabular: set focus on column width LE if custom is selected 2018-06-25 10:34:57 +02:00
Enrico Forestieri
380f34a114 Fix bug #11180
When a raster image with an advertised pixel density different
from 72 dpi is included in a latex file, the output image dimensions
are scaled by the ratio 72/pixel_density. Hence, if a clipping
bounding box is specified, it has to be scaled by the same ratio,
otherwise the images will be clipped differently on screen and output.
Here we use the extractbb command (present in any TeX distribution)
to ask about the output dimensions of the image as dictated by the
pixel density and compute the scaling ratio by the knowledge of the
actual dimensions. If, for whatever reason, extractbb is not found,
everything goes as before, because the clipping bounding box will
simply not be corrected.
2018-06-24 20:06:40 +02:00
Juergen Spitzmueller
c33506555f tex2lyx: Add support for multirow
Fixes: #11164
2018-06-24 18:14:10 +02:00
Juergen Spitzmueller
087a43ee1f tex2lyx: check for \maketitle also if other titlename is specified
Beamer for instance supports \maketitle, although we use \makebeamertitle
2018-06-24 10:23:30 +02:00
Juergen Spitzmueller
9c10816b84 Update tex2lyx tests. 2018-06-24 10:09:39 +02:00
Juergen Spitzmueller
f38816bf16 Add support for tabularx/xltabular
I.e., variable width columns in single and multiple page tables

Files format change.

Fixes: #4154, #4155
2018-06-24 10:05:15 +02:00
Enrico Forestieri
f6922b8c88 Fix bug #11174
Apparently, a new paragraph is started after a float even if
no blank line is actually present. So, account for this fact.
2018-06-16 20:55:38 +02:00
Juergen Spitzmueller
01d8f41894 Support input of non-ASCII characters in hyperlinks
We transform them to hex representation via
QByteArray::toPercentEncoding()

Fixes: #11165
2018-06-09 11:52:55 +02:00
Jean-Marc Lasgouttes
f1ea7fee5c Unbreak completion in text mode
Completion uses a complicated async scheme based on timers to update
itself. This is probably not necessary anymore and is fragile to
event order changes.

This is what happens with the new painting scheme. Therefore the
asyncHideXXX() methods have to be made more robust and detect whether
completion state has changed by the time they are triggered.
2018-06-08 10:32:47 +02:00
Richard Kimberly Heck
51f8ba9d35 Fix up 3847e0ef7. 2018-06-06 13:55:59 -04:00
Enrico Forestieri
125ee9fb8c Avoid duplicate generation of the same preview
When an image has to be loaded a second time and the cache
is not used or the image is not in the cache, its preview is
going to be regenerated again. Hence, if the same image
appears more than once on screen, avoid requesting simultaneous
generation of the same preview.
See also this thread:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg205057.html
2018-06-06 18:59:37 +02:00
Richard Heck
f17f5617e0 Fix bug #7404.
This allows for external editing of ERT insets. Original patch
by Georg Baum. Updated to 2.4dev by Riki Heck.
2018-06-05 23:13:54 -04:00
Richard Heck
3847e0ef77 Fix bug #991.
Patch adapts Georg's work on #7404 to this case.
2018-06-05 22:26:16 -04:00
Jean-Marc Lasgouttes
2d02c39d56 Use getArg to read math-extern arguments
This avoids a use of istringstream that coverity dislikes.
2018-06-05 11:24:05 +02:00
Jean-Marc Lasgouttes
32f37250d5 Catch exception in replaceEnvironmentPath
This exception in the regex constructor is only theoretical (our regex
are hardcoded), but this is creating coverity noise.

Additionally, revert the following commits that are not needed anymore:
6b6fa94c: Catch exceptions to please coverity
c2ed75fd: Fixup 6b6fa94c: coverity says there are more possible exceptions.

This commit is better viewed with 'git show -b'.
2018-06-04 11:39:41 +02:00
Jean-Marc Lasgouttes
4d0c43f9aa Fixup c7496a11: test emptiness before accessing elements 2018-06-01 21:48:26 +02:00
Juergen Spitzmueller
2fbce44401 We do not natively support multirow yet
See #11164
2018-06-01 17:11:35 +02:00
Juergen Spitzmueller
a368439bcc If a master is being created at loading the child, un-hide it.
Fixes: #11162
2018-06-01 10:17:18 +02:00
Jean-Marc Lasgouttes
c7496a11b2 Skip paint event when in the middle of a buffer operation
This is detected when an undo group is open and contains at east one
element. This means indeed that changes are in progress. Note that the
group is in general opened in GuiApplication::dispatch. The code there
is changed to ensure that the group is closed before updating the
screen.

This patch is experimental. It is expected to be replaced in master by
a more complete solution. It could in the meantime be backported to 2.3.x.

Fixes bug #11159.
2018-05-31 23:26:17 +02:00
Richard Kimberly Heck
efc9720b0d Revert "Remove test for files when using batch mode."
We are not really ready for this case.

This reverts commit e143f0b9e9.
2018-05-30 23:13:07 -04:00
Richard Kimberly Heck
e143f0b9e9 Remove test for files when using batch mode.
As Kornel pointed out, it's possible to give a command sequence, or
multiple "-x" arguments, and carry out an operation without actually
giving LyX a filename argument. This will lead to cases like:
    lyx -batch -x buffer-export
which don't do anything, but it's not catastrophic.
2018-05-29 15:48:56 -04:00
Jean-Marc Lasgouttes
b54fcc0b7f Fixup 7900e995: avoid null dereference
Spotted by Coverity.
2018-05-29 15:23:28 +02:00
Jean-Marc Lasgouttes
d1d3f75548 Fixup dd79338c: avoid hypothetical division by zero
Spotted by Coverity.
2018-05-29 15:18:01 +02:00
Jean-Marc Lasgouttes
c76b8b3a25 Fixup 57dc8175: initialize GuiCharacter::nospellcheck_
Spotted by coverity.
2018-05-29 15:08:38 +02:00
Jean-Marc Lasgouttes
6bcc7d6e42 Fixup 4e9084b3e4
The reordering of the code was incorrect. The code calling Change::paintCue()
has to come last, since it depends on the change_drawn value.

Spotted by coverity.
2018-05-29 15:00:04 +02:00