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