private void CreateMainMenu(WindowShell shell)
{
var main_menu = window_shell.CreateMainMenu("main_menu");
main_menu.Append(new Gtk.Action("file", Catalog.GetString("_File")).CreateMenuItem());
main_menu.Append(new Gtk.Action("edit", Catalog.GetString("_Edit")).CreateMenuItem());
MenuItem view_menu = (MenuItem) new Gtk.Action("view", Catalog.GetString("_View")).CreateMenuItem();
main_menu.Append(view_menu);
main_menu.Append(new Gtk.Action("image", Catalog.GetString("_Image")).CreateMenuItem());
main_menu.Append(new Gtk.Action("layers", Catalog.GetString("_Layers")).CreateMenuItem());
main_menu.Append(new Gtk.Action("adjustments", Catalog.GetString("_Adjustments")).CreateMenuItem());
main_menu.Append(new Gtk.Action("effects", Catalog.GetString("Effe_cts")).CreateMenuItem());
main_menu.Append(new Gtk.Action("addins", Catalog.GetString("A_dd-ins")).CreateMenuItem());
MenuItem window_menu = (MenuItem) new Gtk.Action("window", Catalog.GetString("_Window")).CreateMenuItem();
window_menu.Submenu = new Menu();
main_menu.Append(window_menu);
Gtk.Action pads = new Gtk.Action("pads", Mono.Unix.Catalog.GetString("Tool Windows"), null, null);
view_menu.Submenu = new Menu();
show_pad = (Menu)((Menu)(view_menu.Submenu)).AppendItem(pads.CreateSubMenuItem()).Submenu;
main_menu.Append(new Gtk.Action("help", Catalog.GetString("_Help")).CreateMenuItem());
PintaCore.Actions.CreateMainMenu(main_menu);
if (PintaCore.System.OperatingSystem == OS.Mac)
{
try {
//enable the global key handler for keyboard shortcuts
IgeMacMenu.GlobalKeyHandlerEnabled = true;
//Tell the IGE library to use your GTK menu as the Mac main menu
IgeMacMenu.MenuBar = main_menu;
//tell IGE which menu item should be used for the app menu's quit item
IgeMacMenu.QuitMenuItem = (MenuItem)PintaCore.Actions.File.Exit.CreateMenuItem();
//add a new group to the app menu, and add some items to it
var appGroup = IgeMacMenu.AddAppMenuGroup();
MenuItem aboutItem = (MenuItem)PintaCore.Actions.Help.About.CreateMenuItem();
appGroup.AddMenuItem(aboutItem, Catalog.GetString("About"));
main_menu.Hide();
} catch {
// If things don't work out, just use a normal menu.
}
}
PintaCore.Chrome.InitializeMainMenu(main_menu);
}