public FileListCommandManager(IFileListViewModel flvm, IWindowManager windowManager, IEventAggregator events,
                                      params IExportCommandBindings[] additionalBindingExportSource)
            : base(additionalBindingExportSource)
        {
            _flvm = flvm;

            IEntryModel _currentDirectoryModel = null;

            InitCommandManager();
            ToolbarCommands = new ToolbarCommandsHelper(events, ParameterDicConverter,
                                                        message => { _currentDirectoryModel = message.NewModel; return(new IEntryModel[] { _currentDirectoryModel }); },
                                                        message => message.SelectedModels.Count() == 0 && _currentDirectoryModel != null ? new IEntryModel[] { _currentDirectoryModel } : message.SelectedModels.ToArray())
            {
                ExtraCommandProviders = new[] {
                    new StaticCommandProvider(new SelectGroupCommand(flvm),
                                              new ViewModeCommand(flvm),
                                              new SeparatorCommandModel(),
                                              new CommandModel(ExplorerCommands.NewFolder)
                    {
                        IsVisibleOnToolbar  = true,
                        HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE188)
                    },
                                              new DirectoryCommandModel(
                                                  new CommandModel(ExplorerCommands.NewFolder)
                    {
                        Header = Strings.strFolder, IsVisibleOnMenu = true
                    })
                    {
                        IsVisibleOnMenu = true, Header = Strings.strNew, IsEnabled = true
                    },
                                              new ToggleVisibilityCommand(flvm.Sidebar, ExplorerCommands.TogglePreviewer)
                                              )
                }
            };
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="rootModelFunc">Root directory used when saving.</param>
        public GoogleExportCommandModel(Func <IEntryModel[]> rootModelFunc)
        {
            _rootModelFunc           = rootModelFunc;
            this.HeaderIconExtractor =
                ResourceIconExtractor <ICommandModel>
                .ForSymbol(0xE118);

            this.Header    = "Export";
            this.IsEnabled = false;
        }
Ejemplo n.º 3
0
        //private Func<IEntryModel, string> _destPathFunc;
        public SzsCommandModel(IExplorerInitializer initializer)
            : base(ResultCommand.NoError)
        {
            _initializer        = initializer;
            HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE188);

            IsHeaderVisible = true;
            Header          = "Compress";
            //Func<IEntryModel, string> destPathFunc,
            //_destPathFunc = destPathFunc;
            IsVisibleOnMenu = true;
        }
