Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 219241 - convert the New Task toolbar item to be a drop-down menu
Summary: convert the New Task toolbar item to be a drop-down menu
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows Vista
: P3 enhancement (vote)
Target Milestone: 3.1   Edit
Assignee: Robert Elves CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 244553
  Show dependency tree
 
Reported: 2008-02-16 18:36 EST by Mik Kersten CLA
Modified: 2009-02-26 13:34 EST (History)
1 user (show)

See Also:


Attachments
in progress screenshot (15.78 KB, image/png)
2009-02-17 12:19 EST, Robert Elves CLA
no flags Details
New Task Dropdown patch (36.01 KB, patch)
2009-02-18 19:34 EST, Robert Elves CLA
no flags Details | Diff
update 2 (70.16 KB, patch)
2009-02-18 20:29 EST, Robert Elves CLA
no flags Details | Diff
screenshot (39.11 KB, image/png)
2009-02-20 17:57 EST, Robert Elves CLA
no flags Details
mylyn/context/zip (3.31 KB, application/octet-stream)
2009-02-20 18:24 EST, Steffen Pingel CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mik Kersten CLA 2008-02-16 18:36:56 EST
We could get rid of one wizard page by converting the action provide a drop-down that contains each task repository which provides task creation facilities.
Comment 1 Eugene Kuleshov CLA 2008-02-16 19:09:54 EST
Such drop down will look really crowded with my 20 repositories. Maybe you could show the last 5 and also take active working set into the account.

I am always using Alt-Shift-N (then Enter in most of the cases). It is faster then toolbar and works when Task List view is not visible.
Comment 2 Mik Kersten CLA 2008-02-19 00:11:46 EST
Yes, I was thinking this would most likely take the active working set into account.  Note that this isn't intended to accelerate things for experts but for the average user.
Comment 3 Mik Kersten CLA 2008-06-12 15:59:21 EDT
Need to defer: http://wiki.eclipse.org/index.php/Mylyn/3.0_Plan#Deferred_Items
Comment 4 Robert Elves CLA 2009-02-17 12:19:28 EST
Created attachment 125916 [details]
in progress screenshot

Here is what the ui is looking like. Since we can't get a single image descriptor for the repo icon and brand overlay in one, I've opted for the branding icon.
Comment 5 Mik Kersten CLA 2009-02-17 14:33:46 EST
This is looking good, but we can't have just the overlay icon because it is too small.  Depending on how you are creating the images, there should be some mechanism for you to get a composite image descriptor or image.  See TaskElementLabelProvider for examples.

Regarding the structure, here's what I think we should go with:

================
Local
Eclipse
Mozilla Bugzilla
----------
Query
Category
----------
Add Task Repository...  (make sure you use an existing message since we'll probably change this to New...).
================
Comment 6 Robert Elves CLA 2009-02-18 19:24:08 EST
Okay thanks Mik, I've now got regular repository icons with branding overlays in the menu (via CompositeImageDescriptor).

I'm not sure that Query and Category make sense in this button.  I would expect to find these under a separate folderImage+ button.  
Comment 7 Robert Elves CLA 2009-02-18 19:34:55 EST
Created attachment 126098 [details]
New Task Dropdown patch

Completely functional patch. Works in conjunction with Frank's new product selection code.
Comment 8 Robert Elves CLA 2009-02-18 19:45:16 EST
Outstanding issues with patch I'm working on (aside from ui changes)
* new task in context menu commented out (will put it back)
* New task wizard doesn't allow completion after repository selection
Comment 9 Robert Elves CLA 2009-02-18 20:29:06 EST
Created attachment 126101 [details]
update 2

Simplified and addressed outstanding issues mentioned previously.
Comment 10 Robert Elves CLA 2009-02-19 12:43:10 EST
Committed progress to date.  Still need to ensure progress when configuration is retrieved (wasn't already cached locally).
Comment 11 Robert Elves CLA 2009-02-20 17:57:58 EST
Created attachment 126365 [details]
screenshot

Completed ui as per comment#5.  As per Mylyn conference call, if this become a general 'new' menu dropdown it makes sense that we put them all in there. We may want to revisit the icon at some point.
Comment 12 Robert Elves CLA 2009-02-20 18:01:03 EST
Fixed order to Create Query,  Create Category. Left a separator to single out local repository.  If no task repositories exist only a single separator will be visible between local repository and the create query action. 
Comment 13 Steffen Pingel CLA 2009-02-20 18:24:08 EST
Look great! I have applied a minor tweak to fix up the icon overlay and images sizes. 
Comment 14 Steffen Pingel CLA 2009-02-20 18:24:11 EST
Created attachment 126370 [details]
mylyn/context/zip
Comment 15 Steffen Pingel CLA 2009-02-20 18:26:55 EST
I noticed that the list of repositories is empty when a working set has no queries. This is inconsistent with the Task List which shows all queries in that case.
Comment 16 Steffen Pingel CLA 2009-02-20 18:28:13 EST
The other thing that is really important is that the product is initialized based on the current selection similar to how this used to work for the Bugzilla product page.
Comment 17 Robert Elves CLA 2009-02-20 21:10:35 EST
(In reply to comment #15)
> I noticed that the list of repositories is empty when a working set has no
> queries. This is inconsistent with the Task List which shows all queries in that
> case.
Fixed.

(In reply to comment #16)
> The other thing that is really important is that the product is initialized
> based on the current selection similar to how this used to work for the Bugzilla
> product page.
I've been looking into this and the problem I've run up against here is that the TasksUiUtil api accepts a ITaskMapping rather than a ISelection.  But at the point of creating a new task now, we don't have connector specific knowledge of how to create a mapping (in the case of a non-task selection).  If we were only concerned with task selections this would be straight forward using connector.getTaskMapping(taskData), but we want this to work for queries as well.  So I've merged the code to generate the Bugzilla specific mapping into NewBugzillaTaskWizard.  Other solutions entail adding api to extract a mapping from a selection.

Comment 18 Steffen Pingel CLA 2009-02-24 00:29:53 EST
[..]
> I've merged the code to generate the Bugzilla specific mapping into
> NewBugzillaTaskWizard.  Other solutions entail adding api to extract a mapping
> from a selection.

Thanks Rob. That is exactly the intended approach with the current API. The new task wizard is the UI component that knows how to create a task mapping from the current workbench state.

Is there anything left to do here?
Comment 19 Robert Elves CLA 2009-02-26 13:34:39 EST
UI review on Mylyn call was positive. Marking resolved.