diff --git a/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs b/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs index b616a3c9bb..de29430866 100644 --- a/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs +++ b/src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs @@ -555,10 +555,10 @@ namespace ICSharpCode.StartPage } } catch {} projectSection.Append("

"); - projectSection.Append(String.Format("\n", + projectSection.Append(String.Format("\n", StringParser.Parse("${res:StartPage.StartMenu.OpenCombineButton}") )); - projectSection.Append(String.Format("\n", + projectSection.Append(String.Format("\n", StringParser.Parse("${res:StartPage.StartMenu.NewCombineButton}") )); projectSection.Append("


"); diff --git a/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs b/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs index fc943f04c2..5e304e84f2 100644 --- a/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs +++ b/src/AddIns/Misc/StartPage/Project/Src/StartPage.cs @@ -28,15 +28,25 @@ namespace ICSharpCode.StartPage if (host == "project") { string projectFile = page.projectFiles[int.Parse(e.Url.LocalPath.Trim('/'))]; FileUtility.ObservedLoad(new NamedFileOperationDelegate(ProjectService.LoadSolution), projectFile); - } else if (host == "opencombine") { - new ICSharpCode.SharpDevelop.Project.Commands.LoadSolution().Run(); - } else if (host == "newcombine") { - new ICSharpCode.SharpDevelop.Project.Commands.CreateNewSolution().Run(); } else { pane.WebBrowser.DocumentText = page.Render(host); } } + public override void DocumentCompleted(HtmlViewPane pane, WebBrowserDocumentCompletedEventArgs e) + { + HtmlElement btn; + btn = pane.WebBrowser.Document.GetElementById("opencombine"); + if (btn != null) { + LoggingService.Debug("Attached event handler to opencombine button"); + btn.Click += delegate {new ICSharpCode.SharpDevelop.Project.Commands.LoadSolution().Run();}; + } + btn = pane.WebBrowser.Document.GetElementById("newcombine"); + if (btn != null) { + btn.Click += delegate {new ICSharpCode.SharpDevelop.Project.Commands.CreateNewSolution().Run();}; + } + } + public override void GoHome(HtmlViewPane pane) { pane.Navigate("startpage://start/"); diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs index 0e04a7c369..9b5783a486 100644 --- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs +++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs @@ -213,6 +213,9 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding void WebBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { try { + if (dummyUrl != null && e.Url.ToString() == "about:blank") { + e = new WebBrowserDocumentCompletedEventArgs(new Uri(dummyUrl)); + } ISchemeExtension extension = GetScheme(e.Url.Scheme); if (extension != null) { extension.DocumentCompleted(this, e);