[Debtags-commits] [svn] r1374 - debtags-edit/trunk/src

Enrico Zini enrico at costa.debian.org
Sun Sep 25 13:24:17 UTC 2005


Author: enrico
Date: Sun Sep 25 13:24:17 2005
New Revision: 1374

Modified:
   debtags-edit/trunk/src/FilterPanel.cc
   debtags-edit/trunk/src/FilterPanel.h
Log:
Sort the results of the FilterPanel


Modified: debtags-edit/trunk/src/FilterPanel.cc
==============================================================================
--- debtags-edit/trunk/src/FilterPanel.cc	(original)
+++ debtags-edit/trunk/src/FilterPanel.cc	Sun Sep 25 13:24:17 2005
@@ -133,14 +133,23 @@
 
 	// Create the Tree model
 	itemListModel = Gtk::ListStore::create(itemListModelColumns);
-	itemList.set_model(itemListModel);
+	sortedModel = Gtk::TreeModelSort::create(itemListModel);
+
+	itemList.set_model(sortedModel);
 
 	// Add the view columns
-	itemList.append_column("Name", itemListModelColumns.name);
-	itemList.append_column("Description", itemListModelColumns.desc);
+	Gtk::TreeViewColumn* column;
+	int count;
 
-	itemList.get_column(0)->set_resizable(true);
-	itemList.get_column(1)->set_resizable(true);
+	count = itemList.append_column("Name", itemListModelColumns.name);
+	column = itemList.get_column(count - 1);
+	column->set_resizable(true);
+	column->set_sort_column(itemListModelColumns.name);
+
+	count = itemList.append_column("Description", itemListModelColumns.desc);
+	column = itemList.get_column(count - 1);
+	column->set_resizable(true);
+	column->set_sort_column(itemListModelColumns.desc);
 
 	Glib::RefPtr<Gtk::TreeSelection> itemListSelection = itemList.get_selection();
 	itemListSelection->set_mode(Gtk::SELECTION_SINGLE);
@@ -618,14 +627,14 @@
 
 	if (doc.subCollection.hasItem(doc.current()))
 	{
-		for (Gtk::ListStore::const_iterator i = itemListModel->children().begin();
-				i != itemListModel->children().end(); i++)
+		for (Gtk::ListStore::const_iterator i = sortedModel->children().begin();
+				i != sortedModel->children().end(); i++)
 		{
 			Package thisPkg = (*i)[itemListModelColumns.pkg];
 			if (thisPkg == doc.current())
 			{
-				sel->select(itemListModel->get_path(i));
-				itemList.scroll_to_row(itemListModel->get_path(i));
+				sel->select(sortedModel->get_path(i));
+				itemList.scroll_to_row(sortedModel->get_path(i));
 				break;
 			}
 		}

Modified: debtags-edit/trunk/src/FilterPanel.h
==============================================================================
--- debtags-edit/trunk/src/FilterPanel.h	(original)
+++ debtags-edit/trunk/src/FilterPanel.h	Sun Sep 25 13:24:17 2005
@@ -31,6 +31,7 @@
 #include <gtkmm/frame.h>
 #include <gtkmm/paned.h>
 #include <gtkmm/treeview.h>
+#include <gtkmm/treemodelsort.h>
 #include <gtkmm/liststore.h>
 #include <gtkmm/scrolledwindow.h>
 #include <gtkmm/optionmenu.h>
@@ -61,6 +62,7 @@
 	Gtk::TreeView itemList;
 	Gtk::ScrolledWindow scrolledItemList;
 	Glib::RefPtr<Gtk::ListStore> itemListModel;
+	Glib::RefPtr<Gtk::TreeModelSort> sortedModel;
 	TagSelector tagSelector;
 
 	int specialID;



More information about the Debtags-commits mailing list