summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Untz <vuntz@gnome.org>2006-04-10 12:58:34 +0000
committerVincent Untz <vuntz@src.gnome.org>2006-04-10 12:58:34 +0000
commit6d936311c93f4e7e39577afe6e72d1db3e9dceec (patch)
tree7155af4ce80d5f5386fde5adfe824f22d228d07f
parent14575a212b824c86f741bd9619a4be37b696e436 (diff)
downloadgnome-desktop-6d936311c93f4e7e39577afe6e72d1db3e9dceec.tar.gz
Backport from HEAD.
2006-04-10 Vincent Untz <vuntz@gnome.org> Backport from HEAD. * gnome-ditem-edit.c: (ensure_item_localefiled): new (gnome_ditem_edit_sync_ditem): add a C name/comment/genericname if there's none, copied from the locale value Fix bug #107854
-rw-r--r--libgnome-desktop/ChangeLog9
-rw-r--r--libgnome-desktop/gnome-ditem-edit.c21
2 files changed, 30 insertions, 0 deletions
diff --git a/libgnome-desktop/ChangeLog b/libgnome-desktop/ChangeLog
index 9a440cf3..205132c4 100644
--- a/libgnome-desktop/ChangeLog
+++ b/libgnome-desktop/ChangeLog
@@ -2,6 +2,15 @@
Backport from HEAD.
+ * gnome-ditem-edit.c: (ensure_item_localefiled): new
+ (gnome_ditem_edit_sync_ditem): add a C name/comment/genericname if
+ there's none, copied from the locale value
+ Fix bug #107854
+
+2006-04-10 Vincent Untz <vuntz@gnome.org>
+
+ Backport from HEAD.
+
* gnome-desktop-item.c: (set_locale): if we add an attribute with a
new locale, save the locale into our list of languages
Fix bug #86169
diff --git a/libgnome-desktop/gnome-ditem-edit.c b/libgnome-desktop/gnome-ditem-edit.c
index ed8c5de6..9431ac93 100644
--- a/libgnome-desktop/gnome-ditem-edit.c
+++ b/libgnome-desktop/gnome-ditem-edit.c
@@ -1050,6 +1050,19 @@ get_language (void)
}
static void
+ensure_item_localefiled (GnomeDesktopItem *ditem,
+ const char *field)
+{
+ const char *localized;
+
+ if (gnome_desktop_item_get_string (ditem, field) == NULL) {
+ localized = gnome_desktop_item_get_localestring (ditem, field);
+ if (localized != NULL)
+ gnome_desktop_item_set_string (ditem, field, localized);
+ }
+}
+
+static void
gnome_ditem_edit_sync_ditem (GnomeDItemEdit *dee)
{
GnomeDesktopItem *ditem;
@@ -1177,6 +1190,14 @@ gnome_ditem_edit_sync_ditem (GnomeDItemEdit *dee)
gnome_desktop_item_set_localestring (
ditem, GNOME_DESKTOP_ITEM_COMMENT,
gtk_entry_get_text (GTK_ENTRY(dee->_priv->comment_entry)));
+
+ /* Make sure we set the "C" locale strings to the terms we set here.
+ * This is so that if the user logs into another locale they get their
+ * own description there rather then empty. It is not the C locale
+ * however, but the user created this entry herself so it's OK */
+ ensure_item_localefiled (ditem, GNOME_DESKTOP_ITEM_NAME);
+ ensure_item_localefiled (ditem, GNOME_DESKTOP_ITEM_GENERIC_NAME);
+ ensure_item_localefiled (ditem, GNOME_DESKTOP_ITEM_COMMENT);
dee->_priv->ui_dirty = FALSE;
}