Commit Graph

36201 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
5a3401c66e Revert "Skip all drawing with NoScreenUpdate strategy"
This reverts commit b874bdfd40.

It was commited by mistake and actually does not seem to improve
performance.
2016-07-07 14:22:08 +02:00
Stephan Witt
535429d914 Add qt-dir bin directory value to PATH - matching Qt tools may not found at build time anymore if not in front of PATH 2016-07-07 01:04:09 +02:00
Jean-Marc Lasgouttes
14a6a4723f Use a proper test for detecting usable std::regex
The test is stolen from cmake code.

Tested on:

* ubuntu 12.04 with g++ 4.6, clang 3.3 (with libstdc++)

* ubuntu 16.04 with g++ 5.3, clang 3.7 (with libstdc++) and clang 3.7
  (with libc++)

The last combination fails, but it seems to be related to real bugs
(reported for debian), so this is OK.
2016-07-06 15:12:53 +02:00
Jean-Marc Lasgouttes
23dbcb59d2 New test to determine correct -std option for CXX compiler
The test file is stolen from cmake. The options tested are, from the
most desirable to the least desirable:
  -std=c++14 -std=c++11 "" -std=c++0x -std=gnu++14 -std=gnu++11 -std=gnu++0x

It is expected that the result will not be correct for cygwin, but
this is fixable.
2016-07-06 14:21:49 +02:00
Jean-Marc Lasgouttes
b874bdfd40 Skip all drawing with NoScreenUpdate strategy
It seems that it was needed in 0b0c27ef, but nowadays the metrics are
not touched when we set this strategy.
2016-07-06 11:32:54 +02:00
Jean-Marc Lasgouttes
86c33c96a0 Record undo when deleting end of paragraph in change tracking mode
Fixes bug #10253.
2016-07-05 16:26:11 +02:00
Kornel Benko
a51847f33f Cmake build: Split use of 3RDPARTY_BUILD to build individual libs
The split is now analogous to automake. The individual libs are handled
analogously to already handled boost.
automake config setting			cmake config settings
--with-included-iconv			-DLYX_EXTERNAL_ICONV=OFF
--with-included-zlib			-DLYX_EXTERNAL_Z=OFF
--with--included-hunspell		-DLYX_EXTERNAL_HUNSPELL=OFF
2016-07-05 16:07:03 +02:00
Jean-Marc Lasgouttes
be1c3f5fe3 Poor man's profiler: add support for cache hit/miss
This is still very basic profiling, but it seems to get the work done.
2016-07-05 15:31:17 +02:00
Guillaume Munch
f6bd79745e Revert c6ce76c2 and fix 670efa8f
Thanks Stephan
2016-07-05 12:07:36 +02:00
Jean-Marc Lasgouttes
d044986724 Autoconf : Try to select the correct Qt tools by using the -qt option
With this change, it is now possible to configure with --enable-qt5
and have make use "moc -qt=qt5" automatically.

This is done when the command qtchooser is available nd the desired Qt
version (qt4/qt5) is available.

