Commit Graph

277 Commits

Author SHA1 Message Date
Jean-Marc Lasgouttes
776a4f53c2 Revert some other dubious "improvements" in b627b870 2015-02-28 23:41:20 +01:00
Georg Baum
d49051d99f Fix hyphen conversion in passThru insets
The old hyphen replacement code did not convert hyphens if the condition
style.pass_thru || runparams.pass_thru
was met. style.pass_thru got set from inset owner (isPassThru()). Therefore
we have to consider this for the new replacement code as well.
2015-02-26 22:55:20 +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
Alfredo Braunstein
8f821dba70 Rewrite of change-related helpers
lyxfind.cpp(findNextChange, findPreviousChange, findChange, selectChange): factor the change-selection part out of the change-finding part
Text.cpp (acceptOrRejectChanges): call only selectChange
2014-10-14 17:40:44 +02:00
Georg Baum
35ec98bcb2 Ugly fix for bug #9102
The real problem is the encoding of latex_language: It is hardcoded to latin1,
but InsetListig uses the currently active encoding. Therefore, we cannot tell
whether any given character wil be encodable or not, and we should not prevent
non-ACII characters.
In the future, we need to make the encoding of latex_language dynamic, so that
it always represents the currently active encoding. Then, we could do the
correct check both for listings and ERT. For now, I simply disabled the
encoding check for listings, which also means that bug 9012 might occur in
other cases for listings, but this is less important than bug 9102.
2014-05-19 21:40:11 +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
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
Georg Baum
1b675d3a62 Prevent the most important case of bug #9012
Currently you can easily create an uncompilable document if you insert
non-ASCII characters in a pass-through paragraph (e.g. ERT inset or verbatim
style). This commit prevents entering these characters directly, but of
course they can still be inserted via tricks, e.g. changing a standard
paragraph to verbatim. A complete fix would handle this case as well,
and also change the fixed latin1 encoding of latex_language to a dynamic one,
so that a verbatim paragraph can contain any character that is encodable in
the encoding of its environment.
2014-03-09 10:30:20 +01:00
Georg Baum
5aede95971 Remove dead code + whitespace 2014-03-08 11:59:39 +01:00
Richard Heck
f8f1232465 Fix bug #8727: Text::breakParagraph() was always setting the default
layout, even if the paragraph in question requires plain layout.
2013-12-01 13:23:43 -05:00
Stephan Witt
75c631df7f On Mac, moving down a paragraph should place the cursor at the end of the current paragraph
(unless it's already there, in which case it should move to the end of the next paragraph).
Change the preference setting name (mac_like_word_movement to mac_like_cursor_movement)
to better reflect its function.

Patch and description from Bennett Helm
2013-05-25 18:02:21 +02:00
Jean-Marc Lasgouttes
623d2f9530 More llvm/clang warnings
This is mostly unused private class members.

There are also a few unused functions that got #if'ed out. I never know in this case whether the code should be nuked.
2013-05-02 18:27:32 +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
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
Jean-Marc Lasgouttes
a6325095c4 Fix bug #8633: change tracking: paragraph break is restored by undo
A recordUndo call was missing in this case.
2013-04-25 11:06:11 +02:00
Juergen Spitzmueller
f9691aed8d Fix float label prefix (bug #8536) 2013-02-04 08:41:46 +01:00
Julien Rioux
2eea1590b1 Separation of the various names for encodings.
Provide functions for translating to the LyX name
of an encoding from either a LaTeX name or an Iconv
name, with the possibility to specify the package.
This is in anticipation of changing to use the LyX
name of the encoding in the .lyx file format and
allowing multiple lib/encodings entries to have
the same LaTeX name (but different packages!).

The tex2lyx parser needs to worry about the iconv
name of the input encoding, so store that instead
of the latex name.
2013-01-22 23:43:18 +01:00
Juergen Spitzmueller
dcaab11b09 Correctly handle environment sequences in TOC
Only the first paragraph in those sequences goes into the TOC, since the environment is merged.

This is needed to handle the forthcoming beamer environments properly in the outliner.
2012-12-15 16:50:08 +01:00
Lars Gullik Bjønnes
6b2232a29c src/*.cpp: reformatting to increase consistency 2012-10-28 17:42:07 +01:00
Juergen Spitzmueller
4517c6f9a5 Do not propose existing labels 2012-09-19 10:20:19 +02:00
Juergen Spitzmueller
ee1fc9130a Add support for some basic non-unicoded IPA macros
We now support everything on the IPA chart via the toolbar
2012-08-23 17:42:53 +02:00
Jean-Marc Lasgouttes
e2b42b1726 Fix bug #8242: undo fails for longest label width
In the existing code for setting layout of pragraph parameters,
Text::undoSpan is used to "guess" which paragraphs should be saved in Undo.
With this patch the approach is more precise: before every explicit change
to a paragraph, a Cursor::recordUndo call is inserted. This is much more robust than trying to guess.

In particular, we do not look at depth changes at all, since they are now
handled in updateBuffer since #8159 has been fixed.
2012-07-16 23:39:24 +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
unknown
b17250d7eb Fix bug #7641: Freeze when removing itemized first paragraph
Text::outerFont looks recursively for paragraphs before the current one
which has a lower depth. If such a paragraph cannot be found, depthHook
and outerHook return the current paragraph. As such, we end up in an
infinite loop. So, if we find a par_depth that was the same as the
previous one, we apparently can't find a suitable paragraph and we should
quit the loop.
2012-05-14 14:24:53 +02:00
Richard Heck
12b16d1ae9 Fix bug #7774. It should be fine to show the complete index entry
in the TOC, as these generally aren't that long.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40625 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-16 15:01:02 +00:00
Richard Heck
9af32c1740 Change minimum value in forToc().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40624 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-16 14:48:35 +00:00
Peter Kümmel
8abb5429b9 prepare switch to switch-case in when parsing tex files
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40232 a592a061-630c-0410-9148-cb99ea01b6c8
2011-11-20 19:44:08 +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
Richard Heck
e1b2466faf Fix bug #3821 by allowing insertStringAs* to reset the cursor.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39752 a592a061-630c-0410-9148-cb99ea01b6c8
2011-09-24 18:21:41 +00:00
Richard Heck
485cfe2b72 Add a sanity check to prevent the crash noted in #7654.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39212 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-29 14:22:04 +00:00
Richard Heck
4201a465f0 Fix stupid duplicate from r38981.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38984 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-08 12:51:24 +00:00
Richard Heck
b436d85783 Fix bug #7517. This restores some code removed when we started adding basic layouts we didn't recognize.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38981 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-08 00:12:57 +00:00
Richard Heck
60b1a06ac8 Revert previous commit, which committed too much.
This reverts commit 4369e725b17fede013eb26bfd797e917eaf6f4ea.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38979 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-07 23:52:22 +00:00
Richard Heck
cd2e50a275 Fix problem with static error list.
It's amazing we haven't seen problems with this before. The basic problem is that buf.errorList("whatever") would always return the same global, static error list, if it did not already exist. So, to a significant extent, there was only one global error list!

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38978 a592a061-630c-0410-9148-cb99ea01b6c8
2011-06-07 23:45:33 +00:00
Richard Heck
161e60b7ea Fix for bug #7319. This is an attempt to fix the bug cheaply.
We clear the refernce cache so that we won't get conflicts with labels
that get pasted into the buffer. We should update this before its being
empty matters. If not (i.e., if we encounter bugs), then this should
instead be:
  cur.buffer().updateBuffer();
But we'll try the cheaper solution in trunk.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38680 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:23:24 +00:00
Richard Heck
3526e67e24 We need to do the update here simply because of the inset deletion.
It must have been wrong before the updateBuffer() refactoring, too.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38676 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 21:50:35 +00:00
Richard Heck
f3c472e769 Remove obsolete comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37184 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-12 13:40:47 +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
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
Jean-Marc Lasgouttes
b9b619641b This patch implements proper ERT behaviour for normal layouts.
In particular, it makes paragraph breaks generate single \n in latex output
when ParbreakIsNewline is true

This means that it is not necessary anymore to use newlines to break lines. 
Plain paragraph breaks can be used instead, like is done now in ERT/Listings. 
This is mainly aimed at sweave support.

lyx2lyx support courtesy of Richard Heck



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36163 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-06 15:06:19 +00:00
Vincent van Ravesteijn
f226c9d3fc Fix bug #6058: Change tracking and versioning.
Computes a hash value for the authors when using change tracking.

Text.cpp, BufferParams.h, Author.h:
  Change unsigned int to int because the hash values can be negative.

lyx2lyx:
  Allow to convert negative author_ids.

See also: r30756.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36134 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-05 18:25:29 +00:00
Peter Kümmel
496f7a23fd Fix bug 6650: Error Messages Repeated
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35664 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-17 12:06:47 +00:00
Richard Heck
6a80ce62ca DispatchResult::update() ==> DispatchResult::screenUpdate()
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35631 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-13 17:28:55 +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
Uwe Stöhr
0e7ab29f49 InsetLine: support for the LaTeX command \rule; kick out the hardcoded \lyxline; fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35299 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-07 00:41:00 +00:00
Richard Heck
5577e877bb Try to move all updateBuffer() calls to a central location. We now use
DispatchResult to store a flag that tells us whether we need a buffer
update or not. 

So: If you find a missing one, go to an appropriate place in the
dispatch and call cur.forceBufferUpdate() or, if you don't have a cursor
but do have a DispatchResult, call dr.forceBufferUpdate().

There is one remaining call I could not move, in
TextMetrics::redoParagraph. But this looks like an emergency call when
the macro context has not been set. There are also a couple calls that
are connected with buffer creation that I commented out, since the same
call is done again almost immediately. But I'm not positive about those.

Now the nice thing would be to do the same for updateMacros().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34826 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-09 14:37:00 +00:00
Richard Heck
0e14f379f3 Rename a couple routines. This will avoid confusion with a forthcoming
patch.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34816 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-08 20:04:35 +00:00
Richard Heck
8480d1dd9a Rename InsetOptArg as InsetArgument.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34596 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-04 22:44:58 +00:00
Vincent van Ravesteijn
a948d13333 Fix bug #6744: Crash when copying an inset from a deleted section.
We need to reject the changes in when copying from a fully deleted section.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34583 a592a061-630c-0410-9148-cb99ea01b6c8
2010-06-01 16:13:54 +00:00
Vincent van Ravesteijn
8156884090 Make Cursor::disp_ private as it should be.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34144 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-15 17:34:34 +00:00
Richard Heck
8f5d4a3fcb Get rid of label_init_length. There is no way to set it from the GUI any
more. Worse, it was being used inconsistently. And we don't really need
it.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33786 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-17 12:50:58 +00:00
Richard Heck
4cd5bcefe9 Introduce a RefPrefix tag for Style, InsetLayout, and Float, that
indicates what prefix to use when constructing formatted references.
Documentation to follow.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33784 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-17 12:23:24 +00:00
Richard Heck
d65020b293 s/updateLabels/updateBuffer/g, per a suggestion of Abdel's.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33613 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-03 22:13:45 +00:00
Jean-Marc Lasgouttes
c129f0f8b3 New behaviour when using break-paragraph on an empty paragraph where
KeepEmpty is false:
* if depth>0, decrease depth
* if depth = 0 reset layout to standard

This implments a hopefully intuitive way of getting out of enumerations and
other environments.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33088 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-18 22:11:06 +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
Vincent van Ravesteijn
b3128dc63b Fix second part of bug #6400: After selecting a word by double-clicking it, extending the selection by a single mouse-click should also select only whole words.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32580 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-18 14:18:10 +00:00
Abdelrazak Younes
82c7e15e64 Uniformize Inset construction (passing Buffer * everywhere). Lots of cleanup to do still...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31901 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 15:53:21 +00:00
Vincent van Ravesteijn
cd15ffd9a9 Another fix for bug #5061: A slight correction of the patch shown described in http://permalink.gmane.org/gmane.editors.lyx.devel/113507.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31791 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-29 21:02:19 +00:00
Vincent van Ravesteijn
d0859f23d0 Fix bug #6292: Ensure the current language is set correctly after dissolving an Inset.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31790 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-29 13:36:22 +00:00
Jean-Marc Lasgouttes
0c1ff6d89e Move some functions that only required a FontInfo parameter from Font.*
to FontInfo.*

This allows tex2lyx to use the plain FontInfo object (via Layout), and to remove
several '#ifdef TEX2LYX' in the code

Reorder a bit the makefile in tex2lyx


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31772 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-27 16:16:15 +00:00
Abdelrazak Younes
116c7c34c3 We cannot use a static int as there are usually multiple InsetText in a same document.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31491 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-02 23:13:19 +00:00
Vincent van Ravesteijn
f733221747 Fix bug #6160 and #6182: Assertion when viewing master document.
Set Buffer to Insets when reading a document. InsetSpecialChar and InsetLine are the only Insets that are instantiated in readParToken.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31238 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-29 23:14:38 +00:00
Abdelrazak Younes
b3d7fce1b2 delete unused code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30969 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-10 20:11:48 +00:00
Abdelrazak Younes
8c053ea10c Move depthHook(), outerHook(), isFirstInSequence(), outerFont() to Text methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30957 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 18:35:39 +00:00
Abdelrazak Younes
5fd5cf41c0 Move setLabelWidthStringToSequence() to Text private member.
Move isFullyDeleted() to static function in CutAndPaste.cpp.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30956 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 17:45:24 +00:00
Abdelrazak Younes
2b9e44cb01 Move contents of paragraph_funcs.* to Text.h and Text.cpp.
The goal is to simplify the code afterwards.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30955 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 17:30:41 +00:00
Abdelrazak Younes
eef8720eca Move Text::insertStringAsLines and Text::insertStringAsParagraphs from Text2.cpp to Text.cpp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30954 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 17:14:41 +00:00
Abdelrazak Younes
730a67e0d1 Text::Inset(): now returns a reference in order to make clear that the owner is mandatory.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30947 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 16:19:43 +00:00
Abdelrazak Younes
df0072228f Text: Get rid of BufferParams arguments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30945 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 15:52:33 +00:00
Abdelrazak Younes
5425c53fd1 Now that Text knows its owner, use the associated Buffer access.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30941 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 15:29:34 +00:00
Vincent van Ravesteijn
3114ce609c Some small code simplications.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30866 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-04 23:01:06 +00:00
Jürgen Spitzmüller
35db143564 * Text.cpp (dissolveInset):
- perform updateLabels also after dissolving an empty inset (bug 6003).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30771 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-25 08:22:37 +00:00
Vincent van Ravesteijn
68ae319d7c Fix bug #5061. Patches from Dov (a long time ago).
see:
http://permalink.gmane.org/gmane.editors.lyx.devel/113506
http://permalink.gmane.org/gmane.editors.lyx.devel/113507

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30765 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-24 21:33:50 +00:00
Vincent van Ravesteijn
966687d98b Fix bug #6058: Change tracking not usable in version control.
This patch makes sure that there are minimal changes when loading and saving a file with change tracking.

- the authors are assigned a buffer_id, such that when the file is saved, they get the same id,
- the authorlist is sorted according to the buffer_id,
- the buffer_id is written to the file in the author list (file format change)
- the ids start with 1, because 0 is internally reserved for the current Author,
- when writing the file, the current author is assigned an id if he didn't already have it.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30756 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-23 20:08:05 +00:00
Vincent van Ravesteijn
da2c479003 * Text.cpp: simplification of code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30749 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-22 20:36:40 +00:00
Jean-Marc Lasgouttes
408b96bb92 un-revert r30531, after Richard told me how to avoid the crash. Now, before
accepting changes in a clipboard copy (CutAndPaste.cpp), we set the buffer
of insets (and we reset them later).

Doing this makes sense because we know this is the only operation on these
out-of-document paragraphs that will require access to a buffer.

Also, this commit gets rid of one explicit test against ERT_CODE and 
LISTING_CODE.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30623 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-16 08:37:32 +00:00
Jean-Marc Lasgouttes
c3be74085f revert r30531, which causes a crash when copying an inset.
Basically, insets in cut stack do not have a buffer, and therefore cannot
acess to buffer parameters. What is annoying here is that acceptChanges 
requires this buffer params only to be able to read a font in moveItem,
in order to read the buffer language, and I doubt this is really needed...

Another change in this patch is that Inset::getLayout now returns a 
plainLayout when the inset does not have a buffer_. This fixes a remaining 
crash where dEPM reads isFreeSpacing() for an inset in the clipboard, but
this looks like a fragile situation. And it will not do the right thing when
doing depm in a freespacing inset.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30605 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-15 14:19:10 +00:00
Jean-Marc Lasgouttes
067a685263 remove BufferParams parameter from Inset::accept/rejectChanges; adapt rest of code accordingly
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30531 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-13 00:57:51 +00:00
Abdelrazak Younes
5387379c24 Introduce Paragraph::isWordSeparator() and use it instead of Paragraph::isLetter(). Note here a change in behavior WRT to word selection: a deleted character is not considered a word separator. This new behavior will impact word finding and spellchecking.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30211 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-21 14:30:57 +00:00
Uwe Stöhr
8f3acbb484 remove unused includes of convert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29772 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-21 21:02:14 +00:00
Pavel Sanda
6fde8f8067 Introduce double underline and wavy underline styles from ulem
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg150803.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29542 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-05 09:26:28 +00:00
Pavel Sanda
381b86788d Introduce strikeout text style (strike-through)
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg150743.html

Somewhat related to http://www.lyx.org/trac/ticket/4248 .


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29523 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-03 22:45:14 +00:00
Vincent van Ravesteijn
7108b8e463 Add accept/reject change to the edit context menu.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29478 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-01 17:06:36 +00:00
Abdelrazak Younes
1b168bbc69 Paragraph::updateWord() and collectWords(): Remove unneeded CursorSlice argument.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29466 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-01 09:56:20 +00:00
Abdelrazak Younes
30c70c1670 Transfer word locating code from Text to Paragraph.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29455 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-01 07:26:12 +00:00
Vincent van Ravesteijn
4706961841 Fix bug 1802: http://bugzilla.lyx.org/show_bug.cgi?id=1802.
* allows the selection of a whole cell with shift+key
* shift-movement between empty cells with a single keystroke 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28385 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-07 15:24:47 +00:00
Jean-Marc Lasgouttes
1106072176 Oops! forgot to set a sane layout (bug 4859 again)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28347 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-04 14:23:16 +00:00
Jean-Marc Lasgouttes
a5e8cc750b avoid creating empty paragraph list also in the case of an inner insettext (bug 4859 again)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28346 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-04 11:28:29 +00:00
Jean-Marc Lasgouttes
deac053e36 avoid a crash on empty documents (bug 4859)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28345 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-04 10:46:54 +00:00
Pavel Sanda
4e4e8afcc2 Sort order
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27940 a592a061-630c-0410-9148-cb99ea01b6c8
2008-12-21 01:54:04 +00:00
André Pönitz
6192345f60 add Buffer * member to DocIterator
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27603 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-17 11:46:07 +00:00
André Pönitz
f8f5a7b28d move updateLables to buffer
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27562 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 16:43:49 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00