[evolution-data-server] Bug #598971 - Preserve selection in ENameSelectorEntry if possible
- From: Milan Crha <mcrha src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Bug #598971 - Preserve selection in ENameSelectorEntry if possible
- Date: Wed, 21 Oct 2009 18:36:19 +0000 (UTC)
commit 9c02dddd97d710a79cbd59cc839b2cc01ae13490
Author: Milan Crha <mcrha redhat com>
Date: Wed Oct 21 20:35:15 2009 +0200
Bug #598971 - Preserve selection in ENameSelectorEntry if possible
libedataserverui/e-name-selector-entry.c | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/libedataserverui/e-name-selector-entry.c b/libedataserverui/e-name-selector-entry.c
index 0c77f3b..1bcdfa2 100644
--- a/libedataserverui/e-name-selector-entry.c
+++ b/libedataserverui/e-name-selector-entry.c
@@ -1530,6 +1530,20 @@ entry_activate (ENameSelectorEntry *name_selector_entry)
}
static void
+update_text (ENameSelectorEntry *name_selector_entry, const gchar *text)
+{
+ gint start = 0, end = 0;
+ gboolean has_selection;
+
+ has_selection = gtk_editable_get_selection_bounds (GTK_EDITABLE (name_selector_entry), &start, &end);
+
+ gtk_entry_set_text (GTK_ENTRY (name_selector_entry), text);
+
+ if (has_selection)
+ gtk_editable_select_region (GTK_EDITABLE (name_selector_entry), start, end);
+}
+
+static void
sanitize_entry (ENameSelectorEntry *name_selector_entry)
{
gint n;
@@ -1565,7 +1579,7 @@ sanitize_entry (ENameSelectorEntry *name_selector_entry)
}
g_list_free (del);
- gtk_entry_set_text (GTK_ENTRY (name_selector_entry), str->str);
+ update_text (name_selector_entry, str->str);
g_string_free (str, TRUE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]