aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/contact-editor/e-contact-editor-address.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2002-01-18 22:31:04 +0800
committerChris Lahey <clahey@src.gnome.org>2002-01-18 22:31:04 +0800
commit9380c68a1a8f6232a1faa0c169eee6b6c4ae889f (patch)
tree5f6bd1c73199a3d1d1cc9f7eab87c51e0d52278f /addressbook/gui/contact-editor/e-contact-editor-address.c
parent49596d2272192f436274be5318f16af8f08b52cb (diff)
downloadgsoc2013-evolution-9380c68a1a8f6232a1faa0c169eee6b6c4ae889f.tar
gsoc2013-evolution-9380c68a1a8f6232a1faa0c169eee6b6c4ae889f.tar.gz
gsoc2013-evolution-9380c68a1a8f6232a1faa0c169eee6b6c4ae889f.tar.bz2
gsoc2013-evolution-9380c68a1a8f6232a1faa0c169eee6b6c4ae889f.tar.lz
gsoc2013-evolution-9380c68a1a8f6232a1faa0c169eee6b6c4ae889f.tar.xz
gsoc2013-evolution-9380c68a1a8f6232a1faa0c169eee6b6c4ae889f.tar.zst
gsoc2013-evolution-9380c68a1a8f6232a1faa0c169eee6b6c4ae889f.zip
Sort country list. Country list moves from fulladdr.glade to
2002-01-18 Christopher James Lahey <clahey@ximian.com> * gui/contact-editor/e-contact-editor-address.c (fill_in_countries), gui/contact-editor/fulladdr.glade: Sort country list. Country list moves from fulladdr.glade to e-contact-editor-address.c, but only a few country names have actually changed. Fixes Ximian bug #16545. svn path=/trunk/; revision=15354
Diffstat (limited to 'addressbook/gui/contact-editor/e-contact-editor-address.c')
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor-address.c285
1 files changed, 284 insertions, 1 deletions
diff --git a/addressbook/gui/contact-editor/e-contact-editor-address.c b/addressbook/gui/contact-editor/e-contact-editor-address.c
index a826849f2f..1e55217e48 100644
--- a/addressbook/gui/contact-editor/e-contact-editor-address.c
+++ b/addressbook/gui/contact-editor/e-contact-editor-address.c
@@ -20,11 +20,18 @@
*/
#include <config.h>
+
+#include <e-contact-editor-address.h>
+
+#include <glib.h>
+#include <libgnome/gnome-defs.h>
+#include <libgnome/gnome-i18n.h>
#include <libgnomeui/gnome-stock.h>
#include <gal/widgets/e-unicode.h>
#include <gal/widgets/e-gui-utils.h>
-#include <e-contact-editor-address.h>
#include <gtk/gtkcombo.h>
+#include <string.h>
+#include <stdlib.h>
static void e_contact_editor_address_init (EContactEditorAddress *card);
static void e_contact_editor_address_class_init (EContactEditorAddressClass *klass);
@@ -116,6 +123,281 @@ setup_tab_order(GladeXML *gui)
}
}
+static char * countries [] = {
+ N_("United States"),
+ N_("Afghanistan"),
+ N_("Albania"),
+ N_("Algeria"),
+ N_("American Samoa"),
+ N_("Andorra"),
+ N_("Angola"),
+ N_("Anguilla"),
+ N_("Antarctica"),
+ N_("Antigua And Barbuda"),
+ N_("Argentina"),
+ N_("Armenia"),
+ N_("Aruba"),
+ N_("Australia"),
+ N_("Austria"),
+ N_("Azerbaijan"),
+ N_("Bahamas"),
+ N_("Bahrain"),
+ N_("Bangladesh"),
+ N_("Barbados"),
+ N_("Belarus"),
+ N_("Belgium"),
+ N_("Belize"),
+ N_("Benin"),
+ N_("Bermuda"),
+ N_("Bhutan"),
+ N_("Bolivia"),
+ N_("Bosnia And Herzegowina"),
+ N_("Botswana"),
+ N_("Bouvet Island"),
+ N_("Brazil"),
+ N_("British Indian Ocean Territory"),
+ N_("Brunei Darussalam"),
+ N_("Bulgaria"),
+ N_("Burkina Faso"),
+ N_("Burundi"),
+ N_("Cambodia"),
+ N_("Cameroon"),
+ N_("Canada"),
+ N_("Cape Verde"),
+ N_("Cayman Islands"),
+ N_("Central African Republic"),
+ N_("Chad"),
+ N_("Chile"),
+ N_("China"),
+ N_("Christmas Island"),
+ N_("Cocos (Keeling) Islands"),
+ N_("Colombia"),
+ N_("Comoros"),
+ N_("Congo"),
+ N_("Congo"),
+ N_("Cook Islands"),
+ N_("Costa Rica"),
+ N_("Cote d'Ivoire"),
+ N_("Croatia"),
+ N_("Cuba"),
+ N_("Cyprus"),
+ N_("Czech Republic"),
+ N_("Denmark"),
+ N_("Djibouti"),
+ N_("Dominica"),
+ N_("Dominican Republic"),
+ N_("East Timor"),
+ N_("Ecuador"),
+ N_("Egypt"),
+ N_("El Salvador"),
+ N_("Equatorial Guinea"),
+ N_("Eritrea"),
+ N_("Estonia"),
+ N_("Ethiopia"),
+ N_("Falkland Islands"),
+ N_("Faroe Islands"),
+ N_("Fiji"),
+ N_("Finland"),
+ N_("France"),
+ N_("French Guiana"),
+ N_("French Polynesia"),
+ N_("French Southern Territories"),
+ N_("Gabon"),
+ N_("Gambia"),
+ N_("Georgia"),
+ N_("Germany"),
+ N_("Ghana"),
+ N_("Gibraltar"),
+ N_("Greece"),
+ N_("Greenland"),
+ N_("Grenada"),
+ N_("Guadeloupe"),
+ N_("Guam"),
+ N_("Guatemala"),
+ N_("Guinea"),
+ N_("Guinea-bissau"),
+ N_("Guyana"),
+ N_("Haiti"),
+ N_("Heard And McDonald Islands"),
+ N_("Holy See"),
+ N_("Honduras"),
+ N_("Hong Kong"),
+ N_("Hungary"),
+ N_("Iceland"),
+ N_("India"),
+ N_("Indonesia"),
+ N_("Ireland"),
+ N_("Israel"),
+ N_("Italy"),
+ N_("Jamaica"),
+ N_("Japan"),
+ N_("Jordan"),
+ N_("Kazakhstan"),
+ N_("Kenya"),
+ N_("Kiribati"),
+ N_("Korea, Republic Of"),
+ N_("Kuwait"),
+ N_("Kyrgyzstan"),
+ N_("Laos"),
+ N_("Latvia"),
+ N_("Lebanon"),
+ N_("Lesotho"),
+ N_("Liberia"),
+ N_("Liechtenstein"),
+ N_("Lithuania"),
+ N_("Luxembourg"),
+ N_("Macau"),
+ N_("Macedonia"),
+ N_("Madagascar"),
+ N_("Malawi"),
+ N_("Malaysia"),
+ N_("Maldives"),
+ N_("Mali"),
+ N_("Malta"),
+ N_("Marshall Islands"),
+ N_("Martinique"),
+ N_("Mauritania"),
+ N_("Mauritius"),
+ N_("Mayotte"),
+ N_("Mexico"),
+ N_("Micronesia"),
+ N_("Moldova, Republic Of"),
+ N_("Monaco"),
+ N_("Mongolia"),
+ N_("Montserrat"),
+ N_("Morocco"),
+ N_("Mozambique"),
+ N_("Myanmar"),
+ N_("Namibia"),
+ N_("Nauru"),
+ N_("Nepal"),
+ N_("Netherlands"),
+ N_("Netherlands Antilles"),
+ N_("New Caledonia"),
+ N_("New Zealand"),
+ N_("Nicaragua"),
+ N_("Niger"),
+ N_("Nigeria"),
+ N_("Niue"),
+ N_("Norfolk Island"),
+ N_("Northern Mariana Islands"),
+ N_("Norway"),
+ N_("Oman"),
+ N_("Pakistan"),
+ N_("Palau"),
+ N_("Palestinian Territory"),
+ N_("Panama"),
+ N_("Papua New Guinea"),
+ N_("Paraguay"),
+ N_("Peru"),
+ N_("Philippines"),
+ N_("Pitcairn"),
+ N_("Poland"),
+ N_("Portugal"),
+ N_("Puerto Rico"),
+ N_("Qatar"),
+ N_("Reunion"),
+ N_("Romania"),
+ N_("Russian Federation"),
+ N_("Rwanda"),
+ N_("Saint Kitts And Nevis"),
+ N_("Saint Lucia"),
+ N_("Saint Vincent And The Grena-dines"),
+ N_("Samoa"),
+ N_("San Marino"),
+ N_("Sao Tome And Principe"),
+ N_("Saudi Arabia"),
+ N_("Senegal"),
+ N_("Seychelles"),
+ N_("Sierra Leone"),
+ N_("Singapore"),
+ N_("Slovakia"),
+ N_("Slovenia"),
+ N_("Solomon Islands"),
+ N_("Somalia"),
+ N_("South Africa"),
+ N_("South Georgia And The South Sandwich Islands"),
+ N_("Spain"),
+ N_("Sri Lanka"),
+ N_("St. Helena"),
+ N_("St. Pierre And Miquelon"),
+ N_("Sudan"),
+ N_("Suriname"),
+ N_("Svalbard And Jan Mayen Islands"),
+ N_("Swaziland"),
+ N_("Sweden"),
+ N_("Switzerland"),
+ N_("Taiwan"),
+ N_("Tajikistan"),
+ N_("Tanzania, United Republic Of"),
+ N_("Thailand"),
+ N_("Togo"),
+ N_("Tokelau"),
+ N_("Tonga"),
+ N_("Trinidad And Tobago"),
+ N_("Tunisia"),
+ N_("Turkey"),
+ N_("Turkmenistan"),
+ N_("Turks And Caicos Islands"),
+ N_("Tuvalu"),
+ N_("Uganda"),
+ N_("Ukraine"),
+ N_("United Arab Emirates"),
+ N_("United Kingdom"),
+ N_("United States Minor Outlying Islands"),
+ N_("Uruguay"),
+ N_("Uzbekistan"),
+ N_("Vanuatu"),
+ N_("Venezuela"),
+ N_("Viet Nam"),
+ N_("Virgin Islands, British"),
+ N_("Virgin Islands, U.S."),
+ N_("Wallis And Futuna Islands"),
+ N_("Western Sahara"),
+ N_("Yemen"),
+ N_("Yugoslavia"),
+ N_("Zambia"),
+ N_("Zimbabwe"),
+ NULL
+};
+
+static int
+compare_func (const void *voida, const void *voidb)
+{
+ char * const *stringa = voida, * const *stringb = voidb;
+
+ return strcoll (*stringa, *stringb);
+}
+
+static void
+fill_in_countries (GladeXML *gui)
+{
+ GtkCombo *combo;
+ combo = (GtkCombo *) glade_xml_get_widget(gui, "combo-country");
+ if (combo && GTK_IS_COMBO (combo)) {
+ static gboolean sorted = FALSE;
+ static GList *country_list;
+ if (!sorted) {
+ int i;
+ char *locale;
+
+ for (i = 0; countries[i]; i++) {
+ countries[i] = _(countries[i]);
+ }
+
+ locale = setlocale (LC_COLLATE, NULL);
+ qsort (countries + 1, i - 1, sizeof (countries[0]), compare_func);
+ country_list = NULL;
+ for (i = 0; countries[i]; i++) {
+ country_list = g_list_prepend (country_list, countries[i]);
+ }
+ country_list = g_list_reverse (country_list);
+ sorted = TRUE;
+ }
+ gtk_combo_set_popdown_strings (combo, country_list);
+ }
+}
+
static void
e_contact_editor_address_init (EContactEditorAddress *e_contact_editor_address)
{
@@ -136,6 +418,7 @@ e_contact_editor_address_init (EContactEditorAddress *e_contact_editor_address)
e_contact_editor_address->gui = gui;
setup_tab_order (gui);
+ fill_in_countries (gui);
widget = glade_xml_get_widget(gui, "table-checkaddress");
gtk_widget_ref(widget);