public void CreateMenu()
{
using (NSAutoreleasePool a = new NSAutoreleasePool())
{
this.menu = new NSMenu();
this.menu.AutoEnablesItems = false;
this.FolderItems = new Dictionary <String, NSMenuItem>();
this.state_item = new NSMenuItem()
{
Title = Controller.StateText,
Enabled = false
};
this.log_item = new NSMenuItem()
{
Title = CmisSync.Properties_Resources.ViewLog
};
this.log_item.Activated += delegate
{
Controller.LogClicked();
};
this.add_item = new NSMenuItem()
{
Title = CmisSync.Properties_Resources.AddARemoteFolder,
Enabled = true
};
this.add_item.Activated += delegate {
Controller.AddRemoteFolderClicked();
};
this.about_item = new NSMenuItem()
{
Title = CmisSync.Properties_Resources.About,
Enabled = true
};
this.about_item.Activated += delegate {
Controller.AboutClicked();
};
this.quit_item = new NSMenuItem()
{
Title = CmisSync.Properties_Resources.Exit,
Enabled = true
};
this.quit_item.Activated += delegate {
Controller.QuitClicked();
};
this.menu.AddItem(this.state_item);
this.menu.AddItem(NSMenuItem.SeparatorItem);
if (Controller.Folders.Length > 0)
{
foreach (string folder_name in Controller.Folders)
{
this.menu.AddItem(CreateFolderMenuItem(folder_name));
}
;
if (Controller.OverflowFolders.Length > 0)
{
NSMenuItem moreitem = new NSMenuItem();
moreitem.Title = "More Folder";
NSMenu moreitemsmenu = new NSMenu();
foreach (string folder_name in Controller.OverflowFolders)
{
moreitemsmenu.AddItem(CreateFolderMenuItem(folder_name));
}
;
moreitem.Submenu = moreitemsmenu;
this.menu.AddItem(moreitem);
}
this.menu.AddItem(NSMenuItem.SeparatorItem);
}
this.menu.AddItem(this.add_item);
this.menu.AddItem(NSMenuItem.SeparatorItem);
this.menu.AddItem(this.log_item);
this.menu.AddItem(this.about_item);
this.menu.AddItem(NSMenuItem.SeparatorItem);
this.menu.AddItem(this.quit_item);
this.menu.Delegate = new StatusIconMenuDelegate();
this.status_item.Menu = this.menu;
}
}