From 04c0bebd072f27c20d80d1938ef5899d2488bd48 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Tue, 27 Sep 2005 14:23:48 +0000 Subject: [PATCH] The "Load solution" and "New solution" buttons on the start page now work even when JavaScript is disabled in Internet Explorer. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@515 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../StartPage/Project/Src/ICSharpCodePage.cs | 4 ++-- .../Misc/StartPage/Project/Src/StartPage.cs | 18 ++++++++++++++---- .../Gui/BrowserDisplayBinding/HtmlViewPane.cs | 3 +++ 3 files changed, 19 insertions(+), 6 deletions(-) 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);