Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 55020

Summary: Open workspace dialog opens behind splash screen
Product: [Eclipse Project] Platform Reporter: Tod Creasey <Tod_Creasey>
Component: UIAssignee: Andrew Eidsness <eclipse>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: P2 CC: jeem, jeffmcaffer, n.a.edgar
Version: 3.0   
Target Milestone: 3.0 M8   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
patch none

Description Tod Creasey CLA 2004-03-16 16:05:49 EST
20030316

When I start Eclipse there is now a dialog that prompts for which workspace to 
use. This opens behind the splash screen so I rarely spot it.
Comment 1 John Arthorne CLA 2004-03-16 16:09:55 EST
Moving to Nick, whose I believe provided this dialog.
Comment 2 Nick Edgar CLA 2004-03-16 16:35:33 EST
Any possibility of addressing this this afternoon, to get it in for the rebuild?
Comment 3 Nick Edgar CLA 2004-03-16 16:39:09 EST
Flagging as a major usability problem.

It works OK for me on Windows 2000 -- the dialog appears on top of the splash.
Although the splash is still up, so if I click on it, it obscures the dialog.

We should probably take down the splash while the dialog is up, then bring the 
splash back until the workbench is fully up.

Jeff, is it possible to bring the splash back up after endSplash has been 
called?
Comment 4 Andrew Eidsness CLA 2004-03-16 16:58:23 EST
Created attachment 8617 [details]
patch

I've created a patch that opens the dialog as "always on top".

This might also become a usablity problem if the dialog opens and obscures a
window that the user needs to determine where they want to put their workspace.


What we really need is for the dialog to go on top as soon as it opens (so the
user knows that its there), but then allows other windows to be activated on
top of it.
Comment 5 Jeff McAffer CLA 2004-03-16 17:33:14 EST
hey, we (uhhh, you) can splash as many times as you like.  Once you have called 
end splash, we are out of the business but you can call eclipse.exe and put the 
splash back up and then tear it down again.  You can even put up a different 
splash.
Comment 6 Nick Edgar CLA 2004-03-16 19:28:34 EST
Well, we can't hardwire a reference to eclipse.exe since the app wasn't 
necessarily launched with that executable (or any for that matter).  I see that 
InternalPlatform.getSplashHandler() does some funky context and service stuff, 
searching for a service whose name property is "splashscreen".

Could we make this a real service that knows how to both bring down the splash 
and bring it up again, rather than just being a Runnable that brings it down?

Also, I'm curious as to why it ungets the service reference before returning 
the result of getting it.  I'd expect that whatever it returned would 
potentially be invalid after ungetting the service.
Comment 7 Jeff McAffer CLA 2004-03-16 21:47:10 EST
This service stuff is somewhat bogus. it should actually just be spec'ing a 
filter and using a normal service tracker.  That code was likely done very 
early in our OSGi lives.

The service approach is not meant to be general.  It is our internal way of 
communicating between levels without exposing API.  The splash is actualy put 
up in main() way before OSGi is started etc.  Main also creates a runnable that 
can tear down the splash. This is passed along to OSGi (via EclipseStarter.run
()) when it is started.  In there it gets registered as a service so that it is 
available to the runtime when needed.

All you really need to do is exec eclipse.exe to put up the splash and remember 
the OS process.  Then you kill the process when you want to take the splash 
down.

As for using eclipse.exe, we recommend that people supply their own exe but 
implement it by calling eclipse.exe.  

Note, the suggestion to put up a different splash after the prompt is 
problematic since products will want to supply that as well.  Then we have two 
splashes to manage.
Comment 8 Jeff McAffer CLA 2004-03-16 21:49:36 EST
Just thought of...

If the problem is showing the user something while loading the workspace, how 
about showing a progress dialog?  The sequence would then be 
splash up, 
splash down, 
workspace prompt up, 
prompt down, 
progress up, 
restore UI, 
progress down, 
work
Comment 9 Nick Edgar CLA 2004-03-16 22:36:23 EST
This would probably work better.  Should try it to see how it plays.
Comment 10 Tod Creasey CLA 2004-03-17 13:57:05 EST
*** Bug 55126 has been marked as a duplicate of this bug. ***
Comment 11 Nick Edgar CLA 2004-03-25 11:39:10 EST
The main problem has been addressed for M8.
I opened bug 56167 to revisit the splash/prompt/progress interaction in M9.
Comment 12 Ines Khelifi CLA 2004-03-25 13:14:49 EST
Verified on Windows XP with Build id: 200403250800.
Comment 13 Ines Khelifi CLA 2004-03-26 13:12:30 EST
Verified on Windows XP Build id: 200403260800.