aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2007-09-13 08:15:30 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2007-09-13 08:15:30 +0000
commit1c8ead7fa931806f3b17208afd191df27f08ffa9 (patch)
tree98af00b08d2f107277a118c669a00d10fcce5cd0
parent60afaca7f0fc0eafad37b26bfd7050470da9b994 (diff)
summaryview.c: compare using simpilfied To strings.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1898 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.ja5
-rw-r--r--src/summaryview.c29
3 files changed, 38 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2d38fc0c..473e436d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2007-09-13
+ * src/summaryview.c: summary_cmp_by_to(): compare using simpilfied
+ To strings.
+
+2007-09-13
+
* libsylph/procheader.[ch]: procheader_get_toname(): added.
* src/summaryview.c: summary_set_row(): simplify To headers.
diff --git a/ChangeLog.ja b/ChangeLog.ja
index f8c4e7e0..56481b03 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,10 @@
2007-09-13
+ * src/summaryview.c: summary_cmp_by_to(): 簡略化した To ヘッダを
+ 使用して比較。
+
+2007-09-13
+
* libsylph/procheader.[ch]: procheader_get_toname(): 追加。
* src/summaryview.c: summary_set_row(): To ヘッダを簡略化するように
した。
diff --git a/src/summaryview.c b/src/summaryview.c
index 6799dec4..32b464c7 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -6252,10 +6252,37 @@ static gint func_name(GtkTreeModel *model, \
}
CMP_FUNC_DEF(summary_cmp_by_from, fromname)
-CMP_FUNC_DEF(summary_cmp_by_to, to);
#undef CMP_FUNC_DEF
+static gint summary_cmp_by_to(GtkTreeModel *model,
+ GtkTreeIter *a, GtkTreeIter *b,
+ gpointer data)
+{
+ MsgInfo *msginfo_a = NULL, *msginfo_b = NULL;
+ gchar *to_a = NULL, *to_b = NULL;
+ gint ret;
+
+ gtk_tree_model_get(model, a, S_COL_MSG_INFO, &msginfo_a,
+ S_COL_TO, &to_a, -1);
+ gtk_tree_model_get(model, b, S_COL_MSG_INFO, &msginfo_b,
+ S_COL_TO, &to_b, -1);
+
+ if (!msginfo_a || !msginfo_b) {
+ g_free(to_b);
+ g_free(to_a);
+ return 0;
+ }
+
+ ret = g_ascii_strcasecmp(to_a ? to_a : "", to_b ? to_b : "");
+
+ g_free(to_b);
+ g_free(to_a);
+
+ return (ret != 0) ? ret :
+ (msginfo_a->date_t - msginfo_b->date_t);
+}
+
static gint summary_cmp_by_subject(GtkTreeModel *model,
GtkTreeIter *a, GtkTreeIter *b,
gpointer data)