public void BuildMenu()
{
ToolStripMenuItem stateText = new ToolStripMenuItem("");
stateText.Visible = false;
this.trayMenu.Items.Add(stateText);
this.trayMenu.Items.Add("-", null);
ToolStripMenuItem savings = new ToolStripMenuItem("");
savings.Visible = false;
this.trayMenu.Items.Add(savings);
ToolStripMenuItem sqFolder = new ToolStripMenuItem("StorageQloud Folder", Icons.qloudsync_folder , OpenStorageQloudFolder);
this.trayMenu.Items.Add(sqFolder);
ToolStripMenuItem shareview = new ToolStripMenuItem("Share/View Online", Icons.share, OpenStorageQloudWebsite);
this.trayMenu.Items.Add(shareview);
this.trayMenu.Items.Add("-", null);
ToolStripMenuItem recentlyChanged = new ToolStripMenuItem("Recently Changed");
recentlyChanged.Enabled = false;
this.trayMenu.Items.Add(recentlyChanged);
ToolStripMenuItem pauseSync = new ToolStripMenuItem();
pauseSync.Text = this.PauseText();
pauseSync.Click += PauseSyncronizers;
//Dont remove this separators
ToolStripSeparator recentlyChangedSeparator = new ToolStripSeparator();
this.trayMenu.Items.Add(recentlyChangedSeparator);
//place to load recently changes
ToolStripSeparator recentlyChangedFinalSeparator = new ToolStripSeparator();
this.trayMenu.Items.Add(recentlyChangedFinalSeparator);
//ADD to preferences
//this.trayMenu.Items.Add("Network Status", null, OpenNetworkManager);
ToolStripMenuItem preferences = new ToolStripMenuItem("Preferences", null, ShowPreferencesWindow);
this.trayMenu.Items.Add(preferences);
this.trayMenu.Items.Add(pauseSync);
this.trayMenu.Items.Add("-", null);
this.trayMenu.Items.Add("Help Center", null, OpenStorageQloudHelpCenter);
this.trayMenu.Items.Add("About QloudSync", null, ShowAboutWindow);
this.trayMenu.Items.Add("Exit QloudSync", null, OnExit);
this.trayIcon.MouseClick += (sender, args) =>
{
if (((MouseEventArgs)args).Button == System.Windows.Forms.MouseButtons.Left)
{
bool renderLoggedIn = Credential.Username != "";
sqFolder.Visible = renderLoggedIn;
shareview.Visible = renderLoggedIn;
recentlyChanged.Visible = renderLoggedIn;
pauseSync.Visible = renderLoggedIn;
recentlyChangedSeparator.Visible = renderLoggedIn;
recentlyChangedFinalSeparator.Visible = renderLoggedIn;
preferences.Visible = renderLoggedIn;
MethodInfo mi = typeof(NotifyIcon).GetMethod("ShowContextMenu", BindingFlags.Instance | BindingFlags.NonPublic);
mi.Invoke(this.trayIcon, null);
}
};
this.trayMenu.Opening += (sender, args) => {
pauseSync.Text = PauseText();
LoadExtraItems(recentlyChangedSeparator, recentlyChangedFinalSeparator, savings, recentlyChanged, stateText);
};
}