Commit Graph

615 Commits

Author SHA1 Message Date
Richard Heck
cf64064db7 Use the much faster forOutliner also to get the tooltip text. 2015-12-12 17:19:33 -05:00
Günter Milde
0eb9477be7 Fix 480937a103708a651/lyxgit, second attempt.
Prevent encoding changes whenever the TeX engine is XeTeX or LuaTeX,
as XeTeX/LuaTeX use only one encoding per document:

* with useNonTeXFonts: "utf8plain",
* with XeTeX and TeX fonts: "ascii" (inputenc fails),
* with LuaTeX and TeX fonts: only one encoding accepted by luainputenc.

+1 no needless encoding switches
+1 runparams.encoding matches the correct encoding at any time
+1 less complicated code.

-1 there may still be problems with CJK (possibly impossible to
   solve for Xe/LuaTeX with TeX fonts).

For LuaTeX & TeX fonts, the complete document uses the encoding
of the global document language.

See also #9740.
2015-11-12 16:55:04 +01:00
Günter Milde
9894e0be23 Fix 480937a103708a651/lyxgit. See also #9740.
Actually, the changed tests were used to prevent overwriting the encoding
changed in Buffer::writeLaTeX with a language-default encoding.
This is still required for XeTeX with TeX-fonts unless a proper solution is found.

