Commit Graph

116 Commits

Author SHA1 Message Date
Enrico Forestieri
d3e25253c3 Better fix for bug #6270. The outer braces are swallowed only for user
defined macros, so better use a brace inset only when strictly needed.
No status.16x line is necessary.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@31871 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-06 14:47:27 +00:00
Enrico Forestieri
ee2bbb8d89 Fix bug #6270: Bug in parsing selection as math macro argument
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@31594 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-11 15:37:31 +00:00
Jürgen Spitzmüller
c35cfda727 Catch encoding exception when performing instant preview on an uncodable char (bug 6116).
* MathStream{.cpp, h}:
	- replace bool dryrun() by enum output that also knows whether the stream is for instant preview
* InsetMathHull.cpp:
	- tell the stream whether we use it for instant preview.
* MathString.cpp (write):
	- gracefully catch encoding exception for instant preview.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@30894 a592a061-630c-0410-9148-cb99ea01b6c8
2009-08-07 05:24:57 +00:00
Vincent van Ravesteijn
d0d41147a7 branch: Fix bug #2213: GuiChanges? lacks "Previous Change" button.
see r29108, r29109, r29110, r29111, and r29115.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@30597 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-15 10:08:56 +00:00
Vincent van Ravesteijn
e1bdd1b4ad branch: Fix bug #5435: DEPM is not executed when leaving an inset.
see r29585 and r29248.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@30514 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-12 16:48:02 +00:00
Enrico Forestieri
a8b29819e9 Fix bugs #6047, #4043, and #5394.
6047: Lyx 1.6.3 unable to typeset the third chemical equation of the
      file mhchem.lyx (package mhchem)
