private void AddMenuItems()
{
/* add item to Tools menu */
keeAgentMenuItem = new ToolStripMenuItem();
keeAgentMenuItem.Text = Translatable.KeeAgent;
keeAgentMenuItem.ToolTipText = Translatable.KeeAgentMenuItemToolTip;
keeAgentMenuItem.Image = Resources.KeeAgentIcon_png;
keeAgentMenuItem.Click += manageKeeAgentMenuItem_Click;
pluginHost.MainWindow.ToolsMenu.DropDownItems.Add(keeAgentMenuItem);
/* add item to help menu */
var foundToolstripItem = pluginHost.MainWindow.MainMenuStrip.Items.Find("m_menuHelp", true);
if (foundToolstripItem.Length > 0) {
var helpMenu = foundToolstripItem[0] as ToolStripMenuItem;
var keeAgentHelpMenuItem = new ToolStripMenuItem();
keeAgentHelpMenuItem.Text = "KeeAgent Help";
keeAgentHelpMenuItem.Image = Resources.KeeAgentIcon_png;
keeAgentHelpMenuItem.Click += (sender, e) =>
{
Process.Start("http://lechnology.com/KeeAgent");
};
var firstSeparatorIndex = helpMenu.DropDownItems.IndexOfKey("m_menuHelpSep0");
helpMenu.DropDownItems.Insert(firstSeparatorIndex, keeAgentHelpMenuItem);
}
/* add item to Password Entry context menu */
var foundControl = pluginHost.MainWindow.Controls.Find("m_lvEntries", true);
if (foundControl.Length > 0) {
var entryListView = foundControl[0] as CustomListViewEx;
if (entryListView != null) {
var pwEntryContextMenu = entryListView.ContextMenuStrip;
if (pwEntryContextMenu != null) {
pwEntryContextMenuLoadKeyMenuItem = new ToolStripMenuItem() {
Text = Translatable.LoadKeyContextMenuItem,
Image = Resources.KeeAgentIcon_png,
ShortcutKeys = Keys.Control | Keys.L,
};
pwEntryContextMenuLoadKeyMenuItem.Click +=
PwEntryContextMenuLoadKeyItem_Clicked;
pwEntryContextMenuLoadKeyOpenUrlMenuItem = new ToolStripMenuItem()
{
Text = Translatable.LoadKeyContextMenuItem,
Image = Resources.KeeAgentIcon_png,
ShortcutKeys = Keys.Control | Keys.Shift | Keys.L,
Visible = false
};
pwEntryContextMenuLoadKeyOpenUrlMenuItem.Click +=
PwEntryContextMenuLoadKeyItem_Clicked;
var firstSeparatorIndex =
pwEntryContextMenu.Items.IndexOfKey("m_ctxEntrySep0");
pwEntryContextMenu.Items.Insert(firstSeparatorIndex,
pwEntryContextMenuLoadKeyMenuItem);
pwEntryContextMenu.Items.Insert(firstSeparatorIndex,
pwEntryContextMenuLoadKeyOpenUrlMenuItem);
pwEntryContextMenu.Opening += PwEntry_ContextMenu_Opening;
pwEntryContextMenuUrlOpenMenuItem =
pwEntryContextMenu.Items.Find("m_ctxEntryOpenUrl", true).SingleOrDefault() as ToolStripMenuItem;
}
}
}
/* add item to notification icon context menu */
notifyIconContextMenuItem = new ToolStripMenuItem();
notifyIconContextMenuItem.Text = Translatable.KeeAgent;
notifyIconContextMenuItem.ToolTipText = Translatable.KeeAgentMenuItemToolTip;
notifyIconContextMenuItem.Image = Resources.KeeAgentIcon_png;
notifyIconContextMenuItem.Click += manageKeeAgentMenuItem_Click;
var notifyIconContextMenu =
pluginHost.MainWindow.TrayContextMenu;
var secondSeparatorIndex =
notifyIconContextMenu.Items.IndexOfKey("m_ctxTraySep1");
notifyIconContextMenu.Items.Insert(secondSeparatorIndex,
notifyIconContextMenuItem);
}