2007-10-24 [colin] 3.0.2cvs101
[claws.git] / src / summaryview.c
index 06ad94f573711ed55c8f3a37214b991de827649f..fb0fedcf1f2ffa12900ab308f977f32317f3dc4a 100644 (file)
@@ -5582,15 +5582,26 @@ static void summary_tags_menu_item_apply_tags_activate_cb(GtkWidget *widget,
        tag_apply_open(summary_get_selection(summaryview));     
 }
 
+static gint summary_tag_cmp_list(gconstpointer a, gconstpointer b)
+{
+       gint id_a = GPOINTER_TO_INT(a);
+       gint id_b = GPOINTER_TO_INT(b);
+       const gchar *tag_a = tags_get_tag(id_a);
+       const gchar *tag_b = tags_get_tag(id_b);
+       
+       return strcmp2(tag_a, tag_b);
+}
+
 static void summary_tags_menu_create(SummaryView *summaryview, gboolean refresh)
 {
        GtkWidget *label_menuitem;
        GtkWidget *menu;
        GtkWidget *item;
        GSList *cur = tags_get_list();
-       GSList *orig = cur;
+       GSList *orig = NULL;
        gboolean existing_tags = FALSE;
 
+       cur = orig = g_slist_sort(cur, summary_tag_cmp_list);
        label_menuitem = gtk_item_factory_get_item(summaryview->popupfactory,
                                                   "/Tags");
        g_signal_connect(G_OBJECT(label_menuitem), "activate",