Index: branches/RefactorPluginInfrastructure-2522/HeuristicLab.PluginInfrastructure.UI/SplashScreen.cs
===================================================================
--- branches/RefactorPluginInfrastructure-2522/HeuristicLab.PluginInfrastructure.UI/SplashScreen.cs	(revision 13353)
+++ branches/RefactorPluginInfrastructure-2522/HeuristicLab.PluginInfrastructure.UI/SplashScreen.cs	(revision 13389)
@@ -24,26 +24,23 @@
 using System.Reflection;
 using System.Windows.Forms;
-using HeuristicLab.PluginInfrastructure.Manager;
 
 namespace HeuristicLab.PluginInfrastructure.UI {
-  internal partial class SplashScreen : Form {
+  public partial class SplashScreen : Form {
     private const int FADE_INTERVAL = 50;
     private Timer fadeTimer;
     private int initialInterval;
-    private PluginManager pluginManager;
 
-    internal SplashScreen() {
+    private SplashScreen() {
       InitializeComponent();
     }
 
-    internal SplashScreen(PluginManager manager, int initialInterval)
+    public SplashScreen(string initialText, int initialInterval)
       : this() {
       this.initialInterval = initialInterval;
-      this.pluginManager = manager;
 
       var entryAssembly = Assembly.GetEntryAssembly();
-      RegisterPluginManagerEventHandlers();
+      // RegisterPluginManagerEventHandlers();
 
-      versionLabel.Text = "Version " + entryAssembly.GetFileVersion() + " " 
+      versionLabel.Text = "Version " + entryAssembly.GetFileVersion() + " "
         + entryAssembly.GetCustomAttributes().OfType<AssemblyInformationalVersionAttribute>().First().InformationalVersion; // code name
       infoLabel.Text = "";
@@ -55,52 +52,18 @@
       fadeTimer.Tick += fadeTimer_Elapsed;
       fadeTimer.Interval = initialInterval;
+      fadeTimer.Start();
+
+      Opacity = 1;
+      infoLabel.Text = initialText;
+
     }
 
-    #region events
-    private void RegisterPluginManagerEventHandlers() {
-      pluginManager.ApplicationStarted += new EventHandler<PluginInfrastructureEventArgs>(manager_ApplicationStarted);
-      pluginManager.ApplicationStarting += new EventHandler<PluginInfrastructureEventArgs>(manager_ApplicationStarting);
-      pluginManager.Initializing += new EventHandler<PluginInfrastructureEventArgs>(manager_Initializing);
-      pluginManager.Initialized += new EventHandler<PluginInfrastructureEventArgs>(manager_Initialized);
-      pluginManager.PluginLoaded += new EventHandler<PluginInfrastructureEventArgs>(manager_PluginLoaded);
-      pluginManager.PluginUnloaded += new EventHandler<PluginInfrastructureEventArgs>(manager_PluginUnloaded);
-    }
-
-    private void DeregisterPluginManagerEventHandlers() {
-      pluginManager.ApplicationStarted -= new EventHandler<PluginInfrastructureEventArgs>(manager_ApplicationStarted);
-      pluginManager.ApplicationStarting -= new EventHandler<PluginInfrastructureEventArgs>(manager_ApplicationStarting);
-      pluginManager.Initializing -= new EventHandler<PluginInfrastructureEventArgs>(manager_Initializing);
-      pluginManager.Initialized -= new EventHandler<PluginInfrastructureEventArgs>(manager_Initialized);
-      pluginManager.PluginLoaded -= new EventHandler<PluginInfrastructureEventArgs>(manager_PluginLoaded);
-      pluginManager.PluginUnloaded -= new EventHandler<PluginInfrastructureEventArgs>(manager_PluginUnloaded);
-    }
-
-    private void manager_PluginUnloaded(object sender, PluginInfrastructureEventArgs e) {
-      SafeUpdateMessage("Unloaded " + e.Entity);
-    }
-
-    private void manager_PluginLoaded(object sender, PluginInfrastructureEventArgs e) {
-      SafeUpdateMessage("Loaded " + e.Entity);
-    }
-
-    private void manager_Initialized(object sender, PluginInfrastructureEventArgs e) {
-      SafeUpdateMessage("Initialized");
-    }
-
-    private void manager_Initializing(object sender, PluginInfrastructureEventArgs e) {
-      SafeUpdateMessage("Initializing");
-    }
-
-    private void manager_ApplicationStarting(object sender, PluginInfrastructureEventArgs e) {
-      SafeUpdateMessage("Starting " + e.Entity);
-    }
-
-    private void manager_ApplicationStarted(object sender, PluginInfrastructureEventArgs e) {
-      SafeUpdateMessage("Started " + e.Entity);
-    }
-    // called from event handlers
-    private void SafeUpdateMessage(string msg) {
+    public void UpdateMessage(string msg) {
       try {
-        Invoke((Action<string>)UpdateMessage, msg);
+        if (InvokeRequired) Invoke((Action<string>)UpdateMessage, msg);
+        else {
+          ResetFadeTimer();
+          infoLabel.Text = msg;
+        }
       } catch (ObjectDisposedException) { }
     }
@@ -111,25 +74,4 @@
       FadeOut();
     }
-    #endregion
-
-    public void Show(string initialText) {
-      if (InvokeRequired) Invoke((Action<string>)Show, initialText);
-      else {
-        Opacity = 1;
-        infoLabel.Text = initialText;
-        ResetFadeTimer();
-        Show();
-      }
-    }
-
-    public void Show(IWin32Window owner, string initialText) {
-      if (InvokeRequired) Invoke((Action<IWin32Window, string>)Show, owner, initialText);
-      else {
-        Opacity = 1;
-        infoLabel.Text = initialText;
-        ResetFadeTimer();
-        Show(owner);
-      }
-    }
 
     private void ResetFadeTimer() {
@@ -138,10 +80,4 @@
       fadeTimer.Interval = initialInterval;
       fadeTimer.Start();
-    }
-
-    private void UpdateMessage(string msg) {
-      ResetFadeTimer();
-      infoLabel.Text = msg;
-      Application.DoEvents(); // force immediate update of splash screen control
     }
 
@@ -156,12 +92,6 @@
         Opacity = 0;
         fadeTimer.Stop();
-        Hide();
+        Close();
       }
-    }
-
-    protected override void OnClosing(System.ComponentModel.CancelEventArgs e) {
-      // deregister events when form is closing
-      DeregisterPluginManagerEventHandlers();
-      base.OnClosing(e);
     }
   }