Documents with more than one encoding and TeX-fonts fail with LuaTeX,
as "luainputenc" can only handle one encoding.
2015-11-11 00:11:06 +01:00
Günter Milde
480937a103 Reset encoding after insets and environments also for LuaTeX with TeX fonts.
With inputenc == "auto" or "default", the encoding changes with
the language and must be reset after an eventual language switch in insets
or environments (see #6216).

However, whether we need to do this does not depend on 8-bit TeX vs. LuaTeX
but on the possible use of more than one encoding for the document.
With "nonTeXFonts", the encoding is utf8,
LuaTeX with TeX fonts requires encoding handling similar to 8-bit TeX.

(Additionally, the value of "params.inputenc" could be tested: if it is
not "auto" or "default", we have just one common encoding and could skip
the reset as well.) Not sure how much time this saves, though.
2015-11-09 12:42:48 +01:00
Günter Milde
1523fc6023 Partial fix for #9740 "XeTeX/LuaTeX with TeX fonts problems".
Fixes output for 3 of the 4 test lyx-files.

Includes "FIXME"s at places where further action is required to get the XeTeX
export right but I don't know how.
2015-10-20 19:16:25 +02:00
Guillaume Munch
65d61e7a27 Add math cell positions to TexRow
This is preliminary work for extending the cursor<->row tracking to math.

TexRow used to associate, to each row, a location id/pos where id determines a
paragraph and pos the position in the paragraph.

TexRow now associates to each row a list of entries, text or math. A math is a
pair uid/idx where uid will determine a math inset and idx is the number of the
cell.

The analogy id/pos<->inset/idx works better than the analogy id/pos<->idx/pos,
because what matters for the TexRow algorithm(TM) is the behaviour in terms of
line breaks.

This only improves the source view and the forward search, not the error report
and the reverse search (though this could be easily added now).
2015-10-19 06:55:17 +01:00
Georg Baum
d3b5260f45 Remove unused variables
Found by cppcheck: (style) Unused variable: x
2015-10-10 21:28:28 +02:00
Guillaume Munch
bb344452c8 Consistency of ellipses across the UI
Use the function support:truncateWithEllipsis() to shorten a docstring with
... at the end. Actually we use U+2026 HORIZONTAL ELLIPSIS instead of "..." when
automatically shortening strings. This is to be consistent with Qt's own
truncation and is much nicer on the screen.

This includes the bugs #9575 and #9572 regarding broken text elision in the
outliner.

Known issues (non-regressions):

* TocBackend::updateItem() should be rewritten to update all TOCs. (#8386)

* "..." should be replaced with … everywhere else on the interface (including
  translation strings).

* We should prefer to rely on QFontMetrics::elidedText() to truncate strings
  with an ellipsis whenever possible, or an equivalent for the buffer view
  dependent on the font metrics. See the warning in src/support/lstrings.h.
2015-10-05 21:16:16 +01:00
Georg Baum
7450d24eec Fix wrong label found by cppcheck
It was not intended to ignore the return value of expandParagraphLabel().
2015-09-20 20:32:45 +02:00
Georg Baum
b6aed54c45 Fix cppcheck variable scope warnings
These were all flagged by "(style) The scope of the variable 'x' can be reduced."
Narowing the scope improves readability, and if it is in a loop then the
compiler will be clever enough to produce efficient code, we do not need
manual optimization for POD types.
2015-09-20 10:42:35 +02:00
Günter Milde
605b933ec2 Add "TODO-comments" with link to textcyr/textgreek tickets.
Add links to tickets #9637 and  #9681 at places that require 
changes in the code and/or comments.
2015-07-15 18:55:30 +02:00
Jean-Marc Lasgouttes
4796e6b337 Avoid breaking kerning with continuous spell checking
There is a mismatch between the way text is tokenized in Row objects
and the way it is shown on screen. When metrics are computed,
continuous spell checking has not been done yet. Yet, the row painter
explicitly breaks words at spell status boundaries. This creates
problem with a text like "PMP," (see bug #9649), where there is a
negative kerning before the comma.

This is solved by not taking in account spell status when drawing
text, and drawing spell underlines separately.

* replace Paragraph::isSameSpellRange with new method getSpellRange.

* merge RowPainter::paintChars into RowPainter::paintFromPos

* move the actual text painting code into the new paintTextAndSel.

* merge some code from paintFromPos to paintMisspelledMark

* in paintMisspelledMark, scan the string which needs to be annotated
  and add dashed line below text marked as misspelled.

Fixes bug #9649.
2015-07-15 12:13:24 +02:00
Juergen Spitzmueller
88ecc18e30 Do not output \noindent if paragraph does not support indentation change
Part of: #7320.
2015-05-02 16:34:57 +02:00
Juergen Spitzmueller
897b2e73a1 New (Inset)Layout tag PassThruChars 2015-04-20 18:13:49 +02:00
Juergen Spitzmueller
5fec78f69f Properly determine active font encoding 2015-04-02 17:13:45 +02:00
Georg Baum
3e9e6e344a Replace automatic logofication with insets
Previously, LyX did replace some words with typeset logos, and there was no
way to prvent this except putting them, in ERT (bug #4752). Now we have
special insets for these words, and standard text is left alone.
2015-03-01 11:16:57 +01:00
Georg Baum
8aa37c43a1 Fix plaintext output of dashes (bug #3647)
Previously, consecutive dashes in .lyx files were combined to endash and emdash
in some cases, and in other cases they were output as is. This made the code
complicated, and resulted in inconsitencies ((bug #3647).
Now, a dash in a .lyx file is always a dash in the output, for all flavours.
The special handling is moved to the input side, so that you still get an
endash if you type two hyphens. If needed, this can be changed or made
customizable without the need to update the file format again. Many thanks
for the fruitful mailing list dicsussion, which contributed significantly to
the final version.
2015-02-24 22:06:12 +01:00
Jean-Marc Lasgouttes
b627b8701b Some performance stuff reported by cppcheck 2015-02-24 18:38:20 +01:00
Georg Baum
e4ec11e8a1 Output -- and --- in XHTML like in LaTeX
For exports based on LaTeX, consecutive hyphens are only converted to endash
and emdash if the current font family is not typewriter, and if none of the
parent insets is an IPA inset. Now this is done for XHTML export as well.
2015-02-15 20:17:21 +01:00
Juergen Spitzmueller
e5e8bff75b corrected_env: use breakln instead of hardcoded linebreak 2014-12-01 14:45:11 +01:00
Georg Baum
0bf8b8a1d2 Load footmisc.sty instead of using outdated code
This is a patch I originally sent to lyx-devel in 2012 with subject
'Load footmisc.sty instead of using copied code from obsolete stblftnt.sty'.
It now takes all comments into account: It works also if the user loads the
package herself, it can be disabled by providing the footmisc feature in a
layout, and it does not use the ugly \AtBeginDocument{}.
2014-11-14 20:20:35 +01:00
Georg Baum
8f93600d3f Prevent accidental usage of wrong copy constructor 2014-11-11 20:57:25 +01:00
Scott Kostyshak
5636906aee No space after inline math for text export (#9282)
This extra space was the result of the fix for #6094
(at 7e624928).
2014-10-15 19:21:18 -04:00
Jean-Marc
fca332bace Rename FontSpan::inside(pos) to contains(pos) 2014-07-28 20:42:01 +02:00
Jean-Marc
41740ea915 Merge remote-tracking branch 'features/str-metrics'
This branch implements string-wise metrics computation. The goal is to
have both good metrics computation (and font with proper kerning and
ligatures) and better performance than what we have with
force_paint_single_char. Moreover there has been some code
factorization in TextMetrics, where the same row-breaking algorithm
was basically implemented 3 times.

Globally, the new code is a bit shorter than the existing one, and it
is much cleaner.  There is still a lot of potential for code removal,
especially in the RowPainter, which should be rewritten to use the new
Row information.

The bugs fixed and caused by this branch are tracked at ticket #9003:
http://www.lyx.org/trac/ticket/9003

What is done:

* Make TextMetrics methods operate on Row objects: breakRow and
  setRowHeight instead of rowBreakPoint and rowHeight.

* Change breakRow operation to operate at strings level to compute
  metrics The list of elements is stored in the row object in visual
  ordering, not logical. This will eventually allow to get rid of the
  Bidi class.

* rename getColumnNearX to getPosNearX (and change code accordingly).
  It does not make sense to return a position relative to the start of
  row, since nobody needs this.

* Re-implement cursorX and getPosNearX using row elements.

* Get rid of lyxrc.force_paint_single_char. This was a workaround that
  is not necessary anymore.

* Implement proper string metrics computation (with cache). Remove
  useless workarounds which disable kerning and ligatures.

* Draw also RtL text string-wise. This speeds-up drawing.

* Do not cut strings at selection boundary in RowPainter. This avoids
  ligature/kerning breaking in latin text, and bad rendering problems
  in Arabic.

* Remove homebrew Arabic and Hebrew support from Encoding.cpp. We now
  rely on Qt to do handle complex scripts.

* Get rid of LyXRC::rtl_support, which does not have a real use case.

* Fix display of [] and {} delimiters in Arabic scripts.
2014-07-25 20:10:55 +02:00
Jean-Marc Lasgouttes
45eb314a86 Get rid of rtl_support preference
This variable was introduced to guard against any bad consequence of the then-new right-to-left
languages support. Let's be bold and get rid of it altogether!

Now right to left support is always enabled.
2014-07-09 21:11:08 +02:00
Jean-Marc Lasgouttes
d6337a2488 Remove obsolete code to handle Hebrew and Arabic characters
This is handled by Qt now.

Note that a small optimization (do not draw text that is to the left
of WorkArea) is removed because it cannot be guaranteed to be exact
anymore. It was probably not very useful anyway, and would become
useless once the RowPainter is rewritten to use Row information.

Update 00README_STR_METRICS_BRANCH.
2014-07-08 21:30:06 +02:00
Richard Heck
c2de96d2ed The flush should be done on either branch. 2014-06-29 15:40:52 -04:00
Georg Baum
2896fe1bd0 Work around MSVC warning
The statement
	if (pos < from + lyxrc.completion_minlength)
triggers a signed vs. unsigned warning. I don't know why this happens, it
could be a MSVC bug, or related to LLP64 (windows) vs. LP64 (unix)
programming model, or the C++ standard might be ambigous in the section
defining the "usual arithmetic conversions". However, using a temporary
variable is safe and works on all compilers.
2014-06-26 21:05:40 +02:00
Jean-Marc Lasgouttes
d32f76f7fe Small Inset isXXX methods cleanup
* rename isStretchableSpace to isHfill
 * inline a trivial method
 * remove InsetIPAMacro::isLineSeparator, which has the same value as default.
2014-06-25 17:54:26 +02:00
Richard Heck
5536b0c7fe Flush stream more often to help figure out where the mystery crash
originates.
2014-06-04 09:19:42 -04:00
Juergen Spitzmueller
20bcaec061 Add layout tag that determines if/when a paragraph can be indented.
Fixes: #7327, #7458, #8670
2014-05-29 14:10:32 +02:00
Jean-Marc Lasgouttes
ee7c4db72a Do not forget last word of paragraph in completion
With the old code, the last word of a paragraph would not be added in
the completion list. The key difference is to pass `from' instead of `pos'
to FontList::fontiterator.

Slight cleanup of the code.
2014-05-16 15:22:51 +02:00
Enrico Forestieri
c668ebf611 Fix bugs #8546 and #9055, and introduce new separator inset.
The algorithm used for breaking a paragraph in LaTeX export is changed
for avoiding spurious blank lines causing too much vertical space.
This change is tied to the introduction of a new inset (with two
different specializations) helping in either outputing LaTeX paragraph
breaks or separating environments in LyX. Both of the above goals were
previously achieved by the ---Separator--- layout and can now be
accomplished by the new inset in a more natural way. As an example,
after leaving an environment by hitting the Return key for two times,
a third return automatically inserts a parbreak inset, which is
equivalent to the old separator layout, i.e., it also introduces a
blank line in the output. If this blank line is not wanted, the
parbreak separator can be changed to a plain separator by a right
click of the mouse. Of course, an environment can still be separated
by the following one by using the Alt+P+Return shortcut (or the
corresponding menu key), but now the plain separator inset is used
instead of the old separator layout, such that no blank line occurs in
the LaTeX output.

Old documents are converted such that the LaTeX output remains unchanged.
As a result of this conversion, the old separator layout is replaced by
the new parbreak inset, which may also appear in places where the old
algorithm was introducing blank lines while the new one is not.
Note that not all blank lines were actually affecting the LaTeX output,
because a blank line is simply ignored by the TeX engine when it occurs
in the so called "vertical mode" (e.g., after an alignment environment).
The old ---Separator--- layout is now gone and old layout files using it
are also automatically converted.

Round trip conversions between old and new format should leave a document
unchanged. This means that the new behavior about paragraph breaking is
not "carried back" to the old format. Indeed, this would need introducing
special LaTeX commands in ERT that would accumulate in roundtrip
conversions, horribly cluttering the document. So, when converting a
modified document to old formats, the LaTeX output may slightly differ in
vertical spacing if the document is processed by an old version of LyX.
In other words, forward compatibility is guaranteed, but not backwards.
2014-05-10 23:25:11 +02:00
Tommaso Cucinotta
13cb7da11d Merged Paragraph::stringify into asString(). 2014-04-21 11:51:59 -04:00
Richard Heck
0a6ff99f28 Typos and style. 2014-04-21 11:51:59 -04:00
Richard Heck
8b00b355ca Change forToc() to forOutliner(), to avoid confusion. The old name
is left over from when the outliner really did just display a TOC.
2014-04-21 11:51:59 -04:00
Jean-Marc Lasgouttes
f8da042312 Do not store Languages objects in completion words lists
In the current code each paragraph contains a map<Language,
WordList*>, which means that it contains a full copy of the language
object. Since these objects contain translation tables nowadays, this
is a very bad idea.

This patch simply replaces the Language key by a string.

When loading the Userguide on linux/x86_64, the total memory
consumption decreases from 36.27MB to 31.50MB.
2014-04-21 11:51:59 -04:00
Juergen Spitzmueller
0b2d89eaea In Paragraph::changeCase, correctly track the font of the changed characters (fix crash)
Fixes: #7943
2014-04-21 11:51:58 -04:00
Vincent van Ravesteijn
53b60462ac Revert "Fixing #7987: deleted text in change-tracking mode is not found in Advanced F&R any more."
This reverts commit cb351665f4.
2014-03-29 22:21:40 +01:00
Tommaso Cucinotta
cb351665f4 Fixing #7987: deleted text in change-tracking mode is not found in Advanced F&R any more.
Merged Paragraph::stringify into asString().
Added ignore of deleted text to Advanced F&R.
2014-03-27 23:36:15 +00:00
Juergen Spitzmueller
7c1fc6ea75 Include child's own authors when using BufferParams from master. 2014-03-13 06:43:38 +01:00
Vincent van Ravesteijn
795535e44f Do not try to track_change an auto-deleted bibitem
We are not capable of handling two bibitems within one biblio paragraph.
That's why we have functions like Paragraph::brokenBiblio() and
Paragraph::fixBiblio(). So, if we fix the biblio by deleting the second
bibitem, we should not keep it as deleted.

This code caused a crash because the inset was released, but still kept as
deleted.

Fixes-bug: #8646.
2014-02-07 22:55:05 +01:00
Juergen Spitzmueller
50bcd6ed7b Use the master buffer's param when compiling as a child (#8893) 2013-11-18 08:46:50 +01:00
Vincent van Ravesteijn
8164fea772 Encodings: Use BufferEncodings where needed 2013-09-29 15:26:22 +02:00
Juergen Spitzmueller
f9411f1f26 Catch uncodable character problem 2013-08-30 11:28:15 +02:00
Vincent van Ravesteijn
30f5187070 Disallow to insert an inset without a font
Doing so could lead to an assertion in Paragraph::fontSpan.
2013-05-19 12:48:35 +02:00
Vincent van Ravesteijn
cd802e5cf6 Fix assertion: bibitem inset without a font
Move the cursor in front of a bibitem and press enter.
Paragraph::fixBiblio will insert a new bibitem without a font in the new
paragraph. This will make Paragraph::fontSpan assert because the fontlist_
of the new paragraph is empty.
2013-05-19 12:48:32 +02:00
Vincent van Ravesteijn
2d8941eec3 Revert "Fix assertion for InsetInfos of icon types"
Using "Font no_font" in case no font was supplied was wrong. Instantiating a font object without specifying the language lead to a font object having the default_language that is hardcoded to "english". See Language::read().

This caused that there were spurious language changes in the LaTeX output
and made some document uncompilable.

This reverts commit 3619954590.
2013-05-19 12:48:29 +02:00
Richard Heck
8b858d113f Get font sizes working for XHTML. 2013-05-13 12:22:41 -04:00
Richard Heck
c713030edb Get font families working for XHTML. 2013-05-13 11:58:52 -04:00
Richard Heck
b383d04e07 XHTML support for font shapes. 2013-05-13 10:45:12 -04:00
Richard Heck
5cadeed4d7 Rework that way that font tags are handled in XHTML output. We need
to do this in order to handle span tags properly, when they act as
font tags.
2013-05-13 10:45:12 -04:00
Richard Heck
ad56bb7286 Rework how paragraph ids are handled.
Previously, an empty paragraph would always yield something like:
	<div><a id='magicparid-35' /></div>
because we had no way to "defer" the anchor tag. Now this is wrapped
into the div, in effect, and we abandon it all if there's no content.
2013-05-13 10:45:12 -04:00
Richard Heck
8e23cfdbdc Minor cleanup. 2013-05-02 21:23:11 -04:00
Vincent van Ravesteijn
3619954590 Fix assertion for InsetInfos of icon types
InsetInfo inserted insets in its text without specifying a font. This
caused the fonlist to be incomplete and firing the assertion.
2013-04-28 21:47:37 +02:00
Vincent van Ravesteijn
88eae06611 Fix FontIterator to not access pos >= par.size()
An iterator is typicall incremented passed the valid data into the 'end'
state. However, if this means that other functions are called with invalid
parameter, we should fix this.

This explains why fontSpan was called with pos==size() while this was not
expected to happen.

This patch reverts partly f5ad0c128a (Jean-Marc Lasgouttes; Get rid of
annoying warning message).
2013-04-28 19:12:16 +02:00
Richard Heck
d79225ae98 Remove all messages to user related to assertions. We'll just use
a basic message which is defined in lassert.cpp now.
2013-04-27 17:52:55 -04:00
Kornel Benko
06d72d6ca0 Use doctring as LBUFFER() etc parameters 2013-04-27 21:38:01 +02:00
Kornel Benko
07ca50d905 Strings as parameters to LASSERT should not be translatable.
But empty strings are even worse.
2013-04-27 21:13:32 +02:00
Jean-Marc Lasgouttes
f5ad0c128a Get rid of annoying warning message 2013-04-27 20:01:02 +02:00
Richard Heck
78652c98c8 Remove assertion accidentally added during the audit. 2013-04-26 10:42:45 -04:00
Richard Heck
1b1f8dd235 Audit all the LASSERT calls, and try to do something sensible at
each failure.

There are several places I was not sure what to do. These are marked
by comments beginning "LASSERT:" so they can be found easily. At the
moment, they are at:

Author.cpp:105: // LASSERT: What should we do here?
Author.cpp:121: // LASSERT: What should we do here?
Buffer.cpp:4525:        // LASSERT: Is it safe to continue here, or should we just return?
Cursor.cpp:345:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:403:         // LASSERT: Is it safe to continue here, or should we return?
Cursor.cpp:1143:                // LASSERT: There have been several bugs around this code, that seem
CursorSlice.cpp:83:     // LASSERT: This should only ever be called from an InsetMath.
CursorSlice.cpp:92:     // LASSERT: This should only ever be called from an InsetMath.
LayoutFile.cpp:303:                     // LASSERT: Why would this fail?
Text.cpp:995:           // LASSERT: Is it safe to continue here?
2013-04-25 17:27:10 -04:00
Juergen Spitzmueller
d288b2d628 Revert "Do not pass thru argument of pass-thru layout literally"
This reverts commit 4564c88469.

The bug is actually elsewhere.
2013-04-08 11:07:02 +02:00
Juergen Spitzmueller
4564c88469 Do not pass thru argument of pass-thru layout literally 2013-04-08 08:26:49 +02:00
Richard Heck
82b8723654 Handle other text ranges in XHTML output. 2013-03-27 13:51:26 -04:00
Richard Heck
3057bce3f2 Fix bug #8587 properly, by using local language for translation. 2013-03-19 11:30:36 -04:00
Richard Heck
9548274f39 I'm not absolutely sure about this, but it seems to me as if we
need the master buffer here, too: in looking up fonts during XHTML
output.

I'm half tempted to pass the master buffer to these routines, though
there are times, I think, when we want the actual buffer: e.g., when
looking up branches.
2013-03-18 18:56:38 -04:00
Richard Heck
6633a93b6d Forgot the crucial piece of the last commit!! 2013-03-12 13:12:45 -04:00
Richard Heck
3f748c79c3 Add a for_search member to OutputParams, and use it to limit what
work we do when calling plaintext() for the purpose of generating
material for the advanced search function.

Here again, not only were we parsing BibTeX files, since Julien's
(sensible) introduction of plaintext output for that inset, but we
were in fact writing (to disk) complete plaintext output for
included files every time we did such a search.
2013-03-12 12:45:15 -04:00
Richard Heck
86994bf753 Add a member to TocItem that tells us whether the item in question
is included in output.
2013-03-08 16:38:18 -05:00
Richard Heck
ecef54500d Introduce max_length parameter for plaintext() output routines,
so we can write a limited amount when using this for TOC and
tooltip output.

This should solve the problem with slowness that Kornel noticed,
which was caused by our trying to write an entire plaintext
bibliography every time we updated the TOC. We did that because
he had a bibliography inside a branch, and we use plaintext for
creating the tooltip that goes with the branch list.

Other related bugs were fixed along the way. E.g., it turns out
that, if someone had an InsetInclude inside a branch, then we would
have been writing a *plaintext file* for that inset every time we
updated the TOC. I wonder if some of the other reports of slowness
we have received might be due to this kind of issue?
2013-03-08 15:12:58 -05:00
Richard Heck
57d8b059e0 Remove references to Counter LabelType from source code. The
intention is to use Static in its place, and we now expand the
label for these, as well.
2013-02-09 13:44:05 -05:00
Juergen Spitzmueller
37f41fd4b5 Support for command argument placement after the workarea argument 2012-12-28 11:21:24 +01:00
Richard Heck
2e764c2c66 Respect InsetLayout's PassThru setting in XHTML export. 2012-12-24 12:11:51 -05:00
Juergen Spitzmueller
53002538fa Pass local font to arguments and assure pass_thru is inherited 2012-11-28 19:02:07 +01:00
Juergen Spitzmueller
4d1b495139 LaTeXParam and Argument do not necessarily exclude each other 2012-11-26 13:09:54 +01:00
Juergen Spitzmueller
6f086763ae Add LeftDelim and RightDelim to the Style and InsetLayout repertoire 2012-11-25 19:10:16 +01:00
Richard Heck
1252c22fd3 Some minor cleanup of new InsetArguments stuff that I did while
reading the patch....
2012-11-23 20:40:38 -05:00
Juergen Spitzmueller
2e69c66195 InsetArgument revision, first working version 2012-11-19 14:21:02 +01:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Lars Gullik Bjønnes
43f6b1672b Use empty() to check empty and non-empty'ness not size()
Also add FormatList::empty().
2012-10-27 01:25:38 +02:00
Juergen Spitzmueller
042a1c4d3b Make tipa shortcuts work for combining chars 2012-08-21 12:48:34 +02:00
Juergen Spitzmueller
66729e434e TIPA fixes 2012-08-19 16:59:53 +02:00
Richard Heck
166deba79b Wow, that last commit was dumb. So let's fix #8278 properly. 2012-08-05 17:31:00 -04:00
Richard Heck
2375982f7e Fix bug #8278, as suggested there by Ronen. 2012-08-04 17:33:47 -04:00
Juergen Spitzmueller
b55a6454d9 Whitespace 2012-07-23 14:59:45 +02:00
Juergen Spitzmueller
0b5c20fc0f Fix direction of brackets in Hebrew when using Polyglossia (bug #8251) 2012-07-23 14:56:00 +02:00
Juergen Spitzmueller
a1e2e12ba4 Suppress babel RTL commands when using polyglossia (part of #8251) 2012-07-23 08:40:37 +02:00
Jean-Marc Lasgouttes
c999e35e54 Make sure that undo is recorded when magic tricks are played with InsetBibitem.
Fixes bug #7111: Assertion with undo and InsetBibitem

  * add Paragraph::brokenBiblio(), with tells whether there is something to fix.
  * rename Paragraph::checkBiblio to fixBiblio; simplify it greatly by using
    InsetList methods
  * In TextMetrics::redoParagraph, call recordUndo before fixBiblio (only when
    there is something to fix obviously)

Special care is taken to update cursor only when it makes sense. Note
that there are cases where undo information is not recorded (current
cursor not in the slice where action happens)
2012-07-18 15:36:58 +02:00
Jean-Marc Lasgouttes
a756403301 "Performance" fixes suggested by cppcheck
While cppcheck did not turn out any suspicious error messages, using
the "performance" flag highlighted several nitpicks in three categories
 * do not use it++ for iterators, ++it is better
 * do not use size() to test for emptyness, empty() is here
 * do not use "const T" as a function parameter, "const & T" is better

I doubt that any of these is a real performance problem, but the code is cleaner anyway.
2012-05-28 22:42:44 +02:00
Juergen Spitzmueller
6ddcfb87e4 Fix macro termination in IPA inset if next character uses a TIPA shortcut 2012-05-26 16:36:24 +02:00
Vincent van Ravesteijn
77c8c15947 Do not show deleted text in the html title 2012-04-29 14:54:12 +02:00
Georg Baum
1a6c599917 Extend the notermination flag to math as well.
Math commands need it as well as text commands. At the same time, this
further unifies the checking for termination and fixes cases of wrong
output (e.g. for 0x2005).
2012-03-25 15:57:38 +02:00
Jürgen Spitzmüller
2cf5de28a9 Add "notermination" flag to unicodesymbols. This tells us not to try any termination of the command (such as '{}' or ' ' ).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40905 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-10 13:34:42 +00:00
Georg Baum
4f6579e9d3 Update tex2lyx to file format 427. InsetIPA is not yet supported, but the
produced output is valid format 427.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40903 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-10 11:53:47 +00:00
Jürgen Spitzmüller
38c29e4fa3 Consider specifics for TIPAs T3 font encoding and allow insertion of straight quote (stress shortcut) to IPA inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40893 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-09 11:14:39 +00:00
Jürgen Spitzmüller
84971fb27e * implement possibility to use IPA shortcut notation (the actual shortcuts will follow)
* do not terminate macros by {} if not necessary (prevent kerning violation)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40891 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-09 09:05:13 +00:00
Georg Baum
481acc66e7 Forgot that in r40694: There is no {} needed after \nobreakdash-
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40758 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-15 20:56:40 +00:00
Stephan Witt
97d48fbd6a #6760 add UI to configure the minimal length of a word to be added to the list of words for text completion - using richards patch and rework it to match current trunk
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40557 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-02 22:47:04 +00:00
Georg Baum
2a216184c4 Fix bug #7663: Misparsing of description \item with spaces
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40182 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-13 10:40:07 +00:00
Georg Baum
8e8c214bef Fix some bugs related to spaces in math:
- Interpret argument of LFUN_SPACE_INSERT correctly
- Use InsetMathSpace instead of InsetMathSpecialChar for "\ " (bug # 7728)
- Use InsetMathSpace instead of InsetMathChar for ~ (bug # 7728).
  This fixes also the display in LyX (previously a literal ~ was displayed).
Using InsetMathSpace enables also the "Insert Formatting" menu entries.
No file format change is needed, since the LaTeX export is unchanged.
Note that there are still some bugs related to spaces in math:
#7746, #7747, #7749, #7842


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39947 a592a061-630c-0410-9148-cb99ea01b6c8
2011-10-23 20:19:49 +00:00
Stephan Witt
2aca5e10f2 correct spell check request for Paragraph::changeLanguage()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39503 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-20 13:54:02 +00:00
Stephan Witt
5098c71730 add missing spell check requests for Paragraph::appendChar() and Paragraph::appendString()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39502 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-20 13:51:38 +00:00
Stephan Witt
e92c786618 correct implementation of "mark whole paragraph" for spell check
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39501 a592a061-630c-0410-9148-cb99ea01b6c8
2011-08-20 13:48:19 +00:00
Enrico Forestieri
5e534a7d84 Fix bug #7645 (stream encoding not properly reset after a float)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39193 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-22 16:21:03 +00:00
Richard Heck
b3475e9fac Fix bug #7634. Make sure we clear the tag deque if we are keeping
empty paragraphs.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39152 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-20 15:55:41 +00:00
Stephan Witt
e0baae5091 avoid the single dash (hard hyphen) or apostrophe enclosed by white space is treated as a real word
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38306 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-08 13:20:26 +00:00
Richard Heck
a673aa3428 The mechanism for closing font tags at the end of a paragraph was
throwing errors in the case where we are inside a charstyle that itself
uses a font tag, e.g., strong from the logical markup module. This at
least gets rid of most of the errors, and doesn't seem to cause any
other problems.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38220 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-03 01:56:20 +00:00
Richard Heck
d7b4e46750 Remove unused variable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38218 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-03 00:05:20 +00:00
Stephan Witt
242b76f7a5 correct mark of misspelled word if it is the last of paragraph
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38206 a592a061-630c-0410-9148-cb99ea01b6c8
2011-04-02 14:03:35 +00:00
Stephan Witt
40ed86b416 #6776 Remove cached misspelled marker for word delimiters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38124 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-29 10:37:21 +00:00
Abdelrazak Younes
c0c7729a83 coding style
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37977 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-20 15:44:40 +00:00
Jürgen Spitzmüller
85f486f259 * InsetSpecialChar.cpp:
make NOBREAKDASH isLetter()

* Paragraph.cpp (isWord separator):
	handle composites with hyphens as one word (i.e., "-" is not a word separator).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37946 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-18 09:17:09 +00:00
Stephan Witt
07ef381914 correct shift of spell results when erasing the last character in range
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37939 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-16 13:54:36 +00:00
Jürgen Spitzmüller
101cabc355 thinko.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37936 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-15 13:36:48 +00:00
Jürgen Spitzmüller
ff829bd92b Follow-up to r37932: We do not need a skipOnSearch variable, since we know the conditions anyway.
Thanks, JMarc,

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37934 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-15 13:19:55 +00:00
Jürgen Spitzmüller
8fa96ceec8 Do not hardcode specific insets, but use a variable instead.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37932 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-15 10:46:14 +00:00
Enrico Forestieri
6d425078a7 When an error occurs, don't highlight more than necessary.
Currently, if an inset outputs a newline, the new latex row is still
associated with a previous id/pos. Now, if a latex error occurs before
this newline, we would still highlight everything associated to that
id/pos, even if it is extraneous to the error.
This is avoided by associating the new latex row with the id/pos in
effect right before entering the inset. If an inset does not output
a newline, it is not excluded from the selection, consistent with the
fact that the text of the inset does appear in the error description.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37903 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-12 01:40:01 +00:00
Enrico Forestieri
7edf2691ae Fix bug #7310 (Greek symbols inside ERT cause unreported compile failure)
Note that View->Source now shows that a character cannot be encoded.
However, the error is still unreported due to bug #7324.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37791 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-27 12:16:17 +00:00
Georg Baum
f176a18434 Fix bug #6919 by splitting Inset::noFontChange() into inheritFont() and
resetFontEdit(). The former is used for on-screen and export formatting,
and the latter is used for interactive editing.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37761 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-22 19:41:04 +00:00
Tommaso Cucinotta
c31d6acf65 When exporting to latex with a length that does not include entirely
a special phrase, simply export the segment as normal text. For other
uses of these methods, end_pos is -1, so the original behavior is unaltered.
This allows for finding properly the LyX, LaTeX and other special phrases
with Advanced Find, when ignore format is off.
This complements the other changes made to latex export methods, for
exporting to latex with a given final end position.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37599 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-12 11:03:24 +00:00
Enrico Forestieri
d866717ef7 Integrate texrow with otexstream in order to perform automatic line
counting when exporting to latex. This is done for the code comprised
between \begin{document} and \end{document}, while the preamble code
still needs manual calls to TexRow::newline() for registering new lines.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37584 a592a061-630c-0410-9148-cb99ea01b6c8
2011-02-10 20:02:48 +00:00
Stephan Witt
e5f51200a3 isWordSeparator crashes when checking end-of-paragraph
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37369 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-30 07:17:48 +00:00
Stephan Witt
5eed97b56b restore the correct behavior of suppression of misspelled marker for word at cursor position - the change r37340 broke it
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37363 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-29 12:28:02 +00:00
Enrico Forestieri
1ef605f625 Introduce a wrapper class for odocstream to help ensuring that no
blank lines may be inadvertently output. This is achieved by using two
special iomanip-like variables (breakln and safebreakln) in the lyx::
namespace. When they are inserted in the stream, a newline is output
only if not already at the beginning of a line. The difference between
breakln and safebreakln is that, if needed, the former outputs '\n'
and the latter "%\n".
In future, the new class will also be used for counting the number of
newlines issued. Even if the infractrure for doing that is already in
place, the counting is essentially still done the old way.
There are still places in the code where the functionality of the
class could be used, most probably. ATM, it is used for InsetTabular,
InsetListings, InsetFloat, and InsetText.
The Comment and GreyedOut insets required a special treatment and a
new InsetLayout parameter (Display) has been introduced. The default
for Display is "true", meaning that the corresponding latex
environment is of "display" type, i.e., it stands on its own, whereas
"false" means that the contents appear inline with the text. The
latter is the case for both Comment and GreyedOut insets.
Mostly, the only visible effects on latex exports should be the
disappearing of some redundant % chars and the appearing/disappearing
of null {} latex groups after a comment or lyxgreyedout environments
(they are related to the presence or absence of a space immediately
after those environments), as well as the fact that math environments
are now started on their own lines.
As a last thing, only the latex code between \begin{document} and
\end{document} goes through the new class, the preamble being directly
output through odocstream, as usual.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37360 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-29 02:41:13 +00:00
Stephan Witt
5ee3c34096 save the correct last position of misspelled words in spell checker state (thanks JMarc)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37340 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-28 07:01:38 +00:00
Jean-Marc Lasgouttes
370044551c Unify handling of pass thru insets and paragraphs by introducing Paragraph::isPassThru. Many lfuns are now disabled in sweave chunks.
Also, fix #7175 (do not output \noindent in passthru pars)


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37328 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-26 11:04:42 +00:00
Stephan Witt
64d9fed8c3 #7220 correct spell check state ranges for word splits
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37146 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-07 15:20:58 +00:00
Vincent van Ravesteijn
68fe13dfa1 Fix bug #7212: Paragraph::forToc has to include the labelString.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37123 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-06 01:12:38 +00:00
Stephan Witt
8d5acc2235 #7201 return "correct" wrong spelled word when before a dot - exclude the dot from spell checker result
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37062 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-02 11:31:28 +00:00
Stephan Witt
a5b960cdd2 cheaper empty range for getRange result on mismatch
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36991 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-22 17:09:51 +00:00
Stephan Witt
fab1507221 fix for #7081: the painting of misspelled marker is suppressed for the word at cursor position
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36990 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-22 07:29:16 +00:00
Richard Heck
9e9c96035c Finish disentangling tocString(). We introduce a new method, forToc(),
that also makes sure it doesn't do more work than it needs to do, by
limiting the size to 40 characters. Previously, InsetBranch::addToToc()
would have added a string representing the entire contents of the
branch! It's hard to imagine that having to recalculate that sort of
thing doesn't cause some problems with speed, especially in documents
with lots of notes and branches and such.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36974 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-20 21:55:09 +00:00
Vincent van Ravesteijn
8adcffff0c Fix bug #7166: Insets that shouldn't appear in the TOC were included. From now on use AS_STR_INTOC as an option for Paragraph::asString() for insets that should not be included in the strings for the TOC, like IndexInset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36969 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-20 19:18:56 +00:00
Stephan Witt
5179e2f4d8 remove superfluous semicolons at the end of namespaces
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36901 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-16 08:06:00 +00:00
Richard Heck
832d6cd7e1 Begin undoing the tocString() mess by renaming that routine.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36889 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-15 01:34:04 +00:00
Pavel Sanda
c420c81ec2 Replay r36748
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36757 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 00:13:19 +00:00
Pavel Sanda
c68d754a74 Revert commits from 36745
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36749 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-07 00:05:40 +00:00
Stephan Witt
430d03811e #7026 substitute isDigit() by isDigitASCII() and ditch isDigit(); introduce isNumber() and use it in spell checker; change isdigit() to isDigitASCII() otherwise
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36748 a592a061-630c-0410-9148-cb99ea01b6c8
2010-12-06 22:35:15 +00:00
Richard Heck
a61899ffe7 Allow InPreamble to be used with Paragraph-type environments. There is
no reason not to permit this, and using it with PassThru 1 allows for a
very simple Preamble layout-type that acts as ERT for the premable. Of
course, we do have the preamble in Document>Settings, but that allows
the embedding of preamble code in branches.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36562 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-28 22:08:11 +00:00
Georg Baum
e2309ca098 Fix bug #6853 (Short titles ignored when InPreamble is set to 1 in layout file)
The fix includes required arguments and LaTeXParam, too.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36552 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-28 12:27:52 +00:00
Richard Heck
ab7a5bc382 Comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36522 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 18:09:03 +00:00
Richard Heck
a81bf77314 Change the escaping mechanism for XHTML output and so allow a fix for
bug #7061.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36455 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-24 15:27:36 +00:00
Jürgen Spitzmüller
fc9c1494ce further xetex disambiguation: use the flavor where the flavor is apt.
This introduces an isFullUnicode() function to OutputParams that currently only contains XETEX, but later can also contain other fully unicode-aware backends (LUATEX for instance).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36445 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-23 12:23:36 +00:00
Jürgen Spitzmüller
7cbeed2e40 * Introduce polyglossia support (bug 6576).
Please test this.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36433 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-22 12:10:16 +00:00
Tommaso Cucinotta
5e5122699d Ignore ligature breaks and hyphenations during simple search (fixes #1468).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36427 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-22 07:50:34 +00:00
Vincent van Ravesteijn
a7629d2bfc Squeeze warnings on msvc express 2010.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36344 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-17 16:15:01 +00:00
Vincent van Ravesteijn
07924ac300 Remove some unnecessary static_casts and add two FIXMEs about casts that don't look safe.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35856 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 16:45:21 +00:00
Vincent van Ravesteijn
8693ae474b Proper implementatiom of isInToc()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35846 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 01:10:19 +00:00
Stephan Witt
3167edeb48 #6945 correct refresh range maximum on char erase
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35616 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-12 19:05:47 +00:00
Stephan Witt
e32396ba76 add missing spell check request on early return for deletion of text in change tracking mode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35543 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-29 19:32:41 +00:00
Stephan Witt
cc7db294e2 #6917 correct spell check for deleted text in change tracking mode
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35542 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-29 19:31:16 +00:00
Stephan Witt
f94e6274a9 more constness, thanks Abdel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35463 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-20 06:54:34 +00:00
Stephan Witt
5671e2dc4d replace the map of the speller state with a vector
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35447 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-19 16:00:32 +00:00
Stephan Witt
9304b5eadc correct the second try for misspelled words to catch abbreviations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35444 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-19 11:49:10 +00:00
Stephan Witt
78ded48a22 make a second try for misspelled words to catch abbreviations
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35427 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-17 17:39:18 +00:00
Stephan Witt
dcf5272d05 don't copy internal state of spell checker in copy constructor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35408 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-16 07:42:08 +00:00
Abdelrazak Younes
47cf32b67e gcc compile fix.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35372 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-14 14:01:44 +00:00
Abdelrazak Younes
504b893ec8 whitespace
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35371 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-14 14:00:29 +00:00
Stephan Witt
7b0c3c0daf reduce nesting levels in markMisspelledWords; simplify range check of fontspan
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35369 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-14 12:48:03 +00:00
Stephan Witt
dec437fbac add cache of spell checker results to speed up native speller engine on macosx
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35362 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-14 05:24:04 +00:00
Stephan Witt
4887009e68 add setMisspelled() wrapper to check arguments and to hide the fontlist property implementation detail
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35206 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-26 11:47:27 +00:00
Jean-Marc Lasgouttes
1a18cdfb39 Clean-up the code with respect to PassThru insets and layouts.
The goal is first to remove explicit testing against ERT_CODE, 
and second to allow to define layouts with the same properties as ERT insets.

This commit does not change behaviour 
* rename OutputParams::verbatim to pass_thru
* disable encoding switch inside pass_thru layouts



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35091 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-07 22:07:49 +00:00
Jean-Marc Lasgouttes
e4f2484cb5 Implement LFUN_SPELLING_REMOVE (patch from switt)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35055 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-05 20:10:40 +00:00
Richard Heck
17166837d7 Revert last commit. I was confusing two things.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34890 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-13 14:13:47 +00:00
Richard Heck
e611cc2d4a Enhance LyX by fixing #6760. New preference to set minimum length of
automatically spellchecked words.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34889 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-13 14:08:44 +00:00
Richard Heck
84a4ec80ab Paragraph::latex() always returned false. So remove the return value.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34676 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-15 15:49:24 +00:00
Richard Heck
c952f9a7be Fix InPreamble. I must have committed an incomplete patch.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34675 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-15 15:37:39 +00:00
Richard Heck
8f54bac004 ...this value. As the comment says, this is the value we need to expose
in the preferences to solve bug #6760.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34641 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-09 21:04:57 +00:00
Richard Heck
ae2f979947 More minor cleanup, while looking for...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34640 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-09 21:02:47 +00:00
Richard Heck
d205cd4b68 Minor cleanup.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34639 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-09 20:56:42 +00:00
Edwin Leuven
f403c0a601 get rid of some missing enum warnings after r34598
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34599 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-05 08:26:00 +00:00
Pavel Sanda
2b7c121614 Simplify texrow
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34169 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-16 17:22:25 +00:00
Jürgen Spitzmüller
947d3ffd80 Add the spellcheck tag also to paragraph styles.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33469 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-13 17:57:11 +00:00
Jürgen Spitzmüller
8168e27362 * new InsetLayout tag to disallow spell checking. This actually brings Inset::allowSpellCheck() to use.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33467 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-13 15:44:17 +00:00
Jürgen Spitzmüller
5f4c5c5da9 * support/lstring.{cpp,h}:
- new function hasDigit
* src/Paragraph.cpp (spellcheck):
	- ignore words with digits, as in 1.6 (bug 6493).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33395 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 17:35:35 +00:00
Jürgen Spitzmüller
d5432aa11e whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33390 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 16:24:01 +00:00
Jürgen Spitzmüller
a220c4ee4a this was not intended to go in.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33388 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 14:34:58 +00:00
Jürgen Spitzmüller
0d7f4bc32b * Paragraph.cpp (spellcheck):
- comment out code that makes aspell abort 
	  if a word in an unknown language is being checked
	  (instead of just skipping this word)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33387 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 14:33:16 +00:00
Jürgen Spitzmüller
707935ab23 * store the full Language in WordLangTuple.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33378 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 11:26:49 +00:00
Jürgen Spitzmüller
a61eeb1fb2 Allow to switch buffer languages via the menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33366 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-08 17:15:00 +00:00
Jürgen Spitzmüller
c1e79cde53 revert r30112 (#5988).
See http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg155843.html

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33191 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-24 10:32:22 +00:00
Richard Heck
b18bfcf3cc Kill a (public) magic boolean.
The point of this will become clear shortly. I hope.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33133 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-21 18:46:20 +00:00
Richard Heck
4390d8e3ef Don't show deleted stuff in output.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33124 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-20 22:42:27 +00:00
Richard Heck
3e654186d2 Move the StartTag, EndTag, and CompTag classes into the html namespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33099 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 22:08:04 +00:00
Richard Heck
1832a388c5 Collect the title for XHTML output, and use it.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33097 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 19:43:15 +00:00
Richard Heck
557c705cbb Fix listings XHTML output: No paragraphs in there.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33096 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-19 19:11:12 +00:00
Jürgen Spitzmüller
4506ec88ab * Add support for aspell language varieties.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33085 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-18 17:02:05 +00:00
Richard Heck
59c04f7096 The fortoc argument I introduced earlier should all along have gone into
OutputParams. So now it is there.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33044 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-14 22:24:43 +00:00
Richard Heck
dc4e9f102a Fix TOC output of math insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32998 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-12 20:24:53 +00:00
Abdelrazak Younes
5b70e2be8e Revert part of r32766. This was a stupid change as newer paragraph
weren't taken into account. So the paragraph id management is now going
back to Paragraph.cpp.

Sorry for the trouble.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32788 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-06 09:12:49 +00:00
Abdelrazak Younes
744ee152fa Cleanup a bit the pargraph ids generation in order to (trying to) fix
#6415
Enrico please verify that reverse dvi is fixed.

* Text and InsetText: create two private constructors and transfer some
initialisation code from InsetText.

* Paragraph: id generation is transfered to Text. May be transfered to
Buffer in the future, we'll see.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32766 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-05 13:16:55 +00:00
Vincent van Ravesteijn
3efb1572a2 Fix bug #6378: Word completion (in texted) should be language-sensitive.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32581 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-18 14:48:56 +00:00
Richard Heck
19bec6e8bc Generate the magic label always. We'll need it other times, when we do
the other TOCs, in particular.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32466 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 20:36:12 +00:00
Richard Heck
0d0a1c6457 Don't double-escape things.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32464 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 20:19:41 +00:00
Richard Heck
e5afe8db66 This really gets the TOC working now. We auto-generate labels for the
paragraphs the TOC targets, and link to them.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32461 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 20:03:35 +00:00
Richard Heck
ffe73b795b Initial work for InsetTOC. This does actually write a TOC, but without
any links. That is the next step.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32459 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-10 18:30:48 +00:00
Richard Heck
95fedfe642 Remove obsolete comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32297 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-03 19:59:42 +00:00
Richard Heck
9929f89856 Fix bug 5842: Add InPreamble tag for layouts.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32277 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-01 14:34:05 +00:00