aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-09-11 07:03:42 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2013-09-11 07:03:42 +0000
commitb03a054ef60f339f79c6773471c7baa9bc9c36f7 (patch)
tree020d2c85c641c5a617aa776f13ce21cb4b62ff02
parent08eb5bedaee6baa18cd9071f99a7be4ae9bef5a1 (diff)
added 'Last 30 days' to the quick search menu.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@3279 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog5
-rw-r--r--libsylph/folder.c6
-rw-r--r--src/quick_search.c11
-rw-r--r--src/quick_search.h3
4 files changed, 21 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index fb959c5f..a86fbae8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-09-11
+
+ * src/quick_search.[ch]
+ libsylph/folder.c: added 'Last 30 days' to the quick search menu.
+
2013-09-10
* src/imageview.[ch]
diff --git a/libsylph/folder.c b/libsylph/folder.c
index 5f84990b..d67d61b1 100644
--- a/libsylph/folder.c
+++ b/libsylph/folder.c
@@ -1700,6 +1700,8 @@ static gboolean folder_build_tree(GNode *node, gpointer data)
qsearch_cond_type = 7;
else if (!strcmp(attr->value, "in-addressbook"))
qsearch_cond_type = 8;
+ else if (!strcmp(attr->value, "last30"))
+ qsearch_cond_type = 9;
} else if (!strcmp(attr->name, "account_id")) {
account = account_find_from_id(atoi(attr->value));
if (!account) g_warning("account_id: %s not found\n",
@@ -1878,7 +1880,7 @@ static void folder_write_list_recursive(GNode *node, gpointer data)
"mark", "unread", "mime", "to"};
static gchar *qsearch_cond_str[] = {"all", "unread", "mark", "clabel",
"mime", "w1day", "last5", "last7",
- "in-addressbook"};
+ "in-addressbook", "last30"};
g_return_if_fail(node != NULL);
g_return_if_fail(fp != NULL);
@@ -1937,7 +1939,7 @@ static void folder_write_list_recursive(GNode *node, gpointer data)
fprintf(fp, " sort_type=\"descending\"");
}
if (item->qsearch_cond_type > 0 &&
- item->qsearch_cond_type < 9) {
+ item->qsearch_cond_type < 10) {
fprintf(fp, " qsearch_cond=\"%s\"",
qsearch_cond_str[item->qsearch_cond_type]);
}
diff --git a/src/quick_search.c b/src/quick_search.c
index 6d63c142..4c212956 100644
--- a/src/quick_search.c
+++ b/src/quick_search.c
@@ -48,7 +48,8 @@ static const struct {
{QS_W1DAY, -1},
{QS_LAST5, -1},
{QS_LAST7, -1},
- {QS_IN_ADDRESSBOOK, -1}
+ {QS_IN_ADDRESSBOOK, -1},
+ {QS_LAST30, -1}
};
static GdkColor dim_color = {0, COLOR_DIM, COLOR_DIM, COLOR_DIM};
@@ -113,6 +114,7 @@ QuickSearch *quick_search_create(SummaryView *summaryview)
COND_MENUITEM_ADD(_("Within 1 day"), QS_W1DAY);
COND_MENUITEM_ADD(_("Last 5 days"), QS_LAST5);
COND_MENUITEM_ADD(_("Last 7 days"), QS_LAST7);
+ COND_MENUITEM_ADD(_("Last 30 days"), QS_LAST30);
MENUITEM_ADD(menu, menuitem, NULL, 0);
COND_MENUITEM_ADD(_("In addressbook"), QS_IN_ADDRESSBOOK);
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu);
@@ -257,6 +259,13 @@ GSList *quick_search_filter(QuickSearch *qsearch, QSearchCondType type,
status_rule = filter_rule_new("Status filter rule", FLT_OR,
cond_list, NULL);
break;
+ case QS_LAST30:
+ cond = filter_cond_new(FLT_COND_AGE_GREATER, 0, FLT_NOT_MATCH,
+ NULL, "30");
+ cond_list = g_slist_append(cond_list, cond);
+ status_rule = filter_rule_new("Status filter rule", FLT_OR,
+ cond_list, NULL);
+ break;
case QS_IN_ADDRESSBOOK:
cond = filter_cond_new(FLT_COND_HEADER, FLT_IN_ADDRESSBOOK, 0,
"From", NULL);
diff --git a/src/quick_search.h b/src/quick_search.h
index b21b3468..4628b481 100644
--- a/src/quick_search.h
+++ b/src/quick_search.h
@@ -36,7 +36,8 @@ typedef enum
QS_W1DAY,
QS_LAST5,
QS_LAST7,
- QS_IN_ADDRESSBOOK
+ QS_IN_ADDRESSBOOK,
+ QS_LAST30
} QSearchCondType;
struct _QuickSearch