Changeset 3467


Ignore:
Timestamp:
11/21/07 17:11:23 (6 years ago)
Author:
chris
Message:
  • src/sms-contacts.c: (contacts_iter_compare_func), (sms_contacts_page_new): Add a sort function for the contacts
Location:
trunk/src/target/OM-2007.2/applications/openmoko-messages2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007.2/applications/openmoko-messages2/ChangeLog

    r3465 r3467  
     12007-11-21  Chris Lord  <chris@openedhand.com> 
     2 
     3        * src/sms-contacts.c: (contacts_iter_compare_func), 
     4        (sms_contacts_page_new): 
     5        Add a sort function for the contacts 
     6 
    172007-11-21  Chris Lord  <chris@openedhand.com> 
    28 
  • trunk/src/target/OM-2007.2/applications/openmoko-messages2/src/sms-contacts.c

    r3465 r3467  
    2121#include <libmokoui2/moko-finger-scroll.h> 
    2222#include <libmokoui2/moko-search-bar.h> 
    23 #include <config.h> 
     23#include <string.h> 
     24#ifdef HAVE_CONFIG_H 
     25#  include <config.h> 
     26#endif 
    2427 
    2528/* Following two functions taken from pimlico Contacts */ 
     
    177180} 
    178181 
     182static gint 
     183contacts_iter_compare_func (GtkTreeModel *model, GtkTreeIter *a, 
     184                            GtkTreeIter *b, SmsData *data) 
     185{ 
     186        gint result; 
     187        gchar *name1, *name2, *name1c, *name2c; 
     188         
     189        gtk_tree_model_get (model, a, COL_NAME, &name1, -1); 
     190        gtk_tree_model_get (model, b, COL_NAME, &name2, -1); 
     191         
     192        name1c = g_utf8_casefold (name1, -1); 
     193        name2c = g_utf8_casefold (name2, -1); 
     194         
     195        if (name1c && name2c) result = strcmp (name1c, name2c); 
     196        else if (name1c) result = 1; 
     197        else if (name2c) result = -1; 
     198        else result = 0; 
     199         
     200        g_free (name1c); 
     201        g_free (name1); 
     202        g_free (name2c); 
     203        g_free (name2); 
     204         
     205        return result; 
     206} 
     207 
    179208GtkWidget * 
    180209sms_contacts_page_new (SmsData *data) 
     
    232261 
    233262        /* Create contacts model */ 
    234         data->contacts_store = gtk_list_store_new (COL_LAST, 
     263        data->contacts_store = (GtkTreeModel *)gtk_list_store_new (COL_LAST, 
    235264                G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, GDK_TYPE_PIXBUF); 
     265        gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE ( 
     266                data->contacts_store), COL_NAME, 
     267                (GtkTreeIterCompareFunc)contacts_iter_compare_func, 
     268                data, NULL); 
     269        gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE ( 
     270                data->contacts_store), COL_NAME, GTK_SORT_ASCENDING); 
    236271        data->contacts = g_hash_table_new_full (g_str_hash, g_str_equal, 
    237272                (GDestroyNotify)g_free, (GDestroyNotify)free_iter_slice); 
Note: See TracChangeset for help on using the changeset viewer.