Commit Graph

125 Commits

Author SHA1 Message Date
Stephan Witt
96d0bb79ef #7209 avoid a crash in inMacroMode(): one cannot get the previous atom of an empty math cell
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@37163 a592a061-630c-0410-9148-cb99ea01b6c8
2011-01-10 10:31:20 +00:00
Enrico Forestieri
3e722cd656 Fix bug #6939 (Using math-insert to input math macros overwrites math expressions)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@36526 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-26 22:12:56 +00:00
Vincent van Ravesteijn
b9250f26a3 Fix bug #6448: Crash with invalid anchor.
If we check whether a cursor is valid, we should also check the anchor_.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@33281 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-30 18:00:05 +00:00
Vincent van Ravesteijn
300611ec43 branch: Fix bug #6400.
Shift+mouse click loses the existing selection instead of extending it.

see r32578.

After selecting a word by double-clicking it, extending the selection by a single mouse-click should also select only whole words.

see r32580.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32799 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-06 19:49:53 +00:00
Enrico Forestieri
756862c37c Fix bug #6382: Wrong cursor placement when inserting math
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32480 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-11 18:05:12 +00:00
Enrico Forestieri
dcd06297ec Fix bug #6342: Pasting-bug in math-mode sub- and super-scripts
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32163 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-23 12:47:27 +00:00
Vincent van Ravesteijn
594f47b4b7 branch: Fix bug #6320: LyX goes to infinite loop when selecting document parts.
Set the boundary member correctly when the cursor goes to an 'empty' row.

No status.16x entry needed as this was introduced by r31880.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32111 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-19 23:12:15 +00:00
Enrico Forestieri
bdb91ff5cc Fix bug #5530: LyX expansion in math-macro overwritten by default one.
Changes backported from r31873, r31898, 31905, r31907, and r31998.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@32027 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-15 17:38:36 +00:00
Vincent van Ravesteijn
f38483d441 branch: Fix bug #6237: The boundary has to be set correctly when moving up with a selection. If not, the cursor will remain on the same row when there are two e.g. displayed equations after each other. This will cause an infinite loop when SCREEN_UP is executed.
(I added a small extra safety measure to not change the logic resulting from r31864. I'm not sure it can harm.)

see r31863, r31864.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@31880 a592a061-630c-0410-9148-cb99ea01b6c8
2009-11-06 18:08:06 +00:00
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