NEW - bug 191522: Provide full text search functionality over task
comments 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=191522

improve date-range content suggestions.
diff --git a/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/IndexSearchHandler.java b/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/IndexSearchHandler.java
index 5c1f52b..0821120 100644
--- a/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/IndexSearchHandler.java
+++ b/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/IndexSearchHandler.java
@@ -145,8 +145,20 @@
 					}

 

 				} else {

-					GregorianCalendar calendar = new GregorianCalendar();

 					final Date now = new Date();

+					final Date dateSearchUpperBound;

+					final Date dateSearchOneWeekLowerBound;

+					{

+						GregorianCalendar calendar = new GregorianCalendar();

+

+						calendar.setTime(now);

+						calendar.add(Calendar.DAY_OF_WEEK, 1); // one day in future due to GMT conversion in index

+						dateSearchUpperBound = calendar.getTime();

+

+						calendar.setTime(now);

+						calendar.add(Calendar.DAY_OF_WEEK, -7);

+						dateSearchOneWeekLowerBound = calendar.getTime();

+					}

 

 					// suggest field name prefixes

 					for (IndexField field : IndexField.values()) {

@@ -171,20 +183,16 @@
 							proposals.add(new ContentProposal(field.fieldName().substring(prefix.length()) + ":", //$NON-NLS-1$

 									field.fieldName(), description));

 

+							// for date fields give suggestion of date range search

 							if (field.isDateTime()) {

 								description = NLS.bind(Messages.IndexSearchHandler_Generic_date_range_search_1_week,

 										field.fieldName());

 

-								calendar.setTime(now);

-								calendar.add(Calendar.DAY_OF_WEEK, 1); // one day in future due to GMT conversion in index

-								Date upperBound = calendar.getTime();

+								String label = NLS.bind(Messages.IndexSearchHandler_Past_week_date_range_label, field.fieldName());

 

-								calendar.setTime(now);

-								calendar.add(Calendar.DAY_OF_WEEK, -7);

-								Date lowerBound = calendar.getTime();

-

-								proposals.add(new ContentProposal(index.computeQueryFieldDateRange(field, lowerBound,

-										upperBound), field.fieldName(), description));

+								String queryText = index.computeQueryFieldDateRange(field, dateSearchOneWeekLowerBound,

+										dateSearchUpperBound);

+								proposals.add(new ContentProposal(queryText, label, description));

 							}

 						}

 					}

diff --git a/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/Messages.java b/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/Messages.java
index d9ab9cf..34a7ff2 100644
--- a/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/Messages.java
+++ b/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/Messages.java
@@ -27,6 +27,8 @@
 

 	public static String IndexSearchHandler_hint_person;

 

+	public static String IndexSearchHandler_Past_week_date_range_label;

+

 	public static String IndexSearchHandler_summaryOnly;

 

 	public static String IndexSearchHandler_summaryOnly_tooltip;

diff --git a/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/messages.properties b/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/messages.properties
index 593b543..8c95521 100644
--- a/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/messages.properties
+++ b/org.eclipse.mylyn.tasks.index.ui/src/org/eclipse/mylyn/internal/tasks/index/ui/messages.properties
@@ -12,5 +12,6 @@
 IndexSearchHandler_hint_content=Search for a term in the summary, description and comments

 IndexSearchHandler_hint_generic=Search on a term in the {0} field

 IndexSearchHandler_hint_person=Search for a user (reporter, assignee, watcher, commenter)

+IndexSearchHandler_Past_week_date_range_label={0} (past week)

 IndexSearchHandler_summaryOnly=Summary only

 IndexSearchHandler_summaryOnly_tooltip=Search only the summary when checked