protected override ContextMenuStrip CreateMenu() { // Create the menu strip. var menu = new ContextMenuStrip(); // Create a 'count lines' item. var checkFaceItem = new ToolStripMenuItem { Text = "Check Face", Image = Properties.Resources.faceico16 }; var filename = SelectedItemPaths.Single(); foreach (var alg in FileHasher.Algorithms) { var item = new ToolStripMenuItem { Text = alg.Name }; checkFaceItem.DropDownItems.Add(item); item.Click += (sender, args) => new CheckFaceForm(filename, new FileHasher(alg)).Show(); } // When we click, we'll call the 'CountLines' function. checkFaceItem.DoubleClick += (sender, args) => new CheckFaceForm(filename, new FileHasher(HashAlgorithmName.SHA256)).Show(); checkFaceItem.DoubleClickEnabled = true; menu.Items.Add(checkFaceItem); // Return the menu. return(menu); }
protected override ContextMenuStrip CreateMenu() { var menu = new ContextMenuStrip(); var menuRoot = new ToolStripMenuItem { Text = Constants.Novaroma, Image = Resources.Img_Logo_16x16 }; var client = Novaroma.Helper.CreateShellServiceClient(); Helper.SetCulture(client); var singleSelection = SelectedItemPaths.Single(); var newMedia = new ToolStripMenuItem { Text = Resources.New, Image = Resources.Img_NewMedia_16x16 }; newMedia.Click += (sender, args) => NewMedia(singleSelection); menuRoot.DropDownItems.Add(newMedia); var dirStatus = client.GetDirectoryWatchStatus(singleSelection).Result; if (dirStatus == DirectoryWatchStatus.None) { if (Directory.GetDirectories(singleSelection).Any()) { var watchDirectory = new ToolStripMenuItem { Text = Resources.AddSubdirectories, Image = Resources.Img_AddSubdirectories_16x16 }; watchDirectory.Click += (sender, args) => WatchDirectory(singleSelection); menuRoot.DropDownItems.Add(watchDirectory); } } menu.Items.Add(menuRoot); return(menu); }
protected override bool CanShowMenu() => SelectedItemPaths.Count() == 1 && File.Exists(SelectedItemPaths.Single());