4043: mhchem support
5394: support for the mhchems's \ce command
The \ce and \cf insets are text mode environments that allow entering
spaces and mathmode commands. LyX leaves them alone and doesn't try to
be smart, i.e., the behaviour is exactly the same we had in the old days
with text-in-math mode environments, before the introduction of the
\ensuremath and \lyxmathsym macros. This means that in those environments
one has to know what he is doing, as LyX will not offer any protection.
The hack of enclosing \ce and \cf in a \text{} environment in order to
be able to enter spaces is no longer necessary.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@30439 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-09 20:51:21 +00:00
Jean-Marc Lasgouttes
3e6401ac2b Fix assertion when selection with Shift-button in math editor (bug #6026)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@30307 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-29 13:03:04 +00:00
Vincent van Ravesteijn
0dd017f0fc branch: Revert fix for bug #5435.
Revert r29002 and r29003. This fix introduced a regression. The new fix will be postponed to 1.6.4.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@29327 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-19 14:00:59 +00:00
Vincent van Ravesteijn
0f290b2783 branch: Fix bug 5435: DEPM doesn't function when leaving an inset
http://bugzilla.lyx.org/show_bug.cgi?id=5435
The code for this was already present, but was never reached.

see:
http://www.lyx.org/trac/changeset/28910

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@29003 a592a061-630c-0410-9148-cb99ea01b6c8
2009-04-01 21:15:28 +00:00
Vincent van Ravesteijn
e09184fd5d branch: Fix bug 5765: http://bugzilla.lyx.org/show_bug.cgi?id=5765.
[visual cursor] Crash when cutting a figure caption and moving the cursor. 
Avoid negative positions. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28638 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-27 23:03:39 +00:00
Vincent van Ravesteijn
d39be32421 branch: Fix bug 5762: http://bugzilla.lyx.org/show_bug.cgi?id=5762.
[visual cursor] Crash when moving left in table in an RTL document 
Avoid negative positions. 


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28637 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-27 22:59:54 +00:00
Jürgen Spitzmüller
cd497efe68 Fix bug 5699 (crash when using outliner in child document while the master is not opened).
The problem was that, if the master is not opened, no respective guiDelegate exists, and the functions that update the toc do not trigger. The fix is to update the child's toc backend and toc items directly in such cases.

All credits (for both detecting and fixing the problem) go to Vincent, who is going to submit the (slightly different) fix to trunk.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28527 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-17 15:18:47 +00:00
Vincent van Ravesteijn
cd81bb016e branch: Fix bug 5764: http://bugzilla.lyx.org/show_bug.cgi?id=5764.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28413 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-09 18:03:24 +00:00
Vincent van Ravesteijn
eb3f74eeac branch: Make sure the selection painting is updated after LFUN_UP or LFUN_DOWN. See http://thread.gmane.org/gmane.editors.lyx.devel/113428
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@27581 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-16 19:54:09 +00:00
Dov Feldstern
13cf13c690 fix a bug in visual cursor movement
The setting of boundary need to take the paragraph's direction (LTR/RTL) into
account.

This bug was discovered by Vincent, while trying to solve bug #5061.

While this fixes the original manifestation of bug #5061, it doesn't really
solve the underlying issue, which is that on a boundary, after typing
Ctrl-Enter, the cursor is painted on the same line as the newline symbol
rather than on the new line. See bugzilla for further discussion of this.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27225 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-01 17:00:58 +00:00
Enrico Forestieri
02ebfa000b Fix bug 3397
http://bugzilla.lyx.org/show_bug.cgi?id=3397


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26934 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-17 21:40:11 +00:00
Abdelrazak Younes
7bd33462a0 Avoid a complete Toc reset in case when only a toc item update is needed.
* Buffer: new updateTocItem() signal (with Delegates and GuiView associates).
* TocBackend: take care of the signal emission instead of the Cursor::checkBufferStructure()
* TocModel: new updateTocItem() method.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26636 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-30 09:50:54 +00:00
Abdelrazak Younes
5731e7faae Small cleanup in order to improve toc change detection within insets.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26574 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-26 10:37:24 +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
Enrico Forestieri
1383629299 Fix bug 5246
http://bugzilla.lyx.org/show_bug.cgi?id=5246


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26403 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-14 17:51:46 +00:00
Pavel Sanda
1dadaa5890 When only selecting the end_margin between 'after i-1' and 'before i', the
anchor is incorrectly set to be equal to the cur. This is because comparing two
CursorSlices does not take into account the boundary property (because the
CursorSlice does not know this).

Patch by Vincent.

http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg143572.html



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26393 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-13 23:03:33 +00:00
Jean-Marc Lasgouttes
17dd645862 Bug 5173: Undo Grouping
http://bugzilla.lyx.org/show_bug.cgi?id=5173

	* Undo.cpp (beginUndoGroup, endUndoGroup): new methods.
	(UndoElement): add group_id member
	(UndoElementStack): when removing old undo entries, make sure to
	remove whole groups.
	(Undo::Private): add group_id and group_level (for nesting) members.
	(doTextUndoOrRedo): new method. Apply _one_ UndoElement.
	(textUndoOrRedo): call doTextUndoOrRedo on each element of the current
	group.
	(recordUndoFullDocument): put inside an undo group

	* Cursor.cpp (beginUndoGroup, endUndoGroup): new methods.

	* LyXFunc.cpp (dispatch): add calls to (begin|end)UndoGroup.

	* lyxfind.cpp (replaceAll): use several recordUndo instead
	of one recordUndoFullDocument.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26178 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-15 19:24:56 +00:00
Richard Heck
6f7136fc7b whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26148 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-13 19:58:00 +00:00
Richard Heck
cf33f88943 We should at least also check the index. But probably more is needed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26147 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-13 17:05:34 +00:00
Jean-Marc Lasgouttes
3589a75a11 clearSelection invokes resetAnchor
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26145 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-13 15:13:37 +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
939503ee85 Fix crash reported on the list involving multicell selections. We have to
be careful to check for that!


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26102 a592a061-630c-0410-9148-cb99ea01b6c8
2008-08-08 21:26:18 +00:00
Enrico Forestieri
a694de895e Fix bug 3938
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25028 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-31 20:54:50 +00:00
Abdelrazak Younes
eb28cb8755 Unify Paragraph::asString() methods.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24882 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-22 14:01:33 +00:00
Dov Feldstern
ffda0d89b4 refactoring visual cursor movement functions
Specifically, moved the functions which actually move left or right from Text
into Cursor, and changed the semantics so that they now return whether or not
the cursor has moved. The functions in Text now use the new functions in Cursor.

This change is being made in preparation of the Word-level visual movement.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24601 a592a061-630c-0410-9148-cb99ea01b6c8
2008-05-04 20:17:59 +00:00
Jean-Marc Lasgouttes
9b4a26a252 rename assert.h to lassert.h
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24559 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-30 08:26:40 +00:00
Dov Feldstern
5dfa0c0381 visual mode for bidi cursor movement --- in tables
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24235 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-11 12:02:10 +00:00
André Pönitz
7f461f4392 infrastructure for 'graceful asserts'
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24216 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-10 21:49:34 +00:00
André Pönitz
a98f82c292 s/kb_action/FuncCode/g
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23749 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-15 01:20:36 +00:00
Stefan Schimanski
e01f7e7105 * fix a serious data loss problem: undo did not save the whole
selection in mathed if more than one cell was selected.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23675 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-12 00:59:29 +00:00
Richard Heck
a01cb111a0 Change the interface to a paragraph's layout. We still store a LayoutPtr, but now privately, and make a Layout const & available to clients.
The need for a LayoutPtr arises from the fact that (a) we do not want to give our clients a Layout &, since we do not want them to be able to change our Layout; but (b) we also need to be able to change which layout is ours. So we cannot store a Layout const &. Or so it seems to the compiler.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23522 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 21:31:27 +00:00
Abdelrazak Younes
a4d5b78430 Transfer and bug fix LFUN_BUFFER_BEGIN/END_SELECT to BufferView.cpp
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23512 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-06 15:39:30 +00:00
Stefan Schimanski
770b230704 * some more unused buffer parameters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23454 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-04 15:05:16 +00:00
Stefan Schimanski
03a1c9192e * store the selection in the InsetMathUnknown and insert it into the
first argument after finalizing the macro. This also works with real
  math macros.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23449 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-04 14:49:24 +00:00
Abdelrazak Younes
017ba3c4c7 Sanitize a bit the way InsetRef and InsetCommand button are drawn.
* Inset::validate(): renamed to initView()

* InsetCommand:
- get rid of unneeded refresh() and updateButtonLabel_
- setParams(): call initView()

* InsetRef:
- implement initView()
- screenLabel(): transfer code to updateLabels()
- addToToc(): prefix name with BROKEN if the reference is broken.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23417 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-03 17:58:26 +00:00
Abdelrazak Younes
7cd9525197 rev 23399: the fix was not fully correct because labels are not editable.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23400 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 18:49:49 +00:00
Abdelrazak Younes
00d6906d04 Introduce Inset::validate() for Inset validation purpose upon interactive creation. In this commit this is used to validate a newly inserted label. As an added bonus, broken cross-references will be automatically fixed if the corresponding label is created.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23399 a592a061-630c-0410-9148-cb99ea01b6c8
2008-03-02 18:14:12 +00:00
Abdelrazak Younes
f600486a37 Cursor::insert(): Fix crash with math. Problem was that the inset pointer was released by MathAthom
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23363 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 20:55:56 +00:00
Stefan Schimanski
d1c74a4cd2 * boundary is false implicitely for all slices below the top slice
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23347 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-29 08:27:22 +00:00
Abdelrazak Younes
380ffa0c76 Cursor::insert(): no reason to exclude mathed. Non willing math insets (MathChar) should provide a stub method for setBuffer().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23326 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 15:40:50 +00:00
Abdelrazak Younes
78d63575ca revert revision 23324 and implement a better more general fix in Cursor::insert().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23325 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-28 15:36:48 +00:00
André Pönitz
1cca0a86bd API cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23295 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 23:03:26 +00:00
André Pönitz
db8c16d554 progress on buffer-reference-in-insets. beware of instabilities...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23289 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-27 20:43:16 +00:00
Stefan Schimanski
249e6b7ac0 * update the words of a paragraph when the cursor leaves.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23260 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-26 19:20:12 +00:00
Dov Feldstern
4056f0ddb1 fix a visual cursor edge-case:
Only when an LTR paragraph *ends with* an RTL chunk of text, movement was 
incorrect in two ways:

1. After moving into the pargraph from the end, and then trying to move towards
the beginning of the paragraph, the cursor would immediately jump to the 
previous pargraph.

2. If the cursor were placed inside the RTL text, and then we would move left
towards the beginning of the paragraph, upon reaching the end (beginning?) of
the RTL chunk, cursor would jump to the end of the paragraph, and then continue
as in (1).

(Same thing, of course, with the reverse situation, i.e., RTL paragraph ending
with LTR text).

We now deal with both of these cases correctly.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23173 a592a061-630c-0410-9148-cb99ea01b6c8
2008-02-24 01:45:51 +00:00