Commit Graph

35696 Commits

Author SHA1 Message Date
Georg Baum
a4b8094aac const correctness
It is dangerous to hand out non-const pointers to members from a const method.
2016-06-20 22:00:05 +02:00
Richard Heck
a9af5333b2 Add new module:
Provides two new styles:

1. An "In Premable" style that puts whatever is entered into it into the preamble.
   This can be used, if one wishes, to include preamble code in the body of the
   LyX document.
2. An "In Title" style that will put its contents into the body of the LaTeX
   document, but before \maketitle is issued. This is useful for making branches
   and notes in title-related material. (If you put these in a Standard layout,
   this signals to LyX to output \maketitle, which may then come too early.)

Due to the ForceLocal machinery, no format change is needed.
2016-06-20 11:06:31 -04:00
Richard Heck
35d449c5da Fix bug #10153: There's a mechanism in XHTML output that defers the
output of tags until we know they're needed. In the case of HTML
tables, empty cells should of course be output, so we need to force
the tags to be output.
2016-06-20 10:22:50 -04:00
Georg Baum
d66d6f7805 Remove external date inset
The external date inset was implemented as a demonstrator for external insets
in general. It was never intended for production code. Now that we have several
external insets defined we do not need the demonstrator anymore. This fixes
bugs #4398 and #9948.
2016-06-19 21:23:25 +02:00
Georg Baum
4bc2b248f7 Use default MSVC install path
My memory was wrong, the default path uses the internal version number.
2016-06-19 19:04:30 +02:00
Georg Baum
5ab19af782 Skip paragraph parameters for dash conversion
Some of them are directly passed to LaTeX, but for all of them a token
\twohyphens or \threehyphens is not valid. This fixes bug #10243.
2016-06-19 17:05:13 +02:00
Georg Baum
b425e3108e Ajust instructions to qt 5
Building with MSVC and qt4 is an esoteric special case nowadays. People who
are able to do this will also figure out how to call cmake. The standard case
is qt 5, and this was not yet documented.
2016-06-19 16:28:02 +02:00
Georg Baum
a88d1f023b Describe how to set env vars for the MSVC compiler
The old instructions did assume that the MSVC bin directory was in the PATH.
This is not recommended, since it gets in the way if you want to compile for
32 and 64 bit. Therefore it is now described how to configure without the
PATH dependency.
2016-06-19 13:26:48 +02:00
Georg Baum
c7c9744368 Adjust dep path in build batches
Another location where paths are stored...
2016-06-19 13:15:50 +02:00
Georg Baum
4d7fa5fab3 Update MSVC build instructions
We recommend MSVC 2015 now, because of better C++11 support and MSVC 2010 is
not available anymore. Also update several pathsdue tro changed dependency
packages.
2016-06-19 12:55:00 +02:00
Georg Baum
48fd76d4bf Fix windows dependencies download
The paths and servers have changed, and a MSVC 2013 version is not provided
anymore.
2016-06-19 12:47:30 +02:00
Stephan Witt
4bc2877e8a Always present Qt version info in LyX About dialog - not for developer version only 2016-06-19 11:53:20 +02:00
Richard Heck
066cc0c9c0 Fix typo, and also check if string is null. 2016-06-18 18:33:45 -04:00
Richard Heck
68b60ec529 Be a bit more careful about setting and restoring the last reference
when we go to and return from labels.
2016-06-18 18:27:51 -04:00
Georg Baum
012d843a19 add missing autotests to tarball 2016-06-17 21:17:38 +02:00
Georg Baum
ff93b83953 implement lyx2lyx roundtrip for \use_microtype 2016-06-17 21:11:53 +02:00
Georg Baum
c6610453e0 Use unicode cmdline args consistently
Previously the commandline arguments were processed in an operating system
dependent encoding if running under python 2. Now they are converted to
unicode during the parsing, using the more modern argpase instead of optparse.
The individual conversion methods do no longer need to know anything about
commandline encoding. This fixes a bug similar to #10218 if running under
python 2 which I probably introduced during the python 3 conversion.
2016-06-16 22:05:56 +02:00
Georg Baum
bf49ea32c2 Do not distribute built sources
Implementation stolen from ff17b366a0
2016-06-16 21:34:38 +02:00
Georg Baum
1a79538725 Remove obsolete comments 2016-06-16 21:05:27 +02:00
Georg Baum
c737f1cddf Remove InsetMathXYArrow
This was dead code that did never work, and most of it was boilerplate that
you can steel in 15 minutes from any existing math inset. Apart from that it
did contain a pointer to InsetXYMatrix which would create the same problems
we saw with the macros.
2016-06-16 20:39:32 +02:00
Georg Baum
8e9321dec2 Amend 10b4a47185 2016-06-16 20:25:43 +02:00
Georg Baum
10b4a47185 Expose python 3 support to some testing
LyX will now always use the default python interpreter. This will hopefully
help us sto see if one of them fails in some cases.
2016-06-16 20:22:40 +02:00
Georg Baum
f8990ef469 This is LyX 2.3 2016-06-16 20:20:59 +02:00
Georg Baum
d32f8f326a Fix boost packaging
icu.{hpp,cpp} is not needed and cannot be compiled since it depends on libicu.
The other two files are currently not used, but could be in principle, so I
added them to the build.
2016-06-15 22:21:21 +02:00
Georg Baum
e307944d18 Require gcc 4.6
See also 5de30b1210
2016-06-15 22:04:51 +02:00
Guillaume Munch
c76e0f1153 Make latex highlighter colors compatible with dark theme
Partial fix for #8325
2016-06-15 19:42:06 +01:00
Pavel Sanda
5de30b1210 * README: document recent gcc discussion.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg194937.html
2016-06-15 11:10:31 -07:00
Guillaume Munch
52dd5dc84f Fix compilation with gcc 4.6 part II 2016-06-15 14:42:34 +01:00
Kornel Benko
43d284e15a Added missing ipa icons to distribution 2016-06-15 15:03:55 +02:00
Kornel Benko
60a1827b65 Added missing oxygen icons to distribution 2016-06-15 14:50:09 +02:00
Kornel Benko
2c5ffcefe9 Add xmingw and LyXDestinations.cmake to distribution files 2016-06-15 13:03:25 +02:00
Kornel Benko
a71fba47ab Cmake windows build: Discard use of configCompiler.h.msvc
This file doubles the struggle when inventing new configuration tests.
Hopefully we get soon a confirmation if the withdraw is OK.
2016-06-15 11:29:09 +02:00
Kornel Benko
0eb0a3d94d Cmake dist: Expand the list of not distributed files. 2016-06-15 10:21:18 +02:00
Richard Heck
ff4005de68 Whitespace. 2016-06-15 00:23:53 +01:00
Georg Baum
7b4c4d8ae1 Add missing images to source package
Thanks to Kornel for noticing.
We cannot use ${x} style variables with autotools, these work only in the
final Makefile. We need to use $(x).
2016-06-14 22:30:26 +02:00
Richard Heck
0fa905ceab Replace coverity comment with assertion. 2016-06-14 18:26:08 +01:00
Guillaume Munch
b148629d56 Fix compilation with gcc 4.6 2016-06-14 16:44:40 +01:00
Guillaume Munch
947c34364c Fix bug #10195
The computation of the index of the main text entry of a row did not take into
account the fact that the entry could be optimised away.
2016-06-14 16:44:40 +01:00
Guillaume Munch
b7abd752fa amend 6144bbfb 2016-06-14 01:34:16 +01:00
Guillaume Munch
aef8746712 amend e2bc7ffa 2016-06-14 00:21:26 +01:00
Jean-Marc Lasgouttes
e8655e9a70 Detect clang version in autoconf (and use it a bit)
The version is read by checking the macros __clang_major__,
__clang_minor__ and __clang_patchlevel__. Hopefully they will have
coherent values everywhere.

