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);