diff options
author | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-05-10 05:30:20 +0000 |
---|---|---|
committer | hiro <hiro@ee746299-78ed-0310-b773-934348b2243d> | 2005-05-10 05:30:20 +0000 |
commit | db552efbbe847365a84b7a18e01f9365d405e410 (patch) | |
tree | 3c35d208d0e17803f625b7d2ffc505e78b8eb887 | |
parent | 07e70251d3521861d54cdb83748ce6c7f637f44e (diff) |
fixed compilation failure on GTK+ 2.4.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@239 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.ja | 6 | ||||
-rw-r--r-- | src/gtkutils.c | 25 | ||||
-rw-r--r-- | src/gtkutils.h | 3 | ||||
-rw-r--r-- | src/summaryview.c | 9 |
5 files changed, 43 insertions, 6 deletions
@@ -1,3 +1,9 @@ +2005-05-10 + + * src/summaryview.c + src/gtkutils.[ch]: fixed compilation failure on GTK+ 2.4 + (GTK+ 2.4 doesn't provide the way to unset the sort setting). + 2005-05-09 * src/editjpilot.c diff --git a/ChangeLog.ja b/ChangeLog.ja index 6d323600..5742030d 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,9 @@ +2005-05-10 + + * src/summaryview.c + src/gtkutils.[ch]: GTK+ 2.4 でコンパイルできないのを修正 + (GTK+ 2.4 はソートの設定を解除する方法を提供していない)。 + 2005-05-09 * src/editjpilot.c diff --git a/src/gtkutils.c b/src/gtkutils.c index 6993314d..8e5c16f1 100644 --- a/src/gtkutils.c +++ b/src/gtkutils.c @@ -32,6 +32,10 @@ #include <gtk/gtkcombo.h> #include <gtk/gtkbindings.h> #include <gtk/gtkitemfactory.h> +#include <gtk/gtktreemodel.h> +#include <gtk/gtktreesortable.h> +#include <gtk/gtktreeview.h> +#include <gtk/gtkversion.h> #include <stdlib.h> #include <stdarg.h> @@ -541,6 +545,27 @@ gboolean gtkut_tree_row_reference_equal(GtkTreeRowReference *ref1, return (result == 0); } +void gtkut_tree_sortable_unset_sort_column_id(GtkTreeSortable *sortable) +{ +#if GTK_CHECK_VERSION(2, 6, 0) + gtk_tree_sortable_set_sort_column_id + (sortable, GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, + GTK_SORT_ASCENDING); +#else + GtkTreeStore *store = GTK_TREE_STORE(sortable); + + g_return_if_fail(GTK_IS_TREE_STORE(sortable)); + + if (store->sort_column_id == -2 && store->order == GTK_SORT_ASCENDING) + return; + + store->sort_column_id = -2; + store->order = GTK_SORT_ASCENDING; + + gtk_tree_sortable_sort_column_changed(sortable); +#endif +} + gboolean gtkut_tree_view_find_collapsed_parent(GtkTreeView *treeview, GtkTreeIter *parent, GtkTreeIter *iter) diff --git a/src/gtkutils.h b/src/gtkutils.h index ae72db38..bb936c19 100644 --- a/src/gtkutils.h +++ b/src/gtkutils.h @@ -156,6 +156,9 @@ gboolean gtkut_tree_row_reference_get_iter gboolean gtkut_tree_row_reference_equal (GtkTreeRowReference *ref1, GtkTreeRowReference *ref2); +void gtkut_tree_sortable_unset_sort_column_id + (GtkTreeSortable *sortable); + gboolean gtkut_tree_view_find_collapsed_parent (GtkTreeView *treeview, GtkTreeIter *parent, diff --git a/src/summaryview.c b/src/summaryview.c index e6e2e0fc..864184e6 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -748,9 +748,8 @@ void summary_clear_list(SummaryView *summaryview) gtk_tree_store_clear(summaryview->store); gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(summaryview->store)); - gtk_tree_sortable_set_sort_column_id - (GTK_TREE_SORTABLE(summaryview->store), - GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, GTK_SORT_ASCENDING); + gtkut_tree_sortable_unset_sort_column_id + (GTK_TREE_SORTABLE(summaryview->store)); } void summary_clear_all(SummaryView *summaryview) @@ -1596,9 +1595,7 @@ void summary_sort(SummaryView *summaryview, if (col_type == -1) { item->sort_key = SORT_BY_NONE; item->sort_type = SORT_ASCENDING; - gtk_tree_sortable_set_sort_column_id - (sortable, GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID, - GTK_SORT_ASCENDING); + gtkut_tree_sortable_unset_sort_column_id(sortable); summary_set_column_titles(summaryview); summary_set_menu_sensitive(summaryview); return; |