[evolution-data-server/gnome-2-28] 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/gnome-2-28] Bug #598971 - Preserve selection in ENameSelectorEntry if possible
- Date: Wed, 21 Oct 2009 18:37:31 +0000 (UTC)
commit 5290c747a33c0133eea4f4a3e91e3d4f58146dd4
Author: Milan Crha <mcrha redhat com>
Date: Wed Oct 21 20:37:03 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 98554d3..2709739 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]