Ejemplo n.º 4
0
        public DirectoryTreeCommandManager(IDirectoryTreeViewModel dlvm, IWindowManager windowManager,
                                           IEventAggregator events, params IExportCommandBindings[] additionalBindingExportSource)
            : base(additionalBindingExportSource)
        {
            _dlvm = dlvm;
            InitCommandManager();

            ToolbarCommands = new ToolbarCommandsHelper(events, ParameterDicConverter,
                                                        message => new[] { message.NewModel },
                                                        null)
            {
                ExtraCommandProviders = new[] {
                    new StaticCommandProvider(
                        new CommandModel(ApplicationCommands.New)
                    {
                        IsVisibleOnMenu = true
                    },
                        new CommandModel(ExplorerCommands.Refresh)
                    {
                        IsVisibleOnMenu = true
                    },
                        new CommandModel(ApplicationCommands.Delete)
                    {
                        IsVisibleOnMenu = true
                    },
                        new CommandModel(ExplorerCommands.Rename)
                    {
                        IsVisibleOnMenu = true
                    },

                        new CommandModel(ExplorerCommands.Map)
                    {
                        HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE17B),
                        //Symbol = Convert.ToChar(0xE17B),
                        IsEnabled       = true,
                        IsHeaderVisible = false, IsVisibleOnToolbar = true
                    },

                        new CommandModel(ExplorerCommands.Unmap)
                    {
                        HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE17A),
                        IsVisibleOnToolbar  = true, IsVisibleOnMenu = true
                    }
                        )
                }
            };
        }
        public SelectGroupCommand(IFileListViewModel flvm)
            : base(ApplicationCommands.SelectAll,
                   new CommandModel(ApplicationCommands.SelectAll) {
            //Symbol = Convert.ToChar(0xE14E),
            HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE14E),
            IsVisibleOnMenu     = true, IsVisibleOnToolbar = true
        },
                   new CommandModel(ExplorerCommands.ToggleCheckBox) {
            //Symbol = Convert.ToChar(0xe1ef),
            HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE1EF),
            IsVisibleOnMenu     = true, IsVisibleOnToolbar = true
        })
        {
            IsVisibleOnMenu = true; IsVisibleOnToolbar = true;
            //Symbol = Convert.ToChar(0xE10B);
            HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE10B);

            Header = Strings.txtSelection;
        }
        public ToggleVisibilityCommand(IToggleableVisibility vm, RoutedUICommand routedCommand)
            : base(routedCommand)
        {
            //Symbol = Convert.ToChar(0xE239);
            HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE239);

            IsVisibleOnToolbar = true;
            Header             = "";
            IsHeaderAlignRight = true;

            vm.PropertyChanged += (PropertyChangedEventHandler)((o, e) =>
            {
                switch (e.PropertyName)
                {
                case "IsVisible":
                    HeaderIconExtractor =
                        vm.IsVisible ?
                        ResourceIconExtractor <ICommandModel> .ForSymbol(0xE23A) :
                        ResourceIconExtractor <ICommandModel> .ForSymbol(0xE239);
                    //Symbol = vm.IsVisible ? Convert.ToChar(0xE23a) : Convert.ToChar(0xE239);
                    break;
                }
            });
        }
        public override IScriptCommand Execute(ParameterDic pm)
        {
            IWindowManager windowManager = pm.GetValue <IWindowManager>(WindowManagerKey) ?? new WindowManager();

            return(UIScriptCommands.ExplorerDo(ExplorerKey, explorerModel =>
            {
                #region FileList
                explorerModel.FileList.Commands.ToolbarCommands.ExtraCommandProviders = new[] {
                    new StaticCommandProvider(
                        new SeparatorCommandModel(),
                        new SelectGroupCommand(explorerModel.FileList),
                        new ViewModeCommand(explorerModel.FileList),
                        new SeparatorCommandModel(),
                        new CommandModel(ExplorerCommands.NewFolder)
                    {
                        IsVisibleOnToolbar = true,
                        HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE188)
                                              //Symbol = Convert.ToChar(0xE188)
                    },
                        new DirectoryCommandModel(
                            new CommandModel(ExplorerCommands.NewFolder)
                    {
                        Header = Strings.strFolder, IsVisibleOnMenu = true
                    }
                            )
                    {
                        IsVisibleOnMenu = true, Header = Strings.strNew, IsEnabled = true
                    },
                        new ToggleVisibilityCommand(explorerModel.FileList.Sidebar, ExplorerCommands.TogglePreviewer)
                        //new CommandModel(ExplorerCommands.TogglePreviewer) { IsVisibleOnMenu = false, Header = "", IsHeaderAlignRight = true, Symbol = Convert.ToChar(0xE239) }
                        )
                };

                #endregion
                #region DirectoryTree
                explorerModel.DirectoryTree.Commands.ToolbarCommands.ExtraCommandProviders = new[] {
                    new StaticCommandProvider(
                        new DirectoryCommandModel(
                            new CommandModel(ExplorerCommands.NewWindow)
                    {
                        IsVisibleOnMenu = true
                    },
                            new CommandModel(ExplorerCommands.OpenTab)
                    {
                        IsVisibleOnMenu = true
                    })
                    {
                        Header = "Open", IsVisibleOnMenu = true, IsEnabled = true
                    },
                        //new CommandModel(ApplicationCommands.New) { IsVisibleOnMenu = true },
                        new CommandModel(ExplorerCommands.Refresh)
                    {
                        IsVisibleOnMenu = true
                    },
                        new CommandModel(ApplicationCommands.Delete)
                    {
                        IsVisibleOnMenu = true
                    },
                        new CommandModel(ExplorerCommands.Rename)
                    {
                        IsVisibleOnMenu = true
                    },

                        new CommandModel(ExplorerCommands.Map)
                    {
                        //Symbol = Convert.ToChar(0xE17B),
                        HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE17B),
                        IsEnabled = true,
                        IsHeaderVisible = false, IsVisibleOnToolbar = true
                    },
                        new CommandModel(ExplorerCommands.Unmap)
                    {
                        HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE17A),
                        IsVisibleOnMenu = true,
                        IsVisibleOnToolbar = true
                    }
                        )
                };
                #endregion
            }
                                               , NextCommand));
        }
        public static void InitializeToolbarCommands(IExplorerViewModel explorerModel, IWindowManager windowManager)
        {
            explorerModel.Sidebar.Metadata.ExtraMetadataProviders = new[] {
                new DummyMetadataProvider()
            };



            explorerModel.FileList.Commands.ToolbarCommands.ExtraCommandProviders = new[] {
                new StaticCommandProvider(
                    //new CommandModel(ExplorerCommands.CloseTab) { IsEnabled = true, Header="CloseTab", IsVisibleOnToolbar = true },
                    new FileExplorer.Models.SevenZipSharp.SzsCommandModel(explorerModel.Initializer),
                    new SeparatorCommandModel(),
                    new SelectGroupCommand(explorerModel.FileList),
                    new ViewModeCommand(explorerModel.FileList),
                    new GoogleExportCommandModel(() => explorerModel.RootModels)
                {
                    IsVisibleOnMenu = true, WindowManager = windowManager
                },

                    new SeparatorCommandModel(),
                    new CommandModel(ExplorerCommands.NewFolder)
                {
                    IsVisibleOnToolbar  = true,
                    HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE188)
                                          //Symbol = Convert.ToChar(0xE188)
                },
                    new DirectoryCommandModel(
                        new CommandModel(ExplorerCommands.NewFolder)
                {
                    Header = Strings.strFolder, IsVisibleOnMenu = true
                },
                        new CommandModel(FileExplorer.Models.SevenZipSharp.SzsCommandProvider.NewZip)
                {
                    Header = "Zip", IsVisibleOnMenu = true
                },
                        new CommandModel(FileExplorer.Models.SevenZipSharp.SzsCommandProvider.New7z)
                {
                    Header = "7z", IsVisibleOnMenu = true
                }
                        )
                {
                    IsVisibleOnMenu = true, Header = Strings.strNew, IsEnabled = true
                },
                    new ToggleVisibilityCommand(explorerModel.FileList.Sidebar, ExplorerCommands.TogglePreviewer)
                    //new CommandModel(ExplorerCommands.TogglePreviewer) { IsVisibleOnMenu = false, Header = "", IsHeaderAlignRight = true, Symbol = Convert.ToChar(0xE239) }
                    )
            };

            explorerModel.DirectoryTree.Commands.ToolbarCommands.ExtraCommandProviders = new[] {
                new StaticCommandProvider(
                    new CommandModel(ExplorerCommands.NewWindow)
                {
                    IsVisibleOnMenu = true
                },
                    new CommandModel(ExplorerCommands.OpenTab)
                {
                    IsVisibleOnMenu = true
                },
                    //new CommandModel(ApplicationCommands.New) { IsVisibleOnMenu = true },
                    new CommandModel(ExplorerCommands.Refresh)
                {
                    IsVisibleOnMenu = true
                },
                    new CommandModel(ApplicationCommands.Delete)
                {
                    IsVisibleOnMenu = true
                },
                    new CommandModel(ExplorerCommands.Rename)
                {
                    IsVisibleOnMenu = true
                },

                    new CommandModel(ExplorerCommands.Map)
                {
                    //Symbol = Convert.ToChar(0xE17B),
                    HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE17B),
                    IsEnabled           = true,
                    IsHeaderVisible     = false, IsVisibleOnToolbar = true
                },
                    new CommandModel(ExplorerCommands.Unmap)
                {
                    HeaderIconExtractor = ResourceIconExtractor <ICommandModel> .ForSymbol(0xE17A),
                    IsVisibleOnMenu     = true,
                    IsVisibleOnToolbar  = true
                }
                    )
            };
        }