blam r569 - in trunk: . libblam src



Author: cmartin
Date: Sat Apr 26 09:27:17 2008
New Revision: 569
URL: http://svn.gnome.org/viewvc/blam?rev=569&view=rev

Log:
Set ItemView's sort function in managed code.

This removes another function in libblam.so


Modified:
   trunk/ChangeLog
   trunk/libblam/blam-utils.c
   trunk/src/ItemList.cs
   trunk/src/Utils.cs

Modified: trunk/libblam/blam-utils.c
==============================================================================
--- trunk/libblam/blam-utils.c	(original)
+++ trunk/libblam/blam-utils.c	Sat Apr 26 09:27:17 2008
@@ -30,15 +30,6 @@
 }
 
 void 
-blam_tree_model_set_default_sort_func (GtkTreeModel *model, SortFunc_ func)
-{
-	gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (model),
-						 (GtkTreeIterCompareFunc) tree_iter_compare_func,
-						 func,
-						 NULL);
-}
-
-void 
 blam_tree_model_set_sort_func (GtkTreeModel *model, int col, SortFunc_ func)
 {
 	gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (model),

Modified: trunk/src/ItemList.cs
==============================================================================
--- trunk/src/ItemList.cs	(original)
+++ trunk/src/ItemList.cs	Sat Apr 26 09:27:17 2008
@@ -55,16 +55,17 @@
 	    this.Model = new ListStore (typeof(Imendio.Blam.Item));
 	    this.HeadersVisible = false;
 
+        (Model as ListStore).DefaultSortFunc = CompareFunc;
+        SetSortOrder(Conf.Get(Preference.REVERSE_ENTRIES, false));
+
 	    Conf.AddNotify (Conf.GetFullKey(Preference.REVERSE_ENTRIES), new NotifyEventHandler (ConfNotifyHandler));
 
-	    Resort ();
 	}
 	
 	public void ItemAdded (Imendio.Blam.Item item)
 	{
 	    if (channel != null && channel == item.Channel) {
 		((ListStore)this.Model).AppendValues(item);
-		Resort ();
 	    }
 	}
 
@@ -225,17 +226,13 @@
         return false;
     }
 
-	private SortFunc mItemSortFunc;
-	private int ItemSortFunc(IntPtr a, IntPtr b)
-	{
-	    TreeIter iterA = TreeIter.New(a);
-	    TreeIter iterB = TreeIter.New(b);
-
-	    Item itemA = (Item) this.Model.GetValue (iterA, 0);
-	    Item itemB = (Item) this.Model.GetValue (iterB, 0);
+    private int CompareFunc(TreeModel model, TreeIter a, TreeIter b)
+    {
+        Item ia = Model.GetValue(a, 0) as Item;
+        Item ib = Model.GetValue(b, 0) as Item;
 
-	    return itemA.PubDate.CompareTo (itemB.PubDate);
-	}
+        return ia.PubDate.CompareTo(ib.PubDate);
+    }
 
 	protected override bool OnKeyPressEvent (EventKey kEvent)
 	{
@@ -276,18 +273,6 @@
 	    }
 	}
 	
-	private void Resort ()
-	{
-	    bool reverseEntries;
-
-	    mItemSortFunc = new SortFunc (ItemSortFunc);
-	    Utils.TreeSetDefaultSortFunc(this.Model.Handle,
-					 mItemSortFunc);
-	    
-	    reverseEntries = Conf.Get (Preference.REVERSE_ENTRIES, false);
-	    SetSortOrder (reverseEntries);
-	}
-	
 	private void SetSortOrder (bool reverseEntries)
 	{
 	    SortType sortType = SortType.Ascending;

Modified: trunk/src/Utils.cs
==============================================================================
--- trunk/src/Utils.cs	(original)
+++ trunk/src/Utils.cs	Sat Apr 26 09:27:17 2008
@@ -22,13 +22,6 @@
 					     uint   time);
 
     public class Utils {
-	[DllImport("libblam.so")]
-	    static extern void blam_tree_model_set_default_sort_func (IntPtr w,
-								      SortFunc f);
-	public static void TreeSetDefaultSortFunc(IntPtr w, SortFunc f)
-	{
-	    blam_tree_model_set_default_sort_func(w, f);
-	}
 
 	[DllImport("libblam.so")]
 	    static extern void blam_tree_model_set_sort_func (IntPtr w,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]