diff --git a/Bonsai.Editor/MainForm.Designer.cs b/Bonsai.Editor/MainForm.Designer.cs
index 632aa909e..bbc8b16ab 100644
--- a/Bonsai.Editor/MainForm.Designer.cs
+++ b/Bonsai.Editor/MainForm.Designer.cs
@@ -66,9 +66,9 @@ private void InitializeComponent()
this.toolsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.packageManagerToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.contentsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.indexToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.searchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.wikiToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.forumToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.reportBugToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.welcomeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -428,9 +428,9 @@ private void InitializeComponent()
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.contentsToolStripMenuItem,
- this.indexToolStripMenuItem,
- this.searchToolStripMenuItem,
+ this.wikiToolStripMenuItem,
+ this.forumToolStripMenuItem,
+ this.reportBugToolStripMenuItem,
this.toolStripSeparator5,
this.welcomeToolStripMenuItem,
this.aboutToolStripMenuItem});
@@ -438,43 +438,46 @@ private void InitializeComponent()
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
this.helpToolStripMenuItem.Text = "&Help";
//
- // contentsToolStripMenuItem
+ // wikiToolStripMenuItem
//
- this.contentsToolStripMenuItem.Enabled = false;
- this.contentsToolStripMenuItem.Name = "contentsToolStripMenuItem";
- this.contentsToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
- this.contentsToolStripMenuItem.Text = "&Contents";
+ this.wikiToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("wikiToolStripMenuItem.Image")));
+ this.wikiToolStripMenuItem.Name = "wikiToolStripMenuItem";
+ this.wikiToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+ this.wikiToolStripMenuItem.Text = "Wi&ki";
+ this.wikiToolStripMenuItem.Click += new System.EventHandler(this.wikiToolStripMenuItem_Click);
//
- // indexToolStripMenuItem
+ // forumToolStripMenuItem
//
- this.indexToolStripMenuItem.Enabled = false;
- this.indexToolStripMenuItem.Name = "indexToolStripMenuItem";
- this.indexToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
- this.indexToolStripMenuItem.Text = "&Index";
+ this.forumToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("forumToolStripMenuItem.Image")));
+ this.forumToolStripMenuItem.Name = "forumToolStripMenuItem";
+ this.forumToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+ this.forumToolStripMenuItem.Text = "Bonsai &Forums";
+ this.forumToolStripMenuItem.Click += new System.EventHandler(this.forumToolStripMenuItem_Click);
//
- // searchToolStripMenuItem
+ // reportBugToolStripMenuItem
//
- this.searchToolStripMenuItem.Enabled = false;
- this.searchToolStripMenuItem.Name = "searchToolStripMenuItem";
- this.searchToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
- this.searchToolStripMenuItem.Text = "&Search";
+ this.reportBugToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("reportBugToolStripMenuItem.Image")));
+ this.reportBugToolStripMenuItem.Name = "reportBugToolStripMenuItem";
+ this.reportBugToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
+ this.reportBugToolStripMenuItem.Text = "&Report a Bug";
+ this.reportBugToolStripMenuItem.Click += new System.EventHandler(this.reportBugToolStripMenuItem_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
- this.toolStripSeparator5.Size = new System.Drawing.Size(121, 6);
+ this.toolStripSeparator5.Size = new System.Drawing.Size(149, 6);
//
// welcomeToolStripMenuItem
//
this.welcomeToolStripMenuItem.Name = "welcomeToolStripMenuItem";
- this.welcomeToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.welcomeToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.welcomeToolStripMenuItem.Text = "&Welcome";
this.welcomeToolStripMenuItem.Click += new System.EventHandler(this.welcomeToolStripMenuItem_Click);
//
// aboutToolStripMenuItem
//
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
- this.aboutToolStripMenuItem.Size = new System.Drawing.Size(124, 22);
+ this.aboutToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.aboutToolStripMenuItem.Text = "&About...";
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
//
@@ -1035,9 +1038,9 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem workflowToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem contentsToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem indexToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem searchToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem wikiToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem forumToolStripMenuItem;
+ private System.Windows.Forms.ToolStripMenuItem reportBugToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
private System.Windows.Forms.OpenFileDialog openWorkflowDialog;
diff --git a/Bonsai.Editor/MainForm.cs b/Bonsai.Editor/MainForm.cs
index 3d4ea3114..9470ee077 100644
--- a/Bonsai.Editor/MainForm.cs
+++ b/Bonsai.Editor/MainForm.cs
@@ -1452,6 +1452,43 @@ private void packageManagerToolStripMenuItem_Click(object sender, EventArgs e)
#region Help Menu
+ private void StartBrowser(string url)
+ {
+ Uri result;
+ var validUrl = Uri.TryCreate(url, UriKind.Absolute, out result) &&
+ (result.Scheme == Uri.UriSchemeHttp || result.Scheme == Uri.UriSchemeHttps);
+ if (!validUrl)
+ {
+ throw new ArgumentException("The URL is malformed.");
+ }
+
+ try
+ {
+ Cursor = Cursors.AppStarting;
+ Process.Start(url);
+ }
+ catch { } //best effort
+ finally
+ {
+ Cursor = null;
+ }
+ }
+
+ private void wikiToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ StartBrowser("https://bitbucket.org/horizongir/bonsai/wiki");
+ }
+
+ private void forumToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ StartBrowser("https://groups.google.com/forum/#!forum/bonsai-users");
+ }
+
+ private void reportBugToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ StartBrowser("https://bitbucket.org/horizongir/bonsai/issues/new");
+ }
+
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
using (var about = new AboutBox())
diff --git a/Bonsai.Editor/MainForm.resx b/Bonsai.Editor/MainForm.resx
index 02f4bbc8d..dbd8ba604 100644
--- a/Bonsai.Editor/MainForm.resx
+++ b/Bonsai.Editor/MainForm.resx
@@ -275,6 +275,33 @@
JGP7P8kLEQn6SikrQ0xmXhXU6K117chpwcM3840xknOOQggIfABq9DDDDnZ7goxFY4xgraWUkoBa+1Wc
ewIZ6iLw3gttrwo40hEAPaENgeaEseAcGjFf8MubMPrPF1wxX/D4hMeCK+YJ7vDP0bIDFVes7Wn8RVwA
AAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ xAAADsQBlSsOGwAAAOBJREFUOE+dU0sKwjAQzT3ceCj35gIuXHsGD+ExBCEI4jZeQVd+kNJNwYXEee2M
+ JJNUqw8eNPPmPZpkYjSaprFERwyKqFluy0HimOjdsQ7TzTmMVqeEqEFDD3rZ1oHN1Wx7zYyai/0NIVUS
+ QgsPQZrmu3uoH88gwDdqKsSL2eLXRAT7EPfwdiwCnN6zYLK+tBTEPfDAi4BEKFGg6/B+DFgearZ20PrX
+ gBgI0/rggJIGSkB2iEMYH2J2jUJBSXtfI8+CL02hQNeTQQJo0Y5yPI19LI4ywCH/PaYYJP7wnI15AZ9a
+ s/c7lU10AAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ xAAADsQBlSsOGwAAAKxJREFUOE/NkrENwyAURD2KZ6FnALZI6YzBBJ7DblJTOQV7OGloz5xFHBx+ZMdu
+ 8qUnwf93hwRUAE4hNn/hvYgVQmgj2KCltgjgwHsPrTWUUiKcUUOtFDALhuGOx/gU4YwaasUAniIZc6j5
+ 44Czd1C8Ak1Nc132nH19hc9/QEPf9TDGzPsM+R/k9Qrgic45mi5ptNSuAGstzbfUXtVmQGKM1Km9qiLg
+ KGJzP6gm/JDKQpSrS7MAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAGhJREFUOE9j+P//
+ P8O3b9/+E4HfA7EBAxIA6YUb4OTkhBe3tbVhGEKSASCMbghWAz68/4gVYzOELAOQDSFogJ2dHRgji8HU
+ gfSMBAMeP3wKxshiJBkw8F7AhgkaQCymvgHk4P///zMAAA+12OcyLyvuAAAAAElFTkSuQmCC