This reverts commit 008a0825e8.
This commit was part of bug #12310. The goal was to remove the
selection when using "up" at the start of selection (so that the
cursor cannot move). Unfortunately, it creates navigation issues for
insets inside tabulars.
Since the fix was minor, the safest decision is to revert.
The part of ticket #12310 that resets selection with
char-forwars/backward when moving is not possible still works.
Fixes bug #12593.
This lfun (like several others) does not work with multicell
selection. Disable the lfun in this this case for now, until a nice
solution is found.
Fixes bug #12530.
This happens when the cursor goes into a deeper inset, since
selectWord() was called on the wrong Text object.
Additionally, fix the new word selection when cursor goes before
existing selection.
Fixes bug #12529.
This adds native macros for subindexes (!level), |see and |seealso
as well as native support for ranges |( |) and pagination format
-- e.g., |textbf -- via the index dialog
Resolves#12478, #7232 and #5014
The feature is complete (incl. tex2lyx) except for
* file format change and lyx2lyx
* docbook/xhtml
* documentation
When inserting inset over a selection, the layout is transferred if
the inset covers full paragraphs.
This is not the right policy in the case of environments. Until proper
code is written and tested, limit ourselves to command layouts.
Fixes bug #12251.
The code that determine whether an InsetArgument is passThru is
complex and lives in updateBuffer.
This patch factors out the code in a new init method and calls it also
in doInsetInsert when inserting a InsetArgument.
Fixes bug #12143.
When the cursor cannot move on cursor up/down, at least the selection
should be cleared (when not selecting).
To detect this, the method Cursor::upDownInText has been modified to
return true when cursor is at top/bottom of inset, but there is some
room above/below.
Moreover, introduce the functions LFUN_FINISHED_UP/DOWN, which is
dispatched at upper cursor level as long as no local movement is
possible. This allows to handle differently the original char moving
action and its consequences.
Fixes part of bug #12310.
Example: when a selection is set, a `Left' cursor movement would not
reset selection when the cursor was at the beginning of buffer.
To fix this, it is necessary, when cursor is in top-level text, to
avoid the mechnanism (undispatched cursor) that sends the action to the
upper level (necessary when the cursor leaves an inset).
The change is mechanical and is done for : char-backward,
char-forward, char-left, char-right, word-left, word-right, word-left,
word-right. It might be possible to factor this code a bit, but there
is no evident solution.
char-up/down are *not* handled at this point.
Fixes part of bug #12310.
Now it is possible to set this font directly instead of relying on
metrics() side effects. Do that to avoid crashes due to bad
interactions.
This implements the new scheme that was mentionned in 5a58ca65.
Fixes bug #12204.
For now, the simplest thing to do it to compute metrics in all cases
before calling setCurrentFont().
In 2.5, a better approach will be to add a new virtual function
InsetText::setFont that will set correctly TextMetrics::font_ (a cache
of the reference font).
Fixes bug #12126.
It turns out that the code is the same in texted ans mathed and that
whatever is done in InsetTabular is not useful.
This means that we do not need to deal Text::dispatch idiosyncrasies
(in particular forcing the cursor to be visible).
Fix bug #11225.