Truncate selections on text insertion

When inserting text on a key press event we should also truncate
the selection.

We should not truncate the selection when inserting any Unicode
character, since changing the selection also changes the cursor
position - and one of the invariants we inherited from ClutterEntry
is that inserting characters programmatically does not change the
cursor position.
This commit is contained in:
Emmanuele Bassi 2008-12-11 12:10:46 +00:00
parent 35172a7615
commit f13e00b411

View File

@ -898,7 +898,8 @@ static gboolean
clutter_text_key_press (ClutterActor *actor,
ClutterKeyEvent *event)
{
ClutterTextPrivate *priv = CLUTTER_TEXT (actor)->priv;
ClutterText *self = CLUTTER_TEXT (actor);
ClutterTextPrivate *priv = self->priv;
ClutterBindingPool *pool;
gboolean res;
gint keyval;
@ -925,7 +926,8 @@ clutter_text_key_press (ClutterActor *actor,
if (g_unichar_validate (key_unichar))
{
clutter_text_insert_unichar (CLUTTER_TEXT (actor), key_unichar);
clutter_text_truncate_selection (self);
clutter_text_insert_unichar (self, key_unichar);
return TRUE;
}