From 694ca25127705330b3876cc524a2ebf83897846d Mon Sep 17 00:00:00 2001 From: Roman Moravcik Date: Tue, 19 Jan 2010 14:50:24 +0100 Subject: [PATCH] Sort alphabetically list of encodings --- applet/cpmpsubtitles.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/applet/cpmpsubtitles.c b/applet/cpmpsubtitles.c index c46f498..9e45559 100644 --- a/applet/cpmpsubtitles.c +++ b/applet/cpmpsubtitles.c @@ -69,8 +69,6 @@ static const gint font_sizes[] = typedef enum { - SUBTITLE_ENCODING_CURRENT_LOCALE, - SUBTITLE_ENCODING_ISO_8859_6, SUBTITLE_ENCODING_IBM_864, SUBTITLE_ENCODING_MAC_ARABIC, @@ -174,6 +172,8 @@ typedef enum SUBTITLE_ENCODING_VISCII, SUBTITLE_ENCODING_WINDOWS_1258, + SUBTITLE_ENCODING_CURRENT_LOCALE, + SUBTITLE_ENCODING_LAST } SubtitleEncodingIndex; @@ -184,8 +184,6 @@ typedef struct { } SubtitleEncoding; static SubtitleEncoding encodings[] = { - {SUBTITLE_ENCODING_CURRENT_LOCALE, NULL, N_("Current Locale")}, - {SUBTITLE_ENCODING_ISO_8859_6, "ISO-8859-6", N_("Arabic")}, {SUBTITLE_ENCODING_IBM_864, "IBM864", N_("Arabic")}, {SUBTITLE_ENCODING_MAC_ARABIC, "MAC_ARABIC", N_("Arabic")}, @@ -287,7 +285,9 @@ static SubtitleEncoding encodings[] = { {SUBTITLE_ENCODING_TCVN, "TCVN", N_("Vietnamese")}, {SUBTITLE_ENCODING_VISCII, "VISCII", N_("Vietnamese")}, - {SUBTITLE_ENCODING_WINDOWS_1258, "WINDOWS-1258", N_("Vietnamese")} + {SUBTITLE_ENCODING_WINDOWS_1258, "WINDOWS-1258", N_("Vietnamese")}, + + {SUBTITLE_ENCODING_CURRENT_LOCALE, NULL, N_("Current Locale")} }; static gboolean @@ -403,6 +403,16 @@ cmp_families (const void *a, return g_utf8_collate (a_name, b_name); } +static int +cmp_encodings (const void *a, + const void *b) +{ + const SubtitleEncoding *a_encoding = (SubtitleEncoding *) a; + const SubtitleEncoding *b_encoding = (SubtitleEncoding *) b; + + return g_utf8_collate (_(a_encoding->name), _(b_encoding->name)); +} + static void font_selector_dialog (HildonButton *button, gpointer user_data) @@ -566,6 +576,8 @@ create_encoding_selector (void) selector = hildon_touch_selector_new_text (); + qsort (encodings, SUBTITLE_ENCODING_LAST - 1, sizeof (SubtitleEncoding), cmp_encodings); + while (index < SUBTITLE_ENCODING_LAST) { const gchar *encoding = NULL; @@ -577,7 +589,7 @@ create_encoding_selector (void) } hildon_touch_selector_insert_text (HILDON_TOUCH_SELECTOR (selector), - encodings[index].index, + index, encoding); index++; } -- 1.7.9.5