Commit Graph

148 Commits

Author SHA1 Message Date
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
6f61652605 Fix part of bug #5561: Issues with image pasting
Now the path to the pasted graphics is saved as a relative path if possible.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36058 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-04 14:28:33 +00:00
Vincent van Ravesteijn
222b3580d2 More include frenzy.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35940 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-31 01:04:03 +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
573500dd04 Remove unneccessary uses of dynamic_cast from the code.
A dynamic_cast is necessary when:

- the object to be casted is from an external library because we can't add Qxxx::asXxxx() to Qt e.g.:
    * QAbstractListModel to GuiIdListModel,
    * QValidator to PathValidator,
    * QWidget to TabWorkArea,
    * QWidget to GuiWorkArea;

- the object is to be casted from an interface to the implementing class, because the Interface does not know by whom it is implemented:
    * ProgressInterface to GuiProgress,
    * Application to GuiApplication.

A dynamic_cast can be replaced by:
  - already existing as***Inset() functions, e.g.:
    * asHullInset(),
    * asInsetMath()->asMacro(),
    * asInsetText();

  - a static_cast when we are sure this can't go wrong, e.g.:
    * we are sure that CellData::inset->clone() is an InsetTableCell,
    * in cases where we explicitly check it->lyxCode().


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35855 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-26 15:03:51 +00:00
Vincent van Ravesteijn
2e42a7b645 We don't want InsetCommand to have a function updateCommand while this is not a special function of an InsetCommand, but only accidentally a shared function of two children. So, in this case I think we should just (dynamically) cast these objecten and call their own insetCommand function.
This also fixes compilation again. I forgot to cherry-pick all commits in git ;)...

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35845 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 23:20:05 +00:00
Jean-Marc Lasgouttes
60445ede53 remove unused headers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35129 a592a061-630c-0410-9148-cb99ea01b6c8
2010-08-12 09:38:22 +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
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
Pavel Sanda
62ca7f3ae5 Proper camel case for FileName.absFilename
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +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
Abdelrazak Younes
377cdd5f6c Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now
a lot of simplification is possible. Except some instability period...


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33389 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-09 16:11:13 +00:00
Jürgen Spitzmüller
7bbd67eb26 * Implement updateLabels in mathed and add the MathRef insets to the references cache.
This fixes bug #1560.

The diverse setBuffer / updateLabels calls need auditing. See FIXMEs.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33249 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-28 17:37:22 +00:00
Jürgen Spitzmüller
a484f95910 When pasting a math inset with a label, check for duplicates (as we do outside math)
(bug 6218)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33230 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-27 08:41:19 +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
Abdelrazak Younes
ff4460603e Make Buffer argument mandatory in most of the InsetMath based class... boring work...
Math manual loads and save correctly it seems but expect some instability period.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31898 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-08 11:45:46 +00:00
Vincent van Ravesteijn
a6ff55e539 Fix a crash when copying flex insets to another document.
I know that Inset has a buffer, but we should be careful when handling Insets in CutAndPaste, these don't always have a buffer. Besides, we are in the function switchBetweenClasses(oldone, newone). Then it's pretty strange to ask the flex inset whether it is defined in its buffer->textclass, while we have an explicit new textclass defined.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31223 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-24 23:02:50 +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
f35561d055 Cleanup: Replace a bunch of Cursor arguments with DocIterators.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30951 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 16:49:41 +00:00
Abdelrazak Younes
bc9488004e Get rid of one instance of Paragraph::inInset().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30949 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-09 16:38:19 +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
435a1f67b4 move InsetCollapsable::docbook to InsetText; move InsetCollapsable::undefined to Inset
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30589 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-14 20:25:25 +00:00
Jean-Marc Lasgouttes
5bf8df4fbc Remove the layout_ cache in InsetCollapsable.
Remove setLayout methods and all the calls to it.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30560 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-14 12:07:51 +00:00
Jürgen Spitzmüller
17986e7509 Ease the pain with unknown branches:
* on paste, ask if unknown branches shall be added to the branch list
	  (entails new LFUN_BRANCH_ADD)
	* add a list of undefined branches to the buffer and the GUI

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30419 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-09 09:48:34 +00:00
Vincent van Ravesteijn
79688b9d59 This probably deserves a comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29718 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-17 21:06:31 +00:00
Vincent van Ravesteijn
0cb87c6bc4 When the clipboard contains a tabular selection, dirty_tabular_stack_ is true. However, it is set to false when the user clears a selection (without copying). After this (mostly accidental) action, pasting the tabular contents goes wrong.
So, we only clear the dirty_tabular_stack_ flag when a 'real' copy to clipboard has been made.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29717 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-17 21:02:07 +00:00
Vincent van Ravesteijn
f05504f5ef Fix bug #5390. Copy from a deleted section with change tracking.
Do not accept the changes in the selection, if it is completely deleted.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29672 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-14 22:21:05 +00:00
Richard Heck
1352592874 Fix assertion in trunk, and add a comment about why this needs to
be done twice.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29085 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-04 13:48:30 +00:00
Richard Heck
3aecc2c4ff Use an enum to make things a little clearer here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28756 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-12 20:02:12 +00:00
Richard Heck
80c7326663 Remove setBuffer() calls that are no longer needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28720 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-07 21:09:41 +00:00
Jürgen Spitzmüller
0bee8a3b56 * CutAndPaste.cpp:
- correctly set buffer on paste. This fixes a crash on pasting branches 
	   within child documents (bug 5813)

