Smart Import: offer to open/show already-imported projects#4170
Smart Import: offer to open/show already-imported projects#4170deepika-u wants to merge 1 commit into
Conversation
b892066 to
53f5c94
Compare
|
@merks : When you get some time, can you review this please? |
53f5c94 to
f8085f0
Compare
f8085f0 to
1e640b9
Compare
|
Hi @merks, sorry to bother you again, could you try to look into this when you get some time please? |
|
Sorry I don't have lots of time for testing. But in general I have concerns. What if I wanted to open 10 projects as well as import some of the other projects? This would be pretty painful when this process that supports clicking one and then a dialog for that one. Also, in the view that's displayed, can I see the difference between a project already exists and is already open versus the project is closed? And then, if I select a project it seems to come up from that. Is that just selection (that happens also with keyboard, or check state change (where a user really don't expect a disabled entry to be responsive to anything). Given it's an import dialog, I might expect as a convenience is to offer as a enabled entry to open the project if it's current closed. I just don't see the need to turn it into a navigator to open something in a particular view. And what I've I'm using the package explorer, do I really want the selection in the project explorer? Probably other opinions would be useful... |
Problem
When Smart Import found a folder that was already imported as a project, it greyed out the row and silently ignored any attempt to check it - no explanation, no way forward. Users had to abandon the wizard just to go interact with a project that was already sitting right there in the workspace.
That row is still greyed out and still can't be selected for import - that part is correct and unchanged.
Fixes eclipse-platform/eclipse.platform#1978
What's now
Now that it's no longer a dead end:
Additionally,
The wizard also gets out of your way on its own: if the project you just acted on was the only thing selected, the wizard closes for you automatically. If other projects are still queued up for import, it stays open so that you can finish the job.
What's different for the user
yourself manually.
dismissed manually.
Scope
Only applies to projects matching by location - i.e. the exact project is already imported. Projects that merely collide by name (different folder, same project name) are untouched and keep their existing silent-exclusion behavior.
Implementation notes
isExistingProjectnow delegates to a newfindExistingProject, which returns the actual matchingIProjectinstead of just a boolean, so the checkbox handler has something to act on.asyncExec- this lets the current checkbox-event callback finishcleanly before the wizard container is torn down, rather than closing the shell out from under its own event loop.
Before pr
After pr
Once the user clicks on "Show In Project Explorer", focus is shifted to the new project.

Once the user clicks on "Open Project", project is opened and focused on.

Once the user clicks on "Show In Project Explorer", focus is shifted to the project but wizard continues to retain so that other project can be imported when "Finish" is clicked on.

Once the user clicks on "Open Project", focus is shifted to the opened project but wizard continues to retain so that other project can be imported when "Finish" is clicked on.
