Browse Source

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
shortcuts
Daniel Grunwald 20 years ago
parent
commit
04c0bebd07
  1. 4
      src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs
  2. 18
      src/AddIns/Misc/StartPage/Project/Src/StartPage.cs
  3. 3
      src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs

4
src/AddIns/Misc/StartPage/Project/Src/ICSharpCodePage.cs

@ -555,10 +555,10 @@ namespace ICSharpCode.StartPage
} }
} catch {} } catch {}
projectSection.Append("</TABLE></DIV><BR/><BR/>"); projectSection.Append("</TABLE></DIV><BR/><BR/>");
projectSection.Append(String.Format("<input type=button value='{0}' onClick=\"location.href = 'startpage://opencombine/';\">\n", projectSection.Append(String.Format("<button id=\"opencombine\">{0}</button>\n",
StringParser.Parse("${res:StartPage.StartMenu.OpenCombineButton}") StringParser.Parse("${res:StartPage.StartMenu.OpenCombineButton}")
)); ));
projectSection.Append(String.Format("<input type=button value='{0}' onClick=\"location.href('startpage://newcombine/');\">\n", projectSection.Append(String.Format("<button id=\"newcombine\">{0}</button>\n",
StringParser.Parse("${res:StartPage.StartMenu.NewCombineButton}") StringParser.Parse("${res:StartPage.StartMenu.NewCombineButton}")
)); ));
projectSection.Append("<BR/><BR/><BR/>"); projectSection.Append("<BR/><BR/><BR/>");

18
src/AddIns/Misc/StartPage/Project/Src/StartPage.cs

@ -28,15 +28,25 @@ namespace ICSharpCode.StartPage
if (host == "project") { if (host == "project") {
string projectFile = page.projectFiles[int.Parse(e.Url.LocalPath.Trim('/'))]; string projectFile = page.projectFiles[int.Parse(e.Url.LocalPath.Trim('/'))];
FileUtility.ObservedLoad(new NamedFileOperationDelegate(ProjectService.LoadSolution), projectFile); 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 { } else {
pane.WebBrowser.DocumentText = page.Render(host); 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) public override void GoHome(HtmlViewPane pane)
{ {
pane.Navigate("startpage://start/"); pane.Navigate("startpage://start/");

3
src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs

@ -213,6 +213,9 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
void WebBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) void WebBrowserDocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{ {
try { try {
if (dummyUrl != null && e.Url.ToString() == "about:blank") {
e = new WebBrowserDocumentCompletedEventArgs(new Uri(dummyUrl));
}
ISchemeExtension extension = GetScheme(e.Url.Scheme); ISchemeExtension extension = GetScheme(e.Url.Scheme);
if (extension != null) { if (extension != null) {
extension.DocumentCompleted(this, e); extension.DocumentCompleted(this, e);

Loading…
Cancel
Save