(patch by rgheck)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28711 a592a061-630c-0410-9148-cb99ea01b6c8
2009-03-07 11:45:41 +00:00
Richard Heck
072ed23ffc Patch from Bo. Fixes problem with labels in child docs of the listings type:
Duplicate labels were not being updated.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28556 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-19 04:50:25 +00:00
Richard Heck
7ca8f5a5ec Cosmetics, and comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28552 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-19 03:24:51 +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
Stefan Schimanski
5a10add52e * "Copy as Reference" in the context menu of a label
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27575 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 19:19: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
Abdelrazak Younes
070d75f1c6 revert hazardous part of r26957 and add a comment.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27169 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-28 17:51:08 +00:00
Enrico Forestieri
96007ce5ac Fix bug 5374
http://bugzilla.lyx.org/show_bug.cgi?id=5374


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26983 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-19 20:55:54 +00:00
Abdelrazak Younes
6a8219c190 Paragraph:
- constify some parameters
- getFontSettings():
- getFirstFontSettings(): return a const ref instead of a copy. This brings a consistent 4% improvement in LateX generation. Might speedup rtl handling too.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26957 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-19 07:03:44 +00:00
André Pönitz
4c7fdddd74 streamlining setter syntax. using mutable references seems a bit
outlandish compared to the rest of LyX


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26527 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-24 21:27:41 +00:00
Abdelrazak Younes
d28a762ec7 Fix copy & paste of inset inside table cell.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26420 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-15 17:03:15 +00:00
Abdelrazak Younes
f83a38b3de Paragraph::inInset() shall not be used if the owner inset was not initialized. Make this rule clear and unavoidable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26385 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-13 17:01:54 +00:00
Abdelrazak Younes
7d888cc5e0 Fix silly bug spotted by Vincent in r26372
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26383 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-13 15:32:26 +00:00
Abdelrazak Younes
6cc68a2663 I forgot this in previous rev.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26371 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-12 13:43:48 +00:00
Abdelrazak Younes
227ae7c2c7 Get rid of indirections and add a check.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26370 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-12 13:36:40 +00:00
Jean-Marc Lasgouttes
4d63bd347b constification without any code change. This is part of and effort to see whether BufferView::cursor() could be made const
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26141 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-13 13:46:19 +00:00
Richard Heck
f1f6ca0963 Yet more empty-->plain.
By the way, can someone check around line 722 of CutAndPaste.cpp?


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26028 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-01 21:58:27 +00:00