]>
Commit | Line | Data |
---|---|---|
bdb504ba MK |
1 | diff -Nuard gnome-panel-2.4.1.orig/gnome-panel/ChangeLog gnome-panel-2.4.1/gnome-panel/ChangeLog |
2 | --- gnome-panel-2.4.1.orig/gnome-panel/ChangeLog 2003-10-14 12:46:22.000000000 +0200 | |
3 | +++ gnome-panel-2.4.1/gnome-panel/ChangeLog 2003-11-28 00:41:15.065892216 +0100 | |
4 | @@ -1,3 +1,10 @@ | |
5 | +2003-11-28 Marcin Krzyzanowski <krzak@linux.net.pl> | |
6 | + | |
7 | + * menu.c: (create_applets_menu): | |
8 | + Guess untranslated categories based on translated ones, what give | |
9 | + us better menu order with translated and untranslated (the same) | |
10 | + categories. Fix bug #127732 | |
11 | + | |
12 | 2003-10-13 Owen Taylor <otaylor@redhat.com> | |
13 | ||
14 | * gnome-panel/panel-stock-icons.c (panel_init_stock_icons): | |
702cc341 MK |
15 | diff -Nuard gnome-panel-2.4.1.orig/gnome-panel/menu.c gnome-panel-2.4.1/gnome-panel/menu.c |
16 | --- gnome-panel-2.4.1.orig/gnome-panel/menu.c 2003-10-14 12:46:30.000000000 +0200 | |
bdb504ba MK |
17 | +++ gnome-panel-2.4.1/gnome-panel/menu.c 2003-11-28 00:28:09.436326064 +0100 |
18 | @@ -2680,10 +2680,10 @@ | |
702cc341 MK |
19 | { |
20 | int c; | |
21 | ||
22 | - if ((c = strcmp (a->category, b->category))) | |
bdb504ba | 23 | + if ((c = g_utf8_collate (a->category, b->category))) |
702cc341 MK |
24 | return c; |
25 | ||
bdb504ba MK |
26 | - return strcmp (a->name, b->name); |
27 | + return g_utf8_collate (a->name, b->name); | |
28 | } | |
29 | ||
30 | static GSList * | |
31 | @@ -2711,7 +2711,7 @@ | |
32 | { | |
33 | GtkWidget *prev_menu = NULL; | |
34 | const char *prev_category = NULL; | |
35 | - int i; | |
36 | + int i,j,k; | |
37 | const GList *langs_glist; | |
38 | GSList *langs_gslist; | |
39 | GSList *applets = NULL; | |
40 | @@ -2771,6 +2771,20 @@ | |
41 | ||
42 | applets = g_slist_append (applets, applet); | |
43 | } | |
44 | + | |
45 | + /* try to guess translations looking for already translated categories */ | |
46 | + for (j = 0; j < g_slist_length(applets); j++) { | |
47 | + AppletMenuInfo *appletA = (AppletMenuInfo *) g_slist_nth_data (applets,j); | |
48 | + | |
49 | + if (!g_utf8_collate (appletA->category,appletA->untranslated_category)) { | |
50 | + for (k = 0; k < g_slist_length(applets); k++) { | |
51 | + AppletMenuInfo *appletB = (AppletMenuInfo *) g_slist_nth_data (applets,k); | |
52 | + | |
53 | + if (!g_utf8_collate (appletA->untranslated_category,appletB->untranslated_category)) | |
54 | + appletA->category = appletB->category; | |
55 | + } | |
56 | + } | |
57 | + } | |
58 | ||
59 | /* add internal action buttons */ | |
60 | applets = append_internal_applets (applets); |