using FastReport.Design.Toolbars;
using FastReport.Design.ToolWindows;
using FastReport.Forms;
using FastReport.Utils;
using System;
using System.ComponentModel;
using System.Windows.Forms;
namespace FastReport.Design.StandardDesigner
{
///
/// Represents the designer's main menu.
///
///
/// To get this menu, use the following code:
///
/// Designer designer;
/// DesignerMenu menu = designer.Plugins.FindType("DesignerMenu") as DesignerMenu;
///
///
[ToolboxItem(false)]
public class DesignerMenu : MenuStrip, IDesignerPlugin
{
#region Fields
private Designer FDesigner;
///
/// The "File" menu.
///
public ToolStripMenuItem miFile;
///
/// The "File|New..." menu.
///
public ToolStripMenuItem miFileNew;
///
/// The "File|Open..." menu.
///
public ToolStripMenuItem miFileOpen;
///
/// The "File|Open page..." menu.
///
public ToolStripMenuItem miFileOpenPage;
///
/// The "File|Open via Cloud..." menu.
///
public ToolStripMenuItem miFileOpenViaCloud;
///
/// The "File|Recent Files" menu.
///
public ToolStripMenuItem miFileRecentFiles;
///
/// The "File|Close" menu.
///
public ToolStripMenuItem miFileClose;
///
/// The "File|Save" menu.
///
public ToolStripMenuItem miFileSave;
///
/// The "File|Save as..." menu.
///
public ToolStripMenuItem miFileSaveAs;
///
/// The "File|Save to Cloud..." menu.
///
public ToolStripMenuItem miFileSaveToCloud;
///
/// The "File|Save With Random Data..." menu.
///
public ToolStripMenuItem miFileSaveWithRandomData;
///
/// The "File|Save All" menu.
///
public ToolStripMenuItem miFileSaveAll;
///
/// The "File|Page Setup..." menu.
///
public ToolStripMenuItem miFilePageSetup;
///
/// The "File|Printer Setup..." menu.
///
public ToolStripMenuItem miFilePrinterSetup;
///
/// The "File|Preview..." menu.
///
public ToolStripMenuItem miFilePreview;
///
/// The "File|Web preview..." menu.
///
public ToolStripMenuItem miFileCloudPreview;
///
/// The "File|Select Language" menu.
///
public ToolStripMenuItem miFileSelectLanguage;
///
/// The "File|Exit" menu.
///
public ToolStripMenuItem miFileExit;
///
/// The "Edit" menu.
///
public ToolStripMenuItem miEdit;
///
/// The "Edit|Undo" menu.
///
public ToolStripMenuItem miEditUndo;
///
/// The "Edit|Redo" menu.
///
public ToolStripMenuItem miEditRedo;
///
/// The "Edit|Cut" menu.
///
public ToolStripMenuItem miEditCut;
///
/// The "Edit|Copy" menu.
///
public ToolStripMenuItem miEditCopy;
///
/// The "Edit|Paste" menu.
///
public ToolStripMenuItem miEditPaste;
///
/// The "Edit|Delete" menu.
///
public ToolStripMenuItem miEditDelete;
///
/// The "Edit|New Page" menu.
///
public ToolStripMenuItem miEditNewPage;
///
/// The "Edit|Delete Page" menu.
///
public ToolStripMenuItem miEditDeletePage;
///
/// The "Edit|Copy Page" menu.
///
public ToolStripMenuItem miEditCopyPage;
///
/// The "Edit|Select All" menu.
///
public ToolStripMenuItem miEditSelectAll;
///
/// The "Edit|Group" menu.
///
public ToolStripMenuItem miEditGroup;
///
/// The "Edit|Ungroup" menu.
///
public ToolStripMenuItem miEditUngroup;
///
/// The "Edit|Find..." menu.
///
public ToolStripMenuItem miEditFind;
///
/// The "Edit|Replace..." menu.
///
public ToolStripMenuItem miEditReplace;
///
/// The "View" menu.
///
public ToolStripMenuItem miView;
///
/// The "View|Toolbars" menu.
///
public ToolStripMenuItem miViewToolbars;
///
/// The "View|Start Page" menu.
///
public ToolStripMenuItem miViewStartPage;
///
/// The "View|Messages" menu.
///
public ToolStripMenuItem miViewMessages;
///
/// The "View|Options..." menu.
///
public ToolStripMenuItem miViewOptions;
///
/// The "Insert" menu.
///
public ToolStripMenuItem miInsert;
///
/// The "Report" menu.
///
public ToolStripMenuItem miReport;
///
/// The "Report|Validation" menu.
///
public ToolStripMenuItem miReportValidation;
///
/// The "Report|Options..." menu.
///
public ToolStripMenuItem miReportOptions;
///
/// The "Data" menu.
///
public ToolStripMenuItem miData;
///
/// The "Data|Choose Report Data..." menu.
///
public ToolStripMenuItem miDataChoose;
///
/// The "Data|Add Data Source..." menu.
///
public ToolStripMenuItem miDataAdd;
///
/// The "Data|Show Data Dictionary" menu.
///
public ToolStripMenuItem miDataShowData;
///
/// The "Window" menu.
///
public ToolStripMenuItem miWindow;
///
/// The "Window|Close All" menu.
///
public ToolStripMenuItem miWindowCloseAll;
///
/// The "Help" menu.
///
public ToolStripMenuItem miHelp;
///
/// The "Help|Help Contents..." menu.
///
public ToolStripMenuItem miHelpContents;
///
/// The "Help|About..." menu.
///
public ToolStripMenuItem miHelpAbout;
///
/// The "Help|Account..." menu.
///
public ToolStripMenuItem miHelpAccount;
#endregion
#region Properties
internal Designer Designer
{
get { return FDesigner; }
}
///
public string PluginName
{
get { return Name; }
}
#endregion
#region Private Methods
private void UpdateControls()
{
miFileNew.Enabled = Designer.cmdNew.Enabled;
miFileOpenPage.Enabled = Designer.cmdOpenPage.Enabled;
miFileOpen.Enabled = Designer.cmdOpen.Enabled;
miFileOpenViaCloud.Enabled = Designer.cmdOpenViaCloud.Enabled;
miFileClose.Enabled = Designer.cmdClose.Enabled;
miFileClose.Visible = Designer.MdiMode;
miFileSave.Enabled = Designer.cmdSave.Enabled;
miFileSaveAs.Enabled = Designer.cmdSaveAs.Enabled;
miFileSaveToCloud.Enabled = Designer.cmdSaveToCloudCommand.Enabled;
miFileSaveWithRandomData.Enabled = Designer.cmdSaveWithRandomData.Enabled;
miFileSaveAll.Visible = Designer.MdiMode;
miFileSaveAll.Enabled = Designer.cmdSaveAll.Enabled;
miFilePageSetup.Enabled = Designer.cmdPageSetup.Enabled;
miFilePrinterSetup.Enabled = Designer.cmdPrinterSetup.Enabled;
miFilePreview.Enabled = Designer.cmdPreview.Enabled;
miFileCloudPreview.Enabled = Designer.cmdPreviewCloud.Enabled;
miEditUndo.Enabled = Designer.cmdUndo.Enabled;
miEditRedo.Enabled = Designer.cmdRedo.Enabled;
miEditCut.Enabled = Designer.cmdCut.Enabled;
miEditCopy.Enabled = Designer.cmdCopy.Enabled;
miEditDelete.Enabled = Designer.cmdDelete.Enabled;
miEditNewPage.Enabled = Designer.cmdNewPage.Enabled;
miEditCopyPage.Enabled = Designer.cmdCopyPage.Enabled;
miEditDeletePage.Enabled = Designer.cmdDeletePage.Enabled;
miEditSelectAll.Enabled = Designer.cmdSelectAll.Enabled;
miEditGroup.Enabled = Designer.cmdGroup.Enabled;
miEditUngroup.Enabled = Designer.cmdUngroup.Enabled;
miEditFind.Enabled = Designer.cmdFind.Enabled;
miEditReplace.Enabled = Designer.cmdReplace.Enabled;
miInsert.Visible = Designer.cmdInsert.Enabled;
miDataChoose.Enabled = Designer.cmdChooseData.Enabled;
miDataAdd.Enabled = Designer.cmdAddData.Enabled;
miReportValidation.Enabled = Designer.cmdReportValidation.Enabled;
miReportOptions.Enabled = Designer.cmdReportSettings.Enabled;
miViewStartPage.Visible = Designer.MdiMode;
miWindow.Visible = Designer.MdiMode;
miHelpContents.Enabled = Designer.cmdHelpContents.Enabled;
Refresh();
}
private void InsertMenuCreateMenus(ObjectInfo rootItem, ToolStripItemCollection rootMenu)
{
foreach (ObjectInfo item in rootItem.Items)
{
ToolStripMenuItem menuItem = new ToolStripMenuItem();
menuItem.Text = Res.TryGet(item.Text);
menuItem.Tag = item;
rootMenu.Add(menuItem);
if (item.Items.Count > 0)
{
// it's a category
InsertMenuCreateMenus(item, menuItem.DropDownItems);
}
else
{
menuItem.Image = this.GetImage(item.ImageIndex);
menuItem.Click += insertMenu_Click;
}
}
}
private void CreateInsertMenu()
{
if (Designer.ActiveReportTab != null && Designer.ActiveReportTab.ActivePage != null)
{
ObjectInfo pageItem = new ObjectInfo();
ObjectInfo info = RegisteredObjects.FindObject(Designer.ActiveReportTab.ActivePage);
bool contain;
if (info != null)
{
foreach (ObjectInfo item in info.Items)
{
contain = true;
foreach (ObjectInfo obj_item in pageItem.Items)
{
if (item.Text == obj_item.Text)
{
contain = false;
break;
}
}
if (contain)
{
pageItem.Items.Add(item);
}
}
InsertMenuCreateMenus(pageItem, miInsert.DropDownItems);
}
}
}
private void miFile_DropDownOpening(object sender, EventArgs e)
{
// recent items
miFileRecentFiles.DropDownItems.Clear();
if (Designer.cmdRecentFiles.Enabled && Designer.RecentFiles.Count > 0)
{
foreach (string s in Designer.RecentFiles)
{
ToolStripMenuItem menuItem = new ToolStripMenuItem();
menuItem.Text = s;
if (Designer.cmdRecentFiles.IsCloudFile(s))
menuItem.Image = Designer.GetImage(259);
menuItem.Click += recentFile_Click;
miFileRecentFiles.DropDownItems.Insert(0, menuItem);
}
}
miFileRecentFiles.Enabled = miFileRecentFiles.DropDownItems.Count > 0;
}
private void miEdit_DropDownOpening(object sender, EventArgs e)
{
miEditPaste.Enabled = Designer.cmdPaste.Enabled;
}
private void miInsert_DropDownOpening(object sender, EventArgs e)
{
miInsert.DropDownItems.Clear();
CreateInsertMenu();
}
private void miDataShowDataSources_Click(object sender, EventArgs e)
{
ToolWindowBase window = Designer.Plugins.Find("DictionaryWindow") as ToolWindowBase;
window.Show();
}
private void miView_DropDownOpening(object sender, EventArgs e)
{
// delete list of toolbars
miViewToolbars.DropDownItems.Clear();
// create list of toolbars
foreach (IDesignerPlugin plugin in Designer.Plugins)
{
if (plugin is DesignerToolbarBase toolbar)
{
var menuItem = new ToolStripMenuItem();
menuItem.Text = toolbar.Text;
menuItem.Tag = plugin;
menuItem.Checked = toolbar.Visible;
menuItem.Click += toolbar_Click;
miViewToolbars.DropDownItems.Add(menuItem);
}
}
miViewToolbars.Visible = miViewToolbars.DropDownItems.Count != 0;
miViewMessages.Checked = Designer.MessageWindowEnabled;
}
private void miWindow_DropDownOpening(object sender, EventArgs e)
{
// delete list of windows
while (miWindow.DropDownItems.Count > 0 && !(miWindow.DropDownItems[0] is ToolStripSeparator))
miWindow.DropDownItems[0].Dispose();
// create list of windows
int i = 0;
foreach (DocumentWindow c in Designer.Documents)
{
ToolStripMenuItem menuItem = new ToolStripMenuItem();
menuItem.Text = (i + 1).ToString() + " " + c.Text;
menuItem.Tag = c;
menuItem.Checked = c == Designer.ActiveReportTab;
menuItem.Click += window_Click;
miWindow.DropDownItems.Insert(i, menuItem);
i++;
}
}
private void miViewMessages_Click(object sender, EventArgs e)
{
Designer.MessageWindowEnabled = miViewMessages.Checked;
}
private void toolbar_Click(object sender, EventArgs e)
{
var toolbar = (sender as ToolStripMenuItem).Tag as DesignerToolbarBase;
toolbar.Visible = !toolbar.Visible;
(Designer as DesignerControl).LayoutToolbars();
}
private void recentFile_Click(object sender, EventArgs e)
{
Designer.cmdRecentFiles.LoadFile((sender as ToolStripMenuItem).Text);
}
private void window_Click(object sender, EventArgs e)
{
DocumentWindow window = (sender as ToolStripMenuItem).Tag as DocumentWindow;
window.Activate();
}
private void insertMenu_Click(object sender, EventArgs e)
{
ObjectInfo info = (sender as ToolStripMenuItem).Tag as ObjectInfo;
Designer.InsertObject(info, InsertFrom.NewObject);
}
#endregion
#region IDesignerPlugin
///
public void SaveState()
{
}
///
public void RestoreState()
{
}
///
public void SelectionChanged()
{
UpdateControls();
}
///
public void UpdateContent()
{
UpdateControls();
}
///
public void Lock()
{
}
///
public void Unlock()
{
UpdateContent();
}
///
public void Localize()
{
MyRes res = new MyRes("Designer,Menu");
miFile.Text = res.Get("File");
miFileNew.Text = res.Get("File,New");
miFileOpen.Text = res.Get("File,Open");
miFileOpenPage.Text = res.Get("File,OpenPage");
miFileOpenViaCloud.Text = res.Get("File,OpenViaCloud");
miFileRecentFiles.Text = res.Get("File,RecentFiles");
miFileClose.Text = res.Get("File,Close");
miFileSave.Text = res.Get("File,Save");
miFileSaveAs.Text = res.Get("File,SaveAs");
miFileSaveWithRandomData.Text = res.Get("File,SaveWithRandomData");
miFileSaveAll.Text = res.Get("File,SaveAll");
miFileSaveToCloud.Text = res.Get("File,SaveToCloud");
miFilePageSetup.Text = res.Get("File,PageSetup");
miFilePrinterSetup.Text = res.Get("File,PrinterSetup");
miFilePreview.Text = res.Get("File,Preview");
miFileCloudPreview.Text = res.Get("File,PreviewCloud");
miFileSelectLanguage.Text = res.Get("File,SelectLanguage");
miFileExit.Text = res.Get("File,Exit");
miEdit.Text = res.Get("Edit");
miEditUndo.Text = res.Get("Edit,Undo");
miEditRedo.Text = res.Get("Edit,Redo");
miEditCut.Text = res.Get("Edit,Cut");
miEditCopy.Text = res.Get("Edit,Copy");
miEditPaste.Text = res.Get("Edit,Paste");
miEditDelete.Text = res.Get("Edit,Delete");
miEditNewPage.Text = res.Get("Edit,NewPage");
miEditCopyPage.Text = res.Get("Edit,CopyPage");
miEditDeletePage.Text = res.Get("Edit,DeletePage");
miEditSelectAll.Text = res.Get("Edit,SelectAll");
miEditGroup.Text = res.Get("Edit,Group");
miEditUngroup.Text = res.Get("Edit,Ungroup");
miEditFind.Text = res.Get("Edit,Find");
miEditReplace.Text = res.Get("Edit,Replace");
miInsert.Text = res.Get("Insert");
miReport.Text = res.Get("Report");
miReportValidation.Text = res.Get("Report,Validate");
miReportOptions.Text = res.Get("Report,Options");
miData.Text = res.Get("Data");
miDataChoose.Text = res.Get("Data,Choose");
miDataAdd.Text = res.Get("Data,Add");
miDataShowData.Text = res.Get("Data,ShowData");
miView.Text = res.Get("View");
miViewToolbars.Text = res.Get("View,Toolbars");
miViewStartPage.Text = res.Get("View,StartPage");
miViewMessages.Text = Res.Get("Designer,ToolWindow,Messages");
miViewOptions.Text = res.Get("View,Options");
miWindow.Text = res.Get("Window");
miWindowCloseAll.Text = res.Get("Window,CloseAll");
miHelp.Text = res.Get("Help");
miHelpContents.Text = res.Get("Help,Contents");
miHelpAbout.Text = res.Get("Help,About");
miHelpAccount.Text = res.Get("Help,Account");
}
///
public virtual DesignerOptionsPage GetOptionsPage()
{
return null;
}
///
public void UpdateUIStyle()
{
Renderer = UIStyleUtils.GetToolStripRenderer(Designer.UIStyle);
}
///
public void UpdateDpiDependencies()
{
ImageList = Designer.GetImages();
Height = Designer.LogicalToDevice(24);
}
#endregion
#region Public Methods
///
/// Creates a new menu item.
///
/// New menu item.
public ToolStripMenuItem CreateMenuItem()
{
return CreateMenuItem(null);
}
///
/// Creates a new menu item.
///
/// Click handler.
/// New menu item.
public ToolStripMenuItem CreateMenuItem(EventHandler click)
{
return CreateMenuItem(-1, "", click);
}
///
/// Creates a new menu item.
///
/// Item's image index.
/// Click handler.
/// New menu item.
public ToolStripMenuItem CreateMenuItem(int imageIndex, EventHandler click)
{
return CreateMenuItem(imageIndex, "", click);
}
///
/// Creates a new menu item.
///
/// Item's text.
/// Click handler.
/// New menu item.
public ToolStripMenuItem CreateMenuItem(string text, EventHandler click)
{
return CreateMenuItem(-1, text, click);
}
///
/// Creates a new menu item.
///
/// Item's image index.
/// Item's text.
/// Click handler.
/// New menu item.
public ToolStripMenuItem CreateMenuItem(int imageIndex, string text, EventHandler click)
{
ToolStripMenuItem item = new ToolStripMenuItem();
#if !(WPF || AVALONIA)
item.Image = this.GetImage(imageIndex);
#else
item.ImageIndex = imageIndex;
#endif
item.Text = text;
if (click != null)
{
item.Click += click;
}
return item;
}
#endregion
///
/// Initializes a new instance of the class with default settings.
///
/// The report designer.
public DesignerMenu(Designer designer) : base()
{
FDesigner = designer;
Name = "MainMenu";
Font = DrawUtils.DefaultFont;
GripStyle = ToolStripGripStyle.Hidden;
Dock = DockStyle.Top;
// create menu items
miFile = CreateMenuItem();
miFileNew = CreateMenuItem(Designer.cmdNew.Invoke);
miFileOpen = CreateMenuItem(1, Designer.cmdOpen.Invoke);
miFileOpenPage = CreateMenuItem(Designer.cmdOpenPage.Invoke);
miFileOpenViaCloud = CreateMenuItem(261, Designer.cmdOpenViaCloud.Invoke);
miFileRecentFiles = CreateMenuItem();
miFileClose = CreateMenuItem(Designer.cmdClose.Invoke);
miFileSave = CreateMenuItem(2, Designer.cmdSave.Invoke);
miFileSaveAs = CreateMenuItem(Designer.cmdSaveAs.Invoke);
miFileSaveWithRandomData = CreateMenuItem(Designer.cmdSaveWithRandomData.Invoke);
miFileSaveAll = CreateMenuItem(178, Designer.cmdSaveAll.Invoke);
miFileSaveToCloud = CreateMenuItem(262, Designer.cmdSaveToCloudCommand.Invoke);
miFilePageSetup = CreateMenuItem(Designer.cmdPageSetup.Invoke);
miFilePrinterSetup = CreateMenuItem(Designer.cmdPrinterSetup.Invoke);
miFilePreview = CreateMenuItem(3, Designer.cmdPreview.Invoke);
miFileCloudPreview = CreateMenuItem(263, Designer.cmdPreviewCloud.Invoke);
miFileSelectLanguage = CreateMenuItem(Designer.cmdSelectLanguage.Invoke);
miFileExit = CreateMenuItem(Designer.Exit);
miEdit = CreateMenuItem();
miEditUndo = CreateMenuItem(8, Designer.cmdUndo.Invoke);
miEditRedo = CreateMenuItem(9, Designer.cmdRedo.Invoke);
miEditCut = CreateMenuItem(5, Designer.cmdCut.Invoke);
miEditCopy = CreateMenuItem(6, Designer.cmdCopy.Invoke);
miEditPaste = CreateMenuItem(7, Designer.cmdPaste.Invoke);
miEditDelete = CreateMenuItem(51, Designer.cmdDelete.Invoke);
miEditNewPage = CreateMenuItem(10, Designer.cmdNewPage.Invoke);
miEditCopyPage = CreateMenuItem(Designer.cmdCopyPage.Invoke);
miEditDeletePage = CreateMenuItem(12, Designer.cmdDeletePage.Invoke);
miEditSelectAll = CreateMenuItem(Designer.cmdSelectAll.Invoke);
miEditGroup = CreateMenuItem(17, Designer.cmdGroup.Invoke);
miEditUngroup = CreateMenuItem(16, Designer.cmdUngroup.Invoke);
miEditFind = CreateMenuItem(181, Designer.cmdFind.Invoke);
miEditReplace = CreateMenuItem(Designer.cmdReplace.Invoke);
miView = CreateMenuItem();
miViewStartPage = CreateMenuItem(179, Designer.cmdViewStartPage.Invoke);
miViewToolbars = CreateMenuItem();
miViewMessages = CreateMenuItem(70, miViewMessages_Click);
miViewMessages.CheckOnClick = true;
miViewOptions = CreateMenuItem(Designer.cmdOptions.Invoke);
miInsert = CreateMenuItem();
miInsert.DropDownItems.Add(CreateMenuItem()); // need to allow miInsert open its dropdown
miReport = CreateMenuItem();
miReportValidation = CreateMenuItem(70, Designer.cmdReportValidation.Invoke);
miReportOptions = CreateMenuItem(Designer.cmdReportSettings.Invoke);
miData = CreateMenuItem();
miDataChoose = CreateMenuItem(Designer.cmdChooseData.Invoke);
miDataAdd = CreateMenuItem(137, Designer.cmdAddData.Invoke);
miDataShowData = CreateMenuItem(72, miDataShowDataSources_Click);
miWindow = CreateMenuItem();
miWindowCloseAll = CreateMenuItem(202, Designer.cmdCloseAll.Invoke);
miHelp = CreateMenuItem();
miHelpContents = CreateMenuItem(90, Designer.cmdHelpContents.Invoke);
miHelpAccount = CreateMenuItem(259, Designer.cmdAccount.Invoke);
miHelpAbout = CreateMenuItem(Designer.cmdAbout.Invoke);
// create menu structure
Items.AddRange(new ToolStripItem[] {
miFile, miEdit, miView, miInsert, miReport, miData, miWindow, miHelp });
miFile.DropDownItems.AddRange(new ToolStripItem[] {
miFileNew, miFileOpen, miFileOpenPage, miFileOpenViaCloud, new ToolStripSeparator(),
miFileRecentFiles, miFileClose, new ToolStripSeparator(),
miFileSave, miFileSaveAll, miFileSaveAs, miFileSaveToCloud, miFileSaveWithRandomData, new ToolStripSeparator(),
miFilePageSetup, miFilePrinterSetup, miFilePreview, miFileCloudPreview, new ToolStripSeparator(),
miFileSelectLanguage, new ToolStripSeparator(),
miFileExit });
miEdit.DropDownItems.AddRange(new ToolStripItem[] {
miEditUndo, miEditRedo, new ToolStripSeparator(),
miEditCut, miEditCopy, miEditPaste, miEditDelete, new ToolStripSeparator(),
miEditNewPage, miEditCopyPage, miEditDeletePage, new ToolStripSeparator(),
miEditSelectAll, new ToolStripSeparator(),
miEditGroup, miEditUngroup, new ToolStripSeparator(),
miEditFind, miEditReplace });
miView.DropDownItems.AddRange(new ToolStripItem[] {
miViewStartPage,
miViewToolbars,
miViewMessages,
new ToolStripSeparator(),
miViewOptions });
miReport.DropDownItems.Add(miReportValidation);
miReport.DropDownItems.Add(miReportOptions);
miData.DropDownItems.AddRange(new ToolStripItem[] {
miDataChoose, miDataAdd });
miWindow.DropDownItems.Add(miWindowCloseAll);
miHelp.DropDownItems.AddRange(new ToolStripItem[] {
miHelpContents, new ToolStripSeparator(),
miHelpAccount, new ToolStripSeparator(), miHelpAbout });
if (!Config.DisableHotkeys)
{
// shortcuts
Keys shortcut;
if (Config.Shortcuts.TryGetValue("File,Open", out shortcut))
miFileOpen.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("File,Save", out shortcut))
miFileSave.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("File,SaveAs", out shortcut))
miFileSaveAs.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("File,SaveAll", out shortcut))
miFileSaveAll.ShortcutKeys = shortcut;
#if !COMMUNITY
if (Config.Shortcuts.TryGetValue("File,Preview", out shortcut))
miFilePreview.ShortcutKeys = shortcut;
#endif
if (Config.Shortcuts.TryGetValue("Editing,Undo", out shortcut))
miEditUndo.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,Redo", out shortcut))
miEditRedo.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,Cut", out shortcut))
miEditCut.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,Copy", out shortcut))
miEditCopy.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,Paste", out shortcut))
miEditPaste.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,NewPage", out shortcut))
miEditNewPage.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,SelectAll", out shortcut))
miEditSelectAll.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,Find", out shortcut))
miEditFind.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Editing,Replace", out shortcut))
miEditReplace.ShortcutKeys = shortcut;
if (Config.Shortcuts.TryGetValue("Help,Contents", out shortcut))
miHelpContents.ShortcutKeys = shortcut;
}
// events
miFile.DropDownOpening += miFile_DropDownOpening;
miEdit.DropDownOpening += miEdit_DropDownOpening;
miInsert.DropDownOpening += miInsert_DropDownOpening;
miView.DropDownOpening += miView_DropDownOpening;
miWindow.DropDownOpening += miWindow_DropDownOpening;
Localize();
Designer.Controls.Add(this);
}
}
}