For now, the version is used to set warnings a bit more reasonably for
older clang versions, which do not support -Wdeprecated-register and
some others that are used in pragmas in boost.

This removes many warnings when compiling with clang 3.3.
2016-06-13 11:25:23 +02:00
Guillaume Munch
b2b8733096 Remove a conversion to_utf8() inside FontSetChanger
This requires to change many docstrings into std::strings. The logic behind that
is that they represent a fixed set of math fonts, and therefore “string” means
here “poor man's enum” rather than text (this is consistent with MetricsBase).

Profiling of scrolling inside a document over macro-instensive areas:

Before the patch:
  44,1% BufferView::updateMetrics()
   -> 34,8% InsetMathHull::metrics()
     -> 9,8% FontSetChanger::FontSetChanger()
  28,4% BufferView::draw()

After the patch:
  35,3% BufferView::updateMetrics()
   -> 27,2% InsetMathHull::metrics
     -> 0,4% FontSetChanger::FontSetChanger()
  47,5% BufferView::draw()

FontSetChanger::FontSetChanger() is made 41x less expensive (with reference
BV::draw()) just by removing this conversion. The remaining 0,4% could be
squished by replacing the strings with a proper enum, but this is premature. Of
course, this only treats the symptoms: there is no good reason that this
function is called 45500 times over the time of 40 repaints.
2016-06-13 08:46:15 +01:00
Guillaume Munch
325c476bcb ScrollbarParameters: clean-up and document
Position is always 0.
2016-06-13 08:46:15 +01:00
Guillaume Munch
0e3c8ba627 Fix computation of scroll value 2016-06-13 08:46:15 +01:00
Guillaume Munch
d2d243d77f Simplify the TexRow information for mathed output
Replace the manual manipulation of a stack of RowEntries with a Changer
function. When I introduced the stack of RowEntries, I did not know about the
Changer mechanism.
2016-06-13 08:46:15 +01:00
Guillaume Munch
348e0241af Do not include MetricsInfo.h in MathStream.h
Fixes the FIXME in MathStream.h
2016-06-13 08:46:15 +01:00
Guillaume Munch
760bca8265 Change tracking cue: paint over labels in text and prepare for further work
* Inset::canTrackChange() had two meanings: can it deal with change tracking?
  Will it paint its own CT status? The latter information is now given by
  Inset::canPaintChange().

