示例#1
0
        /// <summary>
        /// The generate source menu.
        /// </summary>
        /// <returns>
        /// The System.Collections.Generic.IEnumerable`1[T -&gt; HandBrakeWPF.Model.SourceMenuItem].
        /// </returns>
        private IList<SourceMenuItem> GenerateSourceMenu()
        {
            List<SourceMenuItem> menuItems = new List<SourceMenuItem>();

            SourceMenuItem folderScan = new SourceMenuItem
            {
                Image = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/HandBrake;component/Views/Images/folder.png")), Width = 16, Height = 16 },
                Text = "Open Folder",
                Command = new SourceMenuCommand(this.FolderScan),
                IsDrive = false,
                InputGestureText = "Ctrl + R"
            };
            SourceMenuItem fileScan = new SourceMenuItem
            {
                Image = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/HandBrake;component/Views/Images/Movies.png")), Width = 16, Height = 16 },
                Text = "Open File",
                Command = new SourceMenuCommand(this.FileScan),
                IsDrive = false,
                InputGestureText = "Ctrl + F"
            };

            SourceMenuItem titleSpecific = new SourceMenuItem { Text = "Title Specific Scan" };
            SourceMenuItem folderScanTitle = new SourceMenuItem
            {
                Image = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/HandBrake;component/Views/Images/folder.png")), Width = 16, Height = 16 },
                Text = "Open Folder",
                Command = new SourceMenuCommand(this.FolderScanTitleSpecific),
                IsDrive = false
            };
            SourceMenuItem fileScanTitle = new SourceMenuItem
            {
                Image = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/HandBrake;component/Views/Images/Movies.png")), Width = 16, Height = 16 },
                Text = "Open File",
                Command = new SourceMenuCommand(this.FileScanTitleSpecific),
                IsDrive = false
            };
            titleSpecific.Children.Add(folderScanTitle);
            titleSpecific.Children.Add(fileScanTitle);

            menuItems.Add(folderScan);
            menuItems.Add(fileScan);
            menuItems.Add(titleSpecific);

            // Drives
            menuItems.AddRange(
                from item in GeneralUtilities.GetDrives()
                let driveInformation = item
                select
                    new SourceMenuItem
                        {
                            Image = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/HandBrake;component/Views/Images/disc_small.png")), Width = 16, Height = 16 },
                            Text = string.Format("{0} ({1})", item.RootDirectory, item.VolumeLabel),
                            Command = new SourceMenuCommand(() => this.ProcessDrive(driveInformation)),
                            Tag = item,
                            IsDrive = true
                        });

            return menuItems;
        }
示例#2
0
        /// <summary>
        /// The generate source menu.
        /// </summary>
        /// <returns>
        /// The System.Collections.Generic.IEnumerable`1[T -&gt; HandBrakeWPF.Model.SourceMenuItem].
        /// </returns>
        private IList<SourceMenuItem> GenerateSourceMenu()
        {
            List<SourceMenuItem> menuItems = new List<SourceMenuItem>();

            SourceMenuItem folderScan = new SourceMenuItem
            {
                IsOpenFolder = true,
                Text = "Open Folder",
                Command = new SourceMenuCommand(this.FolderScan),
                IsDrive = false,
                InputGestureText = "Ctrl + R"
            };
            SourceMenuItem fileScan = new SourceMenuItem
            {
                IsOpenFolder = false,
                Text = "Open File",
                Command = new SourceMenuCommand(this.FileScan),
                IsDrive = false,
                InputGestureText = "Ctrl + F"
            };

            SourceMenuItem titleSpecific = new SourceMenuItem { Text = "Title Specific Scan" };
            SourceMenuItem folderScanTitle = new SourceMenuItem
            {
                IsOpenFolder = true,
                Text = "Open Folder",
                Command = new SourceMenuCommand(this.FolderScanTitleSpecific),
                IsDrive = false
            };
            SourceMenuItem fileScanTitle = new SourceMenuItem
            {
                IsOpenFolder = false,
                Text = "Open File",
                Command = new SourceMenuCommand(this.FileScanTitleSpecific),
                IsDrive = false
            };
            titleSpecific.Children.Add(folderScanTitle);
            titleSpecific.Children.Add(fileScanTitle);

            menuItems.Add(folderScan);
            menuItems.Add(fileScan);
            menuItems.Add(titleSpecific);

            // Drives
            menuItems.AddRange(
                from item in GeneralUtilities.GetDrives()
                let driveInformation = item
                select
                    new SourceMenuItem
                        {
                            Text = string.Format("{0} ({1})", item.RootDirectory, item.VolumeLabel),
                            Command = new SourceMenuCommand(() => this.ProcessDrive(driveInformation)),
                            Tag = item,
                            IsDrive = true
                        });

            return menuItems;
        }