This means that it is now possible to have qt4 and qt5 builds easily
on a same linux system.
2016-07-05 12:01:13 +02:00
Uwe Stöhr
6a598b3d12 German UserGuide.lyx: backport recent changes from branch 2016-07-05 03:02:11 +02:00
Uwe Stöhr
d0eebfd044 doc files: backport recent changes 2016-07-05 02:27:36 +02:00
Enrico Forestieri
697580006e Bring window to front only for single-instance mode
A window manager could be configured such that to maintain a certain
stack order for the windows. It would be annoying that opening a new
file through menu brings up the window, so do this only if we are
loading a file through the lyx-server.
2016-07-05 01:01:02 +02:00
Pavel Sanda
d13048c7f5 fix make check. 2016-07-04 14:10:30 -07:00
Pavel Sanda
8085899fb6 Ressurect make distcheck. 2016-07-04 13:17:07 -07:00
Enrico Forestieri
7c82ab3205 Fix display of \leq, \geq, and \lnot in mathed
Commit 343a379b used a wrong syntax that was causing the display
of the above symbols as blanks.
2016-07-04 21:55:00 +02:00
Stephan Witt
c6ce76c2fb Fix missing TexRow.h include after change 670efa8f64 2016-07-04 20:37:06 +02:00
Stephan Witt
6c4f30b193 Add missing include for abs(int) 2016-07-04 20:36:16 +02:00
Jean-Marc Lasgouttes
67ac031a33 Gcc 6+ use C++14 as default, so there is no need to enforce C++11
Also, use gnu++11 unconditionnally with gcc as we used to do before 67385e69.
2016-07-04 12:15:01 +02:00
Stephan Witt
ac4cca6ed4 Fix missing includes after change 670efa8f64 2016-07-04 12:11:24 +02:00
Stephan Witt
d246aa7af5 Fix missing include for endl after header cleanup in change 670efa8f64 2016-07-04 11:04:53 +02:00
Stephan Witt
df73cade2b Fix missing include for file i/o prototypes after header cleanup in change 489dca71cd 2016-07-04 10:30:19 +02:00
Stephan Witt
b035528c1c Fix missing include for malloc prototype after header cleanup in change 489dca71cd 2016-07-04 08:33:03 +02:00
Guillaume Munch
e90e80a2f6 Amend 670efa8f
Lost in rebasing.
2016-07-04 04:43:22 +02:00
Guillaume Munch
670efa8f64 Rationalise includes
Modifying TexRow.h or texstream.h no longer triggers the recompilation of the
complete source tree.
2016-07-04 02:42:17 +02:00
Pavel Sanda
5e371da306 Not in tree anymore.
Uwe, watch your step.
2016-07-03 16:41:27 -07:00
Guillaume Munch
a5ba0b9d30 Match code with comment
The line felt too thin.

Note: I am still sceptical with the principle of an increase at the rate of
1/200% instead of 1/100%.

Also, I am sceptical with changing painting dimensions to int when Qt supports
doubles for everything (see e.g. 463bd17d). If the goal is to force
integer-width solid lines then one could try to disable antialiasing on Qt's
side.

I think the painter should move in the other direction, towards more doubles and
fewer ints. For instance, for Hi-DPI, Qt could probably take advantage of the
increased precision even without AA. (Then one would have to fix the problem
regarding uneven lines, mentioned in the above commit, in another fashion.)
2016-07-04 01:26:13 +02:00
Guillaume Munch
f151b932c2 Change tracking cue: InsetText and InsetCollapsible
* Underline or strike through the label as if it was text (it is).

* Strike through deleted InsetText, but let RowPainter handle the case of
  non-MultiPar text insets.

* Change the colour of the frame as a cue, unless its colour is customised (not
  Color_foreground). (Essentially do the border of CharStyles like Tabular does
  it already.)

* The change info needs to be reset when entering InsetText. Otherwise labels
  are painted with the change of their n+1-th parent.
2016-07-03 23:38:37 +02:00
Enrico Forestieri
16ec606ab4 Bring window to front after loading a document
Fixes #7875.
2016-07-03 22:58:25 +02:00
Georg Baum
0f2dc7d0a7 Fix regression of 6dfc25508
We need to remove the temp file now manually.
2016-07-03 19:41:04 +02:00
Georg Baum
c7bfa7d341 Fix linking with cmake and included iconv
Previously, the GNU linker would complain about missing libcharset_relocate.
The MSVC linker did not complain, since the code that uses libcharset_relocate
does not seem to be sued, so it removed it.
2016-07-03 18:51:22 +02:00
Guillaume Munch
325fbab463 Change tracking cue: for Graphics
Strike through deleted graphics.
2016-07-03 17:28:47 +02:00
Guillaume Munch
8e1a869c45 Change tracking cue: for instant preview
Strike through deleted previews (expect for inline math where it is already taken care of by RowPainter).
2016-07-03 17:28:47 +02:00
Guillaume Munch
de786bfcdf Change tracking cue: for display() math insets
Strike through deleted display math insets.
2016-07-03 17:28:46 +02:00
Guillaume Munch
28f6c312a9 Painter: Add a line style to disable antialiasing
It is not possible to use opacity effects (such as drawing an antialiased line
to strike diagonally through an inset), until the painter is fixed so that it
does not redraw repeatedly over the same spot (otherwise, the usual aritfacs
appear).

For now, pixellated lines are OK.
2016-07-03 17:28:46 +02:00
Guillaume Munch
4089ff1ec3 Beautify ToolTips in work area
* Justification and nicer line breaks.

* Much nicer tooltip for lists of bibliographical references.

* Removed unnecessary iterated copies of the string buffer in
  InsetText::ToolTipText() which looked bad. This function used to be costly
  (cf64064), maybe it is quicker now.
