private void downloaded_headlines(object sender, DownloadStringCompletedEventArgs e) { try { this.fHeadlines = new List <WelcomePanel.Headline>(); if (e.Error == null) { string result = e.Result; XmlDocument xmlDocument = new XmlDocument(); xmlDocument.LoadXml(result); XmlNode documentElement = xmlDocument.DocumentElement; if (documentElement != null) { XmlNode firstChild = documentElement.FirstChild; if (firstChild != null) { foreach (XmlNode childNode in firstChild.ChildNodes) { if (childNode.Name.ToLower() != "item") { continue; } WelcomePanel.Headline headline = new WelcomePanel.Headline(); XmlNode xmlNodes = XMLHelper.FindChild(childNode, "title"); if (xmlNodes == null) { continue; } headline.Title = xmlNodes.InnerText; XmlNode xmlNodes1 = XMLHelper.FindChild(childNode, "link"); if (xmlNodes1 == null) { continue; } headline.URL = xmlNodes1.InnerText; XmlNode xmlNodes2 = XMLHelper.FindChild(childNode, "pubDate"); if (xmlNodes1 == null) { continue; } headline.Date = DateTime.Parse(xmlNodes2.InnerText); if (headline.Title.Length > 45) { headline.Title = string.Concat(headline.Title.Substring(0, 45), "..."); } this.fHeadlines.Add(headline); } } else { return; } } else { return; } } this.set_options(); } catch { } }
private void set_options() { List <string> strs = new List <string>() { "<HTML>" }; strs.AddRange(HTML.GetHead("Masterplan", "Main Menu", DisplaySize.Small)); strs.Add("<BODY>"); strs.Add("<P class=table>"); strs.Add("<TABLE>"); strs.Add("<TR class=heading>"); strs.Add("<TD>"); strs.Add("<B>Getting Started</B>"); strs.Add("</TD>"); strs.Add("</TR>"); if (this.show_last_file_option()) { string str = FileName.Name(Session.Preferences.LastFile); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add(string.Concat("<A href=\"masterplan:last\">Reopen <I>", str, "</I></A>")); strs.Add("</TD>"); strs.Add("</TR>"); } strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:new\">Create a new adventure project</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:open\">Open an existing project</A>"); strs.Add("</TD>"); strs.Add("</TR>"); if (this.show_delve_option()) { strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:delve\">Generate a random dungeon delve</A>"); strs.Add("</TD>"); strs.Add("</TR>"); } strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:premade\">Download a premade adventure</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("</TABLE>"); strs.Add("</P>"); if (Program.IsBeta) { strs.Add("<P class=table>"); strs.Add("<TABLE>"); strs.Add("<TR class=heading>"); strs.Add("<TD>"); strs.Add("<B>Development Links</B>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:genesis\">Project Genesis</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:exodus\">Project Exodus</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:minos\">Project Minos</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:excalibur\">Project Excalibur</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:indiana\">Project Indiana</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("</TABLE>"); strs.Add("</P>"); } strs.Add("<P class=table>"); strs.Add("<TABLE>"); strs.Add("<TR class=heading>"); strs.Add("<TD>"); strs.Add("<B>More Information</B>"); strs.Add("</TD>"); strs.Add("</TR>"); if (this.show_manual_option()) { strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"masterplan:manual\">Read the Masterplan user manual</A>"); strs.Add("</TD>"); strs.Add("</TR>"); } strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"http://www.habitualindolence.net/masterplan/tutorials.htm\" target=_new>Watch a tutorial video</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("<TR>"); strs.Add("<TD>"); strs.Add("<A href=\"http://www.habitualindolence.net/masterplan/\" target=_new>Visit the Masterplan website</A>"); strs.Add("</TD>"); strs.Add("</TR>"); strs.Add("</TABLE>"); strs.Add("</P>"); strs.Add("<P class=table>"); strs.Add("<TABLE>"); strs.Add("<TR class=heading>"); strs.Add("<TD>"); strs.Add("<B>Latest News</B>"); strs.Add("</TD>"); strs.Add("</TR>"); if (!this.fShowHeadlines) { strs.Add("<TR>"); strs.Add("<TD class=dimmed>"); strs.Add("Headlines are disabled"); strs.Add("</TD>"); strs.Add("</TR>"); } else if (this.fHeadlines == null) { strs.Add("<TR>"); strs.Add("<TD class=dimmed>"); strs.Add("Retrieving headlines..."); strs.Add("</TD>"); strs.Add("</TR>"); } else if (this.fHeadlines.Count != 0) { this.fHeadlines.Sort(); int num = 0; List <WelcomePanel.Headline> .Enumerator enumerator = this.fHeadlines.GetEnumerator(); try { do { if (!enumerator.MoveNext()) { break; } WelcomePanel.Headline current = enumerator.Current; strs.Add("<TR>"); strs.Add("<TD>"); strs.Add(string.Concat(current.Date.ToString("dd MMM"), ":")); string[] uRL = new string[] { "<A href=\"", current.URL, "\" target=_new>", current.Title, "</A>" }; strs.Add(string.Concat(uRL)); strs.Add("</TD>"); strs.Add("</TR>"); num++; }while (num != 10); } finally { ((IDisposable)enumerator).Dispose(); } } else { strs.Add("<TR>"); strs.Add("<TD class=dimmed>"); strs.Add("Could not download headlines"); strs.Add("</TD>"); strs.Add("</TR>"); } strs.Add("</TABLE>"); strs.Add("</P>"); strs.Add("</BODY>"); strs.Add("</HTML>"); this.MenuBrowser.Document.OpenNew(true); this.MenuBrowser.Document.Write(HTML.Concatenate(strs)); }