* Line thickness computation is moved from RowPainter to MetricsBase.

* Painting function for Changes moved to lyx::Change. (One new, that strikes
  diagonally.)
2016-06-13 08:46:15 +01:00
Guillaume Munch
e2bc7ffae3 RefChanger
RefChanger temporarily assigns a value to a non-const reference of any
kind. RefChanger provides a flexible and uniform generalisation of the various
scope guards previously derived from the old Changer class in MetricsInfo.h.

As before, a temporary assignment lasts as long as the Changer object lives. But
the new Changer is movable. In particular, contorsions are no longer needed to
change a private field. Special code can be moved into the appropriate classes,
and it is no longer necessary to create a new class for each specific use.

Syntax change:

   FontSetChanger dummy(mi.base, value);
-> Changer dummy = mi.base.changeFontSet(value);

New function for generating arbitrary Changers:

  Changer dummy = make_change(ref, val, condition);

Bugfix:

* Fix the display of \displaystyle{\substack{\frac{xyz}{}}} (missing style
  change).
2016-06-13 08:46:15 +01:00
Guillaume Munch
0be52d3710 ShortcutOverride again
Re: fix for #9218 (not #10119)

Now it matches the example given in the docs. This time tested on qt4.
2016-06-13 08:46:15 +01:00
Pavel Sanda
8e3a890b2a * Math.lyx put last changes under CT. 2016-06-12 19:00:06 -07:00