diff options
author | mkersten | 2005-12-10 04:15:12 +0000 |
---|---|---|
committer | mkersten | 2005-12-10 04:15:12 +0000 |
commit | a09f4b06440392e881a5b9d5fdb1cf2a54cc6dfb (patch) | |
tree | 006fba640b8468207d5134101cc77c26c0d986d5 | |
parent | 21695aeb0b27ad069640993097c38fa40842e822 (diff) | |
download | org.eclipse.mylyn.tasks-a09f4b06440392e881a5b9d5fdb1cf2a54cc6dfb.tar.gz org.eclipse.mylyn.tasks-a09f4b06440392e881a5b9d5fdb1cf2a54cc6dfb.tar.xz org.eclipse.mylyn.tasks-a09f4b06440392e881a5b9d5fdb1cf2a54cc6dfb.zip |
Progress on: Bug 119301: improve task planner activity period and UI
https://bugs.eclipse.org/bugs/show_bug.cgi?id=119301
-rw-r--r-- | org.eclipse.mylyn.help.ui/doc/images/faq/taskist-planner.gif | bin | 0 -> 23336 bytes | |||
-rw-r--r-- | org.eclipse.mylyn.help.ui/doc/images/faq/tasklist-drag.gif | bin | 0 -> 7324 bytes | |||
-rw-r--r-- | org.eclipse.mylyn.help.ui/doc/new.html | 221 | ||||
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java | 20 | ||||
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlanSorter.java | 3 | ||||
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlannerEditorPart.java | 17 |
6 files changed, 127 insertions, 134 deletions
diff --git a/org.eclipse.mylyn.help.ui/doc/images/faq/taskist-planner.gif b/org.eclipse.mylyn.help.ui/doc/images/faq/taskist-planner.gif Binary files differnew file mode 100644 index 000000000..30b927a5b --- /dev/null +++ b/org.eclipse.mylyn.help.ui/doc/images/faq/taskist-planner.gif diff --git a/org.eclipse.mylyn.help.ui/doc/images/faq/tasklist-drag.gif b/org.eclipse.mylyn.help.ui/doc/images/faq/tasklist-drag.gif Binary files differnew file mode 100644 index 000000000..5d5b49f53 --- /dev/null +++ b/org.eclipse.mylyn.help.ui/doc/images/faq/tasklist-drag.gif diff --git a/org.eclipse.mylyn.help.ui/doc/new.html b/org.eclipse.mylyn.help.ui/doc/new.html index 85f76706c..ebc541909 100644 --- a/org.eclipse.mylyn.help.ui/doc/new.html +++ b/org.eclipse.mylyn.help.ui/doc/new.html @@ -9,54 +9,28 @@ <title>Mylar New & Noteworthy</title> </head> <body> -<h2>New and Noteworthy for Mylar 0.4.4</h2> -<p>Released December 2nd, 2005. Send questions to <a href="mailto:mylar-users@eclipse.org">mylar-users@eclipse.org</a>. +<h2>New and Noteworthy for Mylar 0.4.5</h2> +<p>Released December 9th, 2005. Send questions to <a href="mailto:mylar-users@eclipse.org">mylar-users@eclipse.org</a>. Submit feature requests to <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Mylar">Bugzilla</a>.<br> -Items added since Mylar 0.4.3 <span style="background-color: #E0D0E6"> are +Items added since Mylar 0.4.4 <span style="background-color: #E0D0E6"> are highlighted </span></p> <h4><a href="new-0.3.html">New and Noteworthy covering Mylar 0.3</a></h4> <h3>Task Context</h3> -<table cellpadding="10" cellspacing="0" width="600" id="table114"> - <tr> - <td align="left" valign="top" width="30%" bgcolor="#E0D0E6"> - <p align="right"><b>Task Planner</b></p> - </td> - <td valign="top" width="70%"> - Still experimental, but getting used internally for planning so feel - free to comment.<p> </td> - </tr> - <tr> - <td colspan="2"> - <hr> - </td> - </tr> -</table> - -<table cellpadding="10" cellspacing="0" width="600" id="table113"> - <tr> - <td align="left" valign="top" width="30%" bgcolor="#E0D0E6"> - <p align="right"><b>Active Change Sets</b></p> - </td> - <td valign="top" width="70%"> - Can be disabled...<p> </td> - </tr> - <tr> - <td colspan="2"> - <hr> - </td> - </tr> -</table> - <table cellpadding="10" cellspacing="0" width="600" id="table111"> <tr> <td align="left" valign="top" width="30%" bgcolor="#E0D0E6"> - <p align="right"><b>Direct Manipulation of Task List</b></p> + <p align="right"><b>Improved Task Manipulation</b></p> </td> <td valign="top" width="70%"> - better drag-and-drop in Task view...<p> </td> + Dragging and dropping items to categories moves them, and items can + be dragged into the root. Note that there is still a + limitation of not being able to make multiple selections in the + Tasks view. Also, if the Mylar Tasks view is in fast view mode the + active task will be indicated when you mouse over the icon and on + the view description bar<p> <img border="0" src="images/faq/tasklist-drag.gif" width="303" height="172"></td> </tr> <tr> <td colspan="2"> @@ -65,17 +39,21 @@ highlighted </span></p> </tr> </table> -<table cellpadding="10" cellspacing="0" width="600" id="table112"> +<table cellpadding="10" cellspacing="0" width="600" id="table119"> <tr> <td align="left" valign="top" width="30%" bgcolor="#E0D0E6"> - <p align="right"><b>Active task indicated on list</b></p> + <p align="right"><b>Task Planner</b></p> </td> <td valign="top" width="70%"> - Visible both in the view and as the tooltip... if the view is in - fast mode the tooltip and contents description will be updated - accordingly. If it is not in fast mode only the view tooltip will be - updated so that the additional content description line (see search - results view) does not appear on the task list...<p> </td> + The Task Planner is still experimental, but the UI is becoming more + usable and it is being used internally. Invoke it via File -> + New -> Other -> Mylar Task Planner, specify the number of days, and + you will see a report of your past activity. You can drag + tasks from the task list into the plan (e.g. from a Bugzilla query), + and set their reminders and estimates. All tasks in the plan + can be automatically added to a category. + <p> + <img border="0" src="images/faq/taskist-planner.gif" width="603" height="407"></td> </tr> <tr> <td colspan="2"> @@ -167,7 +145,7 @@ highlighted </span></p> action to navigate to the corresponding issue (either Bugzilla report or Web Link). The same action is available for navigating from commit messages to reports in the CVS Resource - History view.<p> + History view. <p> <img border="0" src="images/0.4.3/synchronize-change-sets.gif" width="593" height="206"></p> <p> <img border="0" src="images/0.4.3/cvs-resource-history-open.gif" width="476" height="163"></td> @@ -304,6 +282,84 @@ highlighted </span></p> </tr> </table> +<h3>Task List</h3> + +<table cellpadding="10" cellspacing="0" width="600" id="table114"> + <tr> + <td align="left" valign="top" width="30%"> + <p align="right"><b>Improved Task List actions and shortcuts</b></p> + </td> + <td valign="top" width="70%"> + The Task List popup menu has been improved to be more context + sensitive and to always create items in the category that is + currently in focus. Tooltip behavior has been improved. + Common actions are now keyboard shortcuts:<br> + - New Task: ins<br> + - Delete: del<br> + - Rename: F2<br> + - Copy Description: Ctrl+C<p> + <img border="0" src="images/tasklist-popup.gif" width="231" height="297"></td> + </tr> + <tr> + <td colspan="2"> + <hr> + </td> + </tr> +</table> + +<table cellpadding="10" cellspacing="0" width="600" id="table115"> + <tr> + <td width="30%" valign="top" align="left"> + <p align="right"><b>Links to web reports</b></p> + </td> + <td width="70%" valign="top"> + Tasks can be linked to web + pages. For example, if you want a task to correspond to a Wiki + page or to a bug report copy the URL of the report, click the New + Task button on the Task List, and the URL will automatically be + inserted in the Web Link field. If you click Get Description + the title of the page will be inserted into the Description field. + The task will appear with a Web icon decorator, and will + automatically bring up a Task Editor page that loads the web link + when opened. + <p> + <img border="0" src="images/tasklist-weblink.gif" width="528" height="155"></p> + <p> + <img border="0" src="images/tasklist-weblink-editor.gif" width="585" height="195"></td> + </tr> +</table> + +<table cellpadding="10" cellspacing="0" width="600" id="table116"> + <tr> + <td> + <hr> + </td> + </tr> +</table> + +<table cellpadding="10" cellspacing="0" width="600" id="table117"> + <tr> + <td width="30%" valign="top" align="left"> + <p align="right"><b>Task context data export</b></p> + </td> + <td width="70%" valign="top"> + The Mylar Task List and + related data can be exported, e.g. for backup purposes. + You can now export to an + archive file.<p> + <img border="0" src="images/tasklist-export.gif" width="555" height="343"></td> + </tr> +</table> + +<table cellpadding="10" cellspacing="0" width="600" id="table118"> + <tr> + <td> + <hr> + </td> + </tr> +</table> + +<h3> </h3> <h3>Bugzilla Client</h3> <table cellpadding="10" cellspacing="0" width="600" id="table106"> @@ -381,82 +437,5 @@ highlighted </span></p> </tr> </table> -<h3>Task List</h3> - -<table cellpadding="10" cellspacing="0" width="600" id="table86"> - <tr> - <td align="left" valign="top" width="30%"> - <p align="right"><b>Improved Task List actions and shortcuts</b></p> - </td> - <td valign="top" width="70%"> - The Task List popup menu has been improved to be more context - sensitive and to always create items in the category that is - currently in focus. Tooltip behavior has been improved. - Common actions are now keyboard shortcuts:<br> - - New Task: ins<br> - - Delete: del<br> - - Rename: F2<br> - - Copy Description: Ctrl+C<p> - <img border="0" src="images/tasklist-popup.gif" width="231" height="297"></td> - </tr> - <tr> - <td colspan="2"> - <hr> - </td> - </tr> -</table> - -<table cellpadding="10" cellspacing="0" width="600" id="table87"> - <tr> - <td width="30%" valign="top" align="left"> - <p align="right"><b>Links to web reports</b></p> - </td> - <td width="70%" valign="top"> - Tasks can be linked to web - pages. For example, if you want a task to correspond to a Wiki - page or to a bug report copy the URL of the report, click the New - Task button on the Task List, and the URL will automatically be - inserted in the Web Link field. If you click Get Description - the title of the page will be inserted into the Description field. - The task will appear with a Web icon decorator, and will - automatically bring up a Task Editor page that loads the web link - when opened. - <p> - <img border="0" src="images/tasklist-weblink.gif" width="528" height="155"></p> - <p> - <img border="0" src="images/tasklist-weblink-editor.gif" width="585" height="195"></td> - </tr> -</table> - -<table cellpadding="10" cellspacing="0" width="600" id="table88"> - <tr> - <td> - <hr> - </td> - </tr> -</table> - -<table cellpadding="10" cellspacing="0" width="600" id="table89"> - <tr> - <td width="30%" valign="top" align="left"> - <p align="right"><b>Task context data export</b></p> - </td> - <td width="70%" valign="top"> - The Mylar Task List and - related data can be exported, e.g. for backup purposes. - You can now export to an - archive file.<p> - <img border="0" src="images/tasklist-export.gif" width="555" height="343"></td> - </tr> -</table> - -<table cellpadding="10" cellspacing="0" width="600" id="table81"> - <tr> - <td> - <hr> - </td> - </tr> -</table> - </body> </html> diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java index 3403da91b..53e5924ca 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/ReminderCellEditor.java @@ -23,27 +23,34 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; +/** + * @author Ken Sueda + * @author Mik Kersten + */ public class ReminderCellEditor extends DialogCellEditor { private Date reminderDate; + public ReminderCellEditor(Composite parent) { super(parent, SWT.NONE); } + @Override protected Object openDialogBox(Control cellEditorWindow) { ReminderDialog dialog = new ReminderDialog(cellEditorWindow.getShell()); dialog.open(); reminderDate = dialog.getDate(); - return reminderDate; + return reminderDate; } - + public Date getReminderDate() { return reminderDate; } - + private static class ReminderDialog extends Dialog { private Date reminderDate = null; + protected ReminderDialog(Shell parentShell) { super(parentShell); } @@ -51,11 +58,11 @@ public class ReminderCellEditor extends DialogCellEditor { protected ReminderDialog(IShellProvider parentShell) { super(parentShell); } - + protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); - final DatePicker datePicker = new DatePicker(composite, SWT.NULL); - datePicker.setDateText("<reminder>"); + final DatePicker datePicker = new DatePicker(composite, SWT.NULL); + datePicker.setDateText("<reminder>"); datePicker.addPickerSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent arg0) { reminderDate = datePicker.getDate().getTime(); @@ -67,6 +74,7 @@ public class ReminderCellEditor extends DialogCellEditor { }); return composite; } + public Date getDate() { return reminderDate; } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlanSorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlanSorter.java index 85c1ba50c..fcd9a0b98 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlanSorter.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlanSorter.java @@ -56,6 +56,9 @@ public class TaskPlanSorter extends TaskActivitySorter { } private int compareReminder(ITask task1, ITask task2) { + if (task2.getReminderDate() == null) return -1; + if (task1.getReminderDate() == null) return 1; + if (task1.getReminderDate() == null && task2.getReminderDate() == null) return 0; return task2.getReminderDate().compareTo(task1.getReminderDate()); } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlannerEditorPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlannerEditorPart.java index 7d85e5d9e..428d07ad9 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlannerEditorPart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/planner/ui/TaskPlannerEditorPart.java @@ -105,7 +105,7 @@ public class TaskPlannerEditorPart extends EditorPart { private int[] planSortConstants = new int[] { TaskPlanSorter.ICON, TaskPlanSorter.PRIORITY, TaskPlanSorter.DESCRIPTION, TaskPlanSorter.DURATION, TaskPlanSorter.ESTIMATED, TaskPlanSorter.REMINDER }; - private int[] planColumnWidths = new int[] { 20, 30, 340, 90, 90, 120 }; + private int[] planColumnWidths = new int[] { 20, 30, 340, 90, 90, 100 }; private static final String[] ESTIMATE_TIMES = new String[] { "0 Hours", "1 Hours", "2 Hours", "3 Hours", "4 Hours", "5 Hours", "6 Hours", "7 Hours", "8 Hours", "9 Hours", "10 Hours" }; @@ -255,10 +255,10 @@ public class TaskPlannerEditorPart extends EditorPart { CellEditor[] editors = new CellEditor[planColumnNames.length + 1]; final ComboBoxCellEditor estimatedEditor = new ComboBoxCellEditor(planTable, ESTIMATE_TIMES, SWT.READ_ONLY); final ReminderCellEditor reminderEditor = new ReminderCellEditor(planTable); - editors[0] = reminderEditor; // not used - editors[1] = reminderEditor;// not used - editors[2] = reminderEditor;// not used - editors[3] = reminderEditor;// not used + editors[0] = null; // not used + editors[1] = null;// not used + editors[2] = null;// not used + editors[3] = null;// not used editors[4] = estimatedEditor; editors[5] = reminderEditor; reminderEditor.addListener(new ICellEditorListener() { @@ -492,7 +492,6 @@ public class TaskPlannerEditorPart extends EditorPart { public boolean canModify(Object element, String property) { int columnIndex = Arrays.asList(planColumnNames).indexOf(property); - System.err.println(">>> " + property); if (columnIndex == 5 || columnIndex == 4) { return true; } @@ -504,8 +503,12 @@ public class TaskPlannerEditorPart extends EditorPart { int columnIndex = Arrays.asList(planColumnNames).indexOf(property); if (element instanceof ITask) { if (columnIndex == 5) { - return DateFormat.getDateInstance(DateFormat.MEDIUM) + if (((ITask) element).getReminderDate() != null) { + return DateFormat.getDateInstance(DateFormat.MEDIUM) .format(((ITask) element).getReminderDate()); + } else { + return null; + } } else if (columnIndex == 4) { return new Integer(Arrays.asList(ESTIMATE_TIMES).indexOf( ((ITask) element).getEstimateTimeHours())); |