2016-07-03 17:28:46 +02:00
Guillaume Munch
d1dddde6d8 Remove tooltips from the data of Toc Items
After the previous commit, tooltip in the outliner are formatted automatically,
along with the other tooltips. A previous commit had already removed the
expensive call to tooltipText() that, although it gave a better rendering, was
very expensive (cf64064). This patch finishes to remove the custom tooltip
from the model data in the outliner.

(It would be nice to reintroduce a tooltip based on tooltipText(), but there
seemed to be a consensus that in that case one would prefer a less expensive
approach that computes the tooltip on the fly.)
2016-07-03 17:28:46 +02:00
Guillaume Munch
8cf138e173 GuiDocument: some polishing of the list of modules.
* The tooltips in the list of modules now include the names of the modules.

* The tooltips of modules more consistent across the widgets.

* Sort the list of modules according to the locale (i.e. "É" comes before "F").

* Replace a hand-made sentence boundary finder by Qt's.
2016-07-03 17:28:46 +02:00
Guillaume Munch
ee72e9520a Remove manual line breaks.
Line breaks in tooltips are now done automatically, there is no more need to
break the strings explicitly.
2016-07-03 17:28:46 +02:00
Guillaume Munch
059ca0f691 Line breaks in tooltips
* New function formatToolTip(QString):

Format text for display as a ToolTip, breaking at lines of a certain
width. Note: this function is expensive. Better call it in a delayed manner,
i.e. not to fill in a model (see for instance the function
ToolTipFormatter::eventFilter).

* Install a global event filter that formats tooltips on-the-fly

Inspired from
3793fa09ff
but much improved.

When is formatToolTip called automatically? Whenever the tooltip is not already
rich text beginning with <html>, and is defined by the following functions:
 * QWidget::setToolTip(),
 * QAbstractItemModel::setData(..., Qt::ToolTipRole),
 * Inset::toolTip() (added in one of the subsequent patches)

In other words, tooltips can use Qt html and the tooltip will still be correctly
broken. Moreover, it is possible to specify an entirely custom tooltip (not
subject to automatic formatting) by giving it in its entirety, i.e. starting
with <html>.
2016-07-03 17:28:45 +02:00
Guillaume Munch
489dca71cd Simplifications, mainly removal of boost::function and useless std::bind 2016-07-03 01:39:32 +02:00
Richard Heck
bc1672f6a0 Squash some warnings. 2016-07-02 14:12:49 -04:00
Uwe Stöhr
edbc91a6f9 remove 2 outdated build scripts
LyX 2.3 cannot be compiled with MSVC 2010
2016-07-02 19:40:18 +02:00
Georg Baum
6dfc255088 Fix CAS input on windows (bug 10262)
This is the well known file locking problem: The TempFile class keeps the
created file locked for the own process, and this prevents the CAS to read it.
2016-07-02 18:58:30 +02:00
Georg Baum
3c56e7c0eb Fix MSVC C++11 detection
The old version with empty flag did not enter the loop at all, so we have to
use a workaround. Thanks Uwe for testing.
2016-07-02 18:26:08 +02:00
Georg Baum
5b04b91d54 whitespace 2016-07-02 14:52:46 +02:00
Georg Baum
083e6bb8a4 Fix MathML for imaginary part
image is the HTML image element
2016-07-02 14:37:05 +02:00
Georg Baum
987dd84461 Do not use --std=c++14 for MSVC
MSVC does not need a special flag to specify the standard. Using --std=c++14
produces a warning, but compilation succeeds, so the old code did mistakenly
choose --std=c++14 for MSVC.
2016-07-02 12:42:04 +02:00
Georg Baum
e49d59dafc Fix std::regex detection for older gcc
Older gcc versions (e.g. the first one which has usable std::regex: gcc 4.9)
require the --std=c++11 flag to be set. Otherwise std::regex is not made
available. Therefore we need to keep the flag in the loop.
2016-07-02 12:39:08 +02:00
Georg Baum
5ef180842c Ensure that iconv and zlib are always found
If the included thirdparty libs are requested, use them, even on unix. This is
consistent with autotools (but the recommended way is of course to use the
system libs). If the included thirdparty libs are not requested then try to find
libiconv and zlib also on windows. This will lead to an error unless the libs are
found via manually added include and link paths, but this is wanted since
libiconv and zlib are not optional.
2016-07-02 11:09:26 +02:00