Geekr/Icalk looks promising. Gloox + Gtkmm was exactly was I had in
mind before I found your project. However, the road will be long &
hard. :-) I don't mean it personal, but documenting in chinese instead
of simple english may prevent potential contributors.
This patch removes the expanders from the roster treeview and sorts
buddies with equal status and groups alphabetically. I prefer a
compact roster, just like Gajim has. What do you think?
Stephan
Index: src/BuddyView.cpp
===================================================================
--- src/BuddyView.cpp (revision 220)
+++ src/BuddyView.cpp (working copy)
@@ -45,6 +45,7 @@
append_column("ICON", buddyColumns.icon);
//append_column("ID", buddyColumns.id);
//append_column("Name", buddyColumns.nickname);
+ set_show_expanders(false);
/*
Gtk::TreeView::Column * col =
Index: src/BuddyView.h
===================================================================
--- src/BuddyView.h (revision 220)
+++ src/BuddyView.h (working copy)
@@ -195,8 +195,14 @@
/** TreeView的排序函数*/
int on_sort_compare(const Gtk::TreeModel::iterator & a,
const Gtk::TreeModel::iterator & b) {
- int result =
- (*a)[buddyColumns.status] - (*b)[buddyColumns.status];
+ int result;
+ if ((result =
+ (*a)[buddyColumns.status] - (*b)[buddyColumns.status])
== 0);
+ {
+ Glib::ustring an = (*a)[buddyColumns.nickname];
+ Glib::ustring bn = (*b)[buddyColumns.nickname];
+ result = an.compare(bn);
+ }
// if( 0 == result)
// return (*a)[buddyColumns.id] - (*b)
[buddyColumns.id] ;
return result;