コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 protected override bool CanShowMenu() =>
 SelectedItemPaths.Count() == 1 && File.Exists(SelectedItemPaths.Single());