public VideoPlayerViewModel(MediaPlayerBuilder playerService, IVideoLibrary videoLibrary, IVolumeService volumeController, IBrightnessService brightnessController, IOrientationService orientationService, IStatusBarService statusBarService, IFileService fileService) { App.DebugLog(""); this.videoLibrary = videoLibrary; this.orientationService = orientationService; this.statusBarService = statusBarService; FilePickerVM = new FilePickerViewModel(fileService); FilePickerVM.SubtitleFileTappedCommand = new Command <object>(o => SubtitleFileTapped(o)); ToggleFavoriteCommand = new Command(ToggleFavorite); ToggleControlsVisibilityCommand = new Command(ToggleControlsVisibility); ToggleAudioTracksCommand = new Command(ToggleAudioTracks); ToggleSubtitlesCommand = new Command(ToggleSubtitles); ToggleMediaInfoCommand = new Command(ToggleMediaInfo); SelectSubtitlesCommand = new Command <object>(SelectSubtitles, (e) => canChangeSubtitles); SelectAudioTrackCommand = new Command <object>(SelectAudioTrack, (e) => canChangeAudioTrack); OpenSubtitlesFromFileCommand = new Command(OpenSubtitlesFilePicker); volumeViewModel = new VolumeViewModel(volumeController); brightnessViewModel = new BrightnessViewModel(brightnessController); favoriteScenes = new FavoritesCollection(favoriteSceneDuration); VlcPlayerHelper = new VlcPlayerHelper(playerService); }
private void FileView_DoubleClick() { FilePickerViewModel vm = DataContext as FilePickerViewModel; if (vm.SelectedIndex > -1) { if (vm.SelectedEntry is FolderEntry folder) { if (folder != null) { folder.LoadAllOnDemand(); (DataContext as FilePickerViewModel).SelectedFolder = folder; } } else if (vm.SelectedEntry is FileEntry file) { RaiseDialogClosedEvent(file.Path); if (!SuppressCloseCommand && DialogHost.CloseDialogCommand.CanExecute(null, null)) { DialogHost.CloseDialogCommand.Execute(null, null); } } } }
public FilePicker() { InitializeComponent(); FilePickerViewModel vm = DataContext as FilePickerViewModel; vm.SetFilters(Filter); vm.DefaultDestinationSelected += FilePicker_DefaultDestinationSelected; }
public override async Task <IScriptCommand> ExecuteAsync(ParameterDic pm) { IWindowManager wm = pm.GetValue <IWindowManager>(WindowManagerKey) ?? new WindowManager(); IEventAggregator events = pm.GetValue <IEventAggregator>(EventAggregatorKey) ?? new EventAggregator(); IExplorerInitializer initializer = new ScriptCommandInitializer() { StartupParameters = pm, WindowManager = wm, Events = events, OnModelCreated = ScriptCommands.Run(OnModelCreatedKey), OnViewAttached = ScriptCommands.Run(OnViewAttachedKey) }; ExplorerViewModel evm = null; switch (ExplorerMode) { case Script.ExplorerMode.Normal: evm = new ExplorerViewModel(wm, events) { Initializer = initializer }; break; case Script.ExplorerMode.FileOpen: evm = new FilePickerViewModel(wm, events) { Initializer = initializer, PickerMode = FilePickerMode.Open }; break; case Script.ExplorerMode.FileSave: evm = new FilePickerViewModel(wm, events) { Initializer = initializer, PickerMode = FilePickerMode.Save }; break; case Script.ExplorerMode.DirectoryOpen: evm = new DirectoryPickerViewModel(wm, events) { Initializer = initializer }; break; default: return(ResultCommand.Error(new NotSupportedException(ExplorerMode.ToString()))); } logger.Info(String.Format("Creating {0}", evm)); pm.SetValue(DestinationKey, evm, false); return(NextCommand); }
private void Select_Click(object sender, RoutedEventArgs e) { FilePickerViewModel vm = DataContext as FilePickerViewModel; if (vm.SelectedEntry != null) { RaiseDialogClosedEvent(vm.SelectedEntry.Path); } else if (vm.SelectedFolder != null) { RaiseDialogClosedEvent(vm.SelectedFolder.Path); } }
private void TreeViewItem_Collapsed(object sender, RoutedEventArgs e) { if (currentFolderSetByMouseDown) { FilePickerViewModel vm = DataContext as FilePickerViewModel; vm.SelectedFolder = originalFolder; vm.SelectedEntry = originalEntry; originalFolder = null; originalEntry = null; currentFolderSetByMouseDown = false; } }
private void TreeViewItem_Selected(object sender, RoutedEventArgs e) { TreeViewItem item = e.OriginalSource as TreeViewItem; item.BringIntoView(); if (item.DataContext is FolderEntry entry) { entry.LoadFilesOnDemand(); FilePickerViewModel vm = DataContext as FilePickerViewModel; vm.SelectedFolder = entry; vm.SelectedEntry = entry; } }
public override async Task <IScriptCommand> ExecuteAsync(ParameterDic pm) { IWindowManager wm = pm.GetValue <IWindowManager>(WindowManagerKey) ?? new WindowManager(); IExplorerViewModel evm = pm.GetValue <IExplorerViewModel>(ExplorerKey); if (evm == null) { return(ResultCommand.Error(new KeyNotFoundException(ExplorerKey))); } logger.Info(String.Format("Showing {0}", evm)); if (evm is DirectoryPickerViewModel) { DirectoryPickerViewModel dpvm = evm as DirectoryPickerViewModel; bool result = wm.ShowDialog(dpvm).Value; pm.SetValue(DialogResultKey, result); if (result) { pm.SetValue(SelectionPathsKey, dpvm.SelectedDirectory.FullPath); pm.SetValue(SelectionEntriesKey, dpvm.SelectedDirectory); } } else if (evm is FilePickerViewModel) { FilePickerViewModel fpvm = evm as FilePickerViewModel; bool result = wm.ShowDialog(fpvm).Value; pm.SetValue(DialogResultKey, result); if (result) { switch (fpvm.PickerMode) { case FilePickerMode.Save: pm.SetValue(SelectionPathsKey, fpvm.FileName); break; case FilePickerMode.Open: pm.SetValue(SelectionPathsKey, fpvm.SelectedFiles.Select(m => m.FullPath).ToArray()); pm.SetValue(SelectionEntriesKey, fpvm.SelectedFiles); break; } } } else { wm.ShowWindow(evm); } return(NextCommand); }
private void TreeViewItem_Expanded(object sender, RoutedEventArgs e) { TreeViewItem item = e.OriginalSource as TreeViewItem; if (item.DataContext is FolderEntry entry) { entry.LoadFoldersOnDemand(); if (currentFolderSetByMouseDown) { FilePickerViewModel vm = DataContext as FilePickerViewModel; vm.SelectedFolder = originalFolder; vm.SelectedEntry = originalEntry; originalFolder = null; originalEntry = null; currentFolderSetByMouseDown = false; } } }
private void Select_Click(object sender, RoutedEventArgs e) { FilePickerViewModel vm = DataContext as FilePickerViewModel; if (vm.SelectedEntry != null) { OnDialogClosed(new FilePickerClosedEventArgs(vm.SelectedEntry)); //RaiseDialogClosedEvent(vm.SelectedEntry.Path); } else if (vm.SelectedFolder != null) { OnDialogClosed(new FilePickerClosedEventArgs(vm.SelectedFolder)); //RaiseDialogClosedEvent(vm.SelectedFolder.Path); } if (isWindowDialog) { dialogWindow.Close(); } }
private void RootFolderItem_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (sender is TreeViewItem item) { item.BringIntoView(); if (item.DataContext is FolderEntry entry) { entry.LoadFoldersOnDemand(); entry.LoadFilesOnDemand(); FilePickerViewModel vm = DataContext as FilePickerViewModel; originalFolder = vm.SelectedFolder; originalEntry = vm.SelectedEntry; vm.SelectedFolder = entry; vm.SelectedEntry = entry; currentFolderSetByMouseDown = true; } } }
private void FileView_DoubleClick() { FilePickerViewModel vm = DataContext as FilePickerViewModel; if (vm.SelectedIndex > -1) { if (vm.SelectedEntry is FolderEntry folder) { folder.LoadFoldersOnDemand(); if (folder != null) { bool folderAccessSuccess = folder.LoadAllOnDemand(); if (folderAccessSuccess) { (DataContext as FilePickerViewModel).SelectedFolder = folder; } else { DialogHost.Show(dialog_accessDenied); } } } else if (vm.SelectedEntry is FileEntry file) { OnDialogClosed(new FilePickerClosedEventArgs(file)); //RaiseDialogClosedEvent(file.Path); if (!SuppressCloseCommand && DialogHost.CloseDialogCommand.CanExecute(null, null)) { DialogHost.CloseDialogCommand.Execute(null, null); } if (isWindowDialog) { dialogWindow.Close(); } } } }
public TrimmerViewModel(IVideoLibrary videoLibrary, MediaPlayerBuilder playerService, ConverterHelper converterHelper, IFileService fileService) { App.DebugLog(""); _videoLibrary = videoLibrary; _converterHelper = converterHelper; _fileService = fileService; _converterHelper.ConversionStarted += ConversionStarted; _converterHelper.ConversionProgress += ConversionProgress; _converterHelper.ConversionEnded += ConversionEnded; FilePickerVM = new FilePickerViewModel(fileService); FilePickerVM.SubtitleFileTappedCommand = new Command <object>(o => SubtitleFileTapped(o)); VlcPlayerHelper = new VlcPlayerHelper(playerService); vlcPlayerHelper.PlayerReady += VlcPlayerHelper_PlayerReady; GoToNextFavSceneCommand = new Command(GoToNextFavScene); GoToPrevFavSceneCommand = new Command(GoToPrevFavScene); IncrementPositionCommand = new Command <object>((e) => IncrementPosition(e)); DecrementPositionCommand = new Command <object>((e) => DecrementPosition(e)); JumpToStartCommand = new Command(() => JumpToStart()); ChooseSubtitlesCommand = new Command(ChooseSubtitles); ClearSubtitlesCommand = new Command(ClearSubtitles); OffsetOptions = new ObservableCollection <OffsetOption>() { new OffsetOption("1 sec", TimeSpan.FromSeconds(1)), new OffsetOption("10 sec", TimeSpan.FromSeconds(10)), new OffsetOption("1 min", TimeSpan.FromMinutes(1)), new OffsetOption("10 min", TimeSpan.FromMinutes(10)), }; SelectedOffsetOption = OffsetOptions.First(); EndPosition = TimeSpan.FromMinutes(1); TotalDuration = EndPosition; }
private void StepUpHierarchy_Click(object sender, RoutedEventArgs e) { FilePickerViewModel vm = DataContext as FilePickerViewModel; vm.SelectedFolder = vm.SelectedFolder.Parent; }
public FilePicker() { InitializeComponent(); _viewModel = (FilePickerViewModel)rootGrid.DataContext; _viewModel.LocationChanged += (sender, args) => this.Location = _viewModel.Location; }