コード例 #1
0
        public SaveDatabaseDialogViewModel(ISettingsHypermint settingsRepo, IHyperspinManager hyperspinManager,
                                           IHyperspinXmlDataProvider dataProvider, ISelectedService selectedService, IDialogCoordinator dialogService,
                                           IEventAggregator ea)
        {
            _settingsRepo     = settingsRepo;
            _selectedService  = selectedService;
            _eventAggregator  = ea;
            _dialogService    = dialogService;
            _hyperspinManager = hyperspinManager;

            SaveOptions = new SaveOptions();

            //Commands
            SaveXmlCommand = new DelegateCommand(async() =>
            {
                await SaveDatabaseConfirmAsync(SaveOptions.DbName);
            });

            CloseCommand = new DelegateCommand(async() =>
            {
                await _dialogService.HideMetroDialogAsync(this, customDialog);
            });

            //Events
            _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(sysName =>
            {
                SaveOptions.DbName = sysName;
            });

            _eventAggregator.GetEvent <SystemDatabaseChanged>().Subscribe(sysName =>
            {
                SaveOptions.DbName = sysName;
            });
        }
コード例 #2
0
 public RlMediaAuditViewModel(IEventAggregator evtAggregator, ISelectedService selectedService,
                              IGameLaunch gameLaunch, ISettingsHypermint settingsRepo, IHyperspinManager hyperspinManager) :
     base(evtAggregator, selectedService, gameLaunch, settingsRepo)
 {
     GamesList = new ListCollectionView(hyperspinManager.CurrentSystemsGames);
     GamesList.CurrentChanged += GamesList_CurrentChanged;
 }
コード例 #3
0
        public SystemsViewModel(IHyperspinManager hyperspinManager,
                                IHyperspinXmlDataProvider hsDataProvider,
                                IEventAggregator eventAggregator,
                                ISettingsHypermint settings,
                                IDialogCoordinator dialogService,
                                ISelectedService selectedService)
        {
            _eventAggregator  = eventAggregator;
            _settingsRepo     = settings;
            _selectedService  = selectedService;
            _dialogService    = dialogService;
            _hyperspinManager = hyperspinManager;

            // Setup the main menu database to read in all systems
            _mainMenuXmlPath = "";
            _mainMenuXmlPath = Path.Combine(
                _settingsRepo.HypermintSettings.HsPath, Root.Databases,
                @"Main Menu\Main Menu.xml");

            SystemItems = new ListCollectionView(_hyperspinManager.Systems);
            SystemItems.CurrentChanged += SystemItems_CurrentChanged;

            //When main menu is selected
            _eventAggregator.GetEvent <MainMenuSelectedEvent>().Subscribe(async x =>
            {
                await OnMainMenuSelected(x);
            });

            _eventAggregator.GetEvent <SystemFilteredEvent>().Subscribe(FilterSystemsByText);
            _eventAggregator.GetEvent <ReorderingSystemsEvent>().Subscribe(x => ReOrderSystems = x);
            _eventAggregator.GetEvent <NewSystemCreatedEvent>().Subscribe(OnSystemCreated);

            //UpdateSystemsAsync(_mainMenuXmlPath);
            //_eventAggregator.GetEvent<AddNewSystemEvent>().Publish("SystemsView");
        }
コード例 #4
0
        public GamesListDataGridViewModel(IEventAggregator eventAggregator,
                                          IHyperspinManager hyperspinManager, ISelectedService selectedService)
        {
            _eventAggregator  = eventAggregator;
            _hyperspinManager = hyperspinManager;
            _selectedService  = selectedService;

            //Set to the main menu games list
            _selectedService.CurrentSystem = "Main Menu";
            _selectedService.SelectedGames = new List <GameItemViewModel>();

            SelectionChanged = new DelegateCommand <IList>(items => { OnMultipleItemsSelectionChanged(items); });

            //Set the observable game to a collection for the view.
            GamesList = new ListCollectionView(_hyperspinManager.CurrentSystemsGames);
            GamesList.CurrentChanged += GamesList_CurrentChanged;

            //Games = _hyperspinManager.CurrentSystemsGames;

            _eventAggregator.GetEvent <GameFilteredEvent>().Subscribe(FilterGamesByText);
            _eventAggregator.GetEvent <SystemDatabaseChanged>().Subscribe(SystemDatabaseChangedHandler);
            _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(UpdateGamesAsync);
            _eventAggregator.GetEvent <UserRequestUpdateSelectedRows>().Subscribe((x) => UpdateSelectedRows(x));

            Load();
        }
コード例 #5
0
        public MultiSystemViewModel(IEventAggregator ea, IFileDialogHelper fileService,
                                    IDialogCoordinator dialogService, IHyperspinManager hyperspinManager,
                                    ISettingsHypermint settings, ISelectedService selectedService, ILoggerFacade loggerFacade) : base(loggerFacade)
        {
            _eventAggregator   = ea;
            _fileFolderService = fileService;
            _settingsService   = settings;
            _dialogService     = dialogService;
            _hyperspinManager  = hyperspinManager;
            _selectedService   = selectedService;

            MultiSystemList = new ListCollectionView(_hyperspinManager.MultiSystemGamesList);

            _eventAggregator.GetEvent <AddToMultiSystemEvent>().Subscribe(AddToMultiSystem);
            _eventAggregator.GetEvent <BuildMultiSystemEvent>().Subscribe((x) => OpenBuildMultiSystemDialog());
            _eventAggregator.GetEvent <ScanMultiSystemFavoritesEvent>().Subscribe(async(x) => await ScanFavoritesAsync());

            //Commands
            RemoveGameCommand = new DelegateCommand <GameItemViewModel>(RemoveFromMultisystemList);

            //OpenSearchCommand = new DelegateCommand<string>(async x =>
            //{
            //    await RunCustomDialog();
            //});

            //Used for the save dialog
            CloseCommand = new DelegateCommand(async() =>
            {
                await _dialogService.HideMetroDialogAsync(this, customDialog);
            });

            SelectionChanged = new DelegateCommand <IList>(items => { OnMultipleItemsSelectionChanged(items); });
        }
コード例 #6
0
        public AddSystemDialogViewModel(IDialogCoordinator dialogService, CustomDialog callingDialog, IHyperspinManager manager,
                                        IEventAggregator ea, IFileDialogHelper fileFolderServic, ISettingsHypermint settings, ISelectedService service)
        {
            _dialogService    = dialogService;
            _hyperspinManager = manager;
            _callingDialog    = callingDialog;
            _eventAggregator  = ea;
            _fileFolderServic = fileFolderServic;
            _settings         = settings;
            _service          = service;

            CloseDialogCommand = new DelegateCommand(async() =>
            {
                await _dialogService.HideMetroDialogAsync(this, callingDialog);
            });

            SelectDatabaseCommand = new DelegateCommand(() =>
            {
                OnSelectDatabase();
            });

            SaveNewSystemCommand = new DelegateCommand(() =>
            {
                OnSaveNewSystem();
            });
        }
コード例 #7
0
        //IAuditer auditer
        #region Constructor
        public HsMediaAuditViewModel(ISettingsHypermint settings, IHyperspinManager hsManager,
                                     IEventAggregator eventAggregator, IDialogCoordinator dialogService,
                                     ISelectedService selectedService, IGameLaunch gameLaunch,
                                     ISearchYoutube youtube) : base(eventAggregator, selectedService, gameLaunch, settings)
        {
            _youtube          = youtube;
            _dialogService    = dialogService;
            _hyperspinManager = hsManager;

            CurrentCellChanged =
                new DelegateCommand <object>(selectedGameCell => { SelectedGameCellChanged(selectedGameCell); });

            SearchYoutubeCommand = new DelegateCommand(() =>
            {
                _eventAggregator.GetEvent <GetVideosEvent>().Publish(new object());
                _eventAggregator.GetEvent <NavigateRequestEvent>().Publish("YoutubeView");
            });

            // Runs the auditer for hyperspin
            RunAuditCommand = new DelegateCommand(async() => await RunScan());

            _eventAggregator.GetEvent <HsAuditUpdateEvent>().Subscribe(a =>
            {
                OnHsAuditUpdateEvent(a);
            });

            //Set the observable game to a collection for the view.
            GamesList = new ListCollectionView(_hyperspinManager.CurrentSystemsGames);
            GamesList.CurrentChanged += GamesList_CurrentChanged;
            //GamesList.GroupDescriptions.Add(new PropertyGroupDescription("RomName"));

            _eventAggregator.GetEvent <GamesUpdatedEvent>().Subscribe(GamesUpdated);
        }
コード例 #8
0
        public ExportVideoOptionsViewModel(ILoggerFacade loggerFacade, IAviSynthScripter aviSynthScripter, IEventAggregator ea,
                                           ISettingsHypermint settings, ISelectedService selected) : base(loggerFacade)
        {
            _avisynthScripter = aviSynthScripter;
            _eventAggregator  = ea;
            _settings         = settings;
            _selectedService  = selected;
            exportPath        = Path.Combine(settings.HypermintSettings.ExportPath, "Videos");

            AviSynthOptions = new AviSynthOption();

            _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(x => SystemChanged(x));

            //Save the process videos to a an avi synth script.
            SaveScriptCommand = new DelegateCommand(() =>
            {
                _eventAggregator.GetEvent <GetProcessVideosEvent>().Publish();
            });

            _eventAggregator.GetEvent <ReturnProcessVideosEvent>().Subscribe(x =>
            {
                SaveScript(x);
            });

            ProcessScriptCommand = new DelegateCommand(() =>
            {
                ProcessScript();
            });

            OpenExportFolderCommand = new DelegateCommand(() =>
            {
                var dir    = GetSystemExportPath();
                var result = new DirectoryInfo(dir).Open();
            });
        }
コード例 #9
0
        public RlAuditMediaViewModelBase(IEventAggregator ea, IHyperspinManager hyperspinManager, IGameLaunch gameLaunch,
                                         ISettingsHypermint settings,
                                         ISelectedService selected, IRlScan rlScan, IDialogCoordinator dialogService)
        {
            _eventAggregator  = ea;
            _hyperspinManager = hyperspinManager;
            _selectedService  = selected;
            _settings         = settings;
            _dialogService    = dialogService;
            _rlScan           = rlScan;

            //Setup the games list.
            GamesList = new ListCollectionView(_hyperspinManager.CurrentSystemsGames);
            GamesList.CurrentChanged += GamesList_CurrentChanged;

            CurrentCellChanged = new DelegateCommand <object>(selectedGameCell => { OnCurrentCellChanged(selectedGameCell); });

            ScanRlMediaCommand = new DelegateCommand(async() => await ScanForMedia());

            LaunchRlMode = new DelegateCommand <string>((x) =>
            {
                gameLaunch.RocketLaunchGameWithMode(
                    settings.HypermintSettings.RlPath,
                    selected.CurrentSystem, selected.CurrentRomname, x);
            });

            OpenScanRocketMediaFolderCommand = new DelegateCommand <string>(OpenScanRocketMediaFolderAsync);
        }
コード例 #10
0
        public SearchOptionsViewModel(IEventAggregator evtAggregator, ISelectedService selectedService, IGameLaunch gameLaunch, ISettingsHypermint settingsRepo) :
            base(evtAggregator, selectedService, gameLaunch, settingsRepo)
        {
            _ea           = evtAggregator;
            _settingsRepo = settingsRepo;
            _selectedSvc  = selectedService;

            SearchOptions = new SearchOptions();
            SearchOptions.PropertyChanged += SearchOptions_PropertyChanged;

            //Search for games with the SearchString from this Vm.
            SearchGamesCommand = new DelegateCommand <string>(x =>
            {
                ScanForGames(x);
            }, (x) => CanSearchGames(x)).ObservesProperty(() => CanSearch);

            //Cancel search with token
            CancelCommand = new DelegateCommand(() =>
            {
                SearchOptions.tokenSource.Cancel();
                CanSearch = true;
            });

            SelectionChanged = new DelegateCommand <IList>(items => { OnMultipleItemsSelectionChanged(items); });
        }
コード例 #11
0
 public SidebarViewModel(IEventAggregator eventAggregator,
                         ISettingsHypermint settings, ISelectedService selectedService,
                         IHyperspinManager hyperManager)
 {
     _settingsRepo    = settings;
     _eventAggregator = eventAggregator;
     _selectedService = selectedService;
     _hyperManager    = hyperManager;
 }
コード例 #12
0
        public DatabaseDetailsViewModel(ISelectedService selectedService, IEventAggregator eventAggregator,
                                        IDialogCoordinator dialogService, IHyperspinManager hyperspinManager)
        {
            _eventAggregator  = eventAggregator;
            _dialogService    = dialogService;
            _hyperspinManager = hyperspinManager;
            _selectedService  = selectedService;

            _eventAggregator.GetEvent <GameSelectedEvent>().Subscribe(UpdateHeader);
        }
コード例 #13
0
        /// <summary>
        /// This view model applies the given value to multiple rows
        /// </summary>
        /// <param name="selectedService">The selected service.</param>
        /// <param name="ea">The ea.</param>
        public DatabaseOptionsViewModel(IHyperspinManager hyperspinManager,
                                        ISelectedService selectedService, IEventAggregator ea)
        {
            _selectedService  = selectedService;
            _eventAggregator  = ea;
            _hyperspinManager = hyperspinManager;

            ApplyToCellsCommand       = new DelegateCommand(ApplyToCells);
            ReplaceDescriptionCommand = new DelegateCommand(ReplaceDescriptions);
        }
コード例 #14
0
        public RlDefaultAuditViewModel(IEventAggregator ea, IHyperspinManager hyperspinManager, IGameLaunch gameLaunch, ISettingsHypermint settings, ISelectedService selected, IRlScan rlScan, IDialogCoordinator dialogService) : base(ea, hyperspinManager, gameLaunch, settings, selected, rlScan, dialogService)
        {
            _rlScan   = rlScan;
            _settings = settings;
            _selected = selected;

            DefaultFolders = new ObservableCollection <RlAudit>();

            ScanDefaultsCommand = new DelegateCommand(async() => await ScanForMedia());
        }
コード例 #15
0
        public HyperMintModelBase(IEventAggregator evtAggregator, ISelectedService selectedService, IGameLaunch gameLaunch, ISettingsHypermint settingsRepo)
        {
            _eventAggregator = evtAggregator;
            _selectedService = selectedService;
            _gameLaunch      = gameLaunch;
            _settingsRepo    = settingsRepo;

            AddMultiSystemCommand = new DelegateCommand(() => AddToMultiSystem());
            LaunchGameCommand     = new DelegateCommand(() => LaunchGame());
        }
コード例 #16
0
        public SearchViewModel(
            IEventAggregator eventAggregator,
            ISettingsHypermint settings,
            ISelectedService selectedSrv, IHyperspinManager hyperspinManager,
            IGameLaunch gameLaunch) : base(eventAggregator, selectedSrv, gameLaunch, settings)
        {
            _hyperspinManager = hyperspinManager;
            Systems           = new ListCollectionView(_hyperspinManager.Systems);

            DockSystemsCommand   = new DelegateCommand(() => { SystemsVisible = !SystemsVisible; });
            SelectSystemsCommand = new DelegateCommand <string>(OnSystemsSelected);
        }
コード例 #17
0
        public SimpleWheelViewModel(ISelectedService selectedService, IEventAggregator ea)
        {
            _selectedService = selectedService;
            _eventAggregator = ea;

            Patterns = Enum.GetNames(typeof(WheelCreator.Patterns));

            _eventAggregator.GetEvent <GenerateWheelEvent>().Subscribe(x =>
            {
                //GenerateWheelSource = new BitmapImage(new Uri(Path.GetFullPath(x)));
                GenerateWheelSource = SelectedService.SetBitmapFromUri(new Uri(Path.GetFullPath(x)));
            });
        }
コード例 #18
0
        public ShellViewModel(ILoggerFacade loggerFacade, IRegionManager regionManager, IEventAggregator eventAggregator,
                              ISelectedService service, IHyperspinManager hsManager, ISettingsHypermint settings) : base(loggerFacade)
        {
            _regionManager = regionManager;
            _hsManager     = hsManager;
            _service       = service;

            LoadSettings(settings);

            NavigateCommand = new DelegateCommand <string>(Navigate);

            //TODO: Remove this and all subscribers and replace with logging.
            eventAggregator.GetEvent <ErrorMessageEvent>().Subscribe(DisplayError);
        }
コード例 #19
0
        public MediaElementViewModel(IEventAggregator eventAggregator, ISelectedService selected)
        {
            _eventAggregator = eventAggregator;
            _selected        = selected;

            MarkVideoRangeCommand     = new DelegateCommand <string>(MarkVideoRange);
            MediaElementLoadedCommand = new DelegateCommand <IMediaPlayer>(MediaElementLoaded);
            VideoControlCommand       = new DelegateCommand <string>(OnVideoControl);
            NavigateAwayCommand       = new DelegateCommand(() => _eventAggregator.GetEvent <NavigateRequestEvent>().Publish("HsMediaAuditView"));

            _eventAggregator.GetEvent <VideoSourceEvent>().Subscribe(OnVideoSourceUpdated);

            //Add the selection start and end to process list
            AddToProcessListCommand = new DelegateCommand(AddToProcessList);
        }
コード例 #20
0
        public RlFilesViewModel(IEventAggregator ea, ISettingsHypermint settings, ISelectedService selectedService, IDialogCoordinator dialogService)
        {
            _eventAggregator = ea;
            _settings        = settings;
            _selectedService = selectedService;
            _dialogService   = dialogService;

            RlFiles       = new ObservableCollection <RlFileItemViewModel>();
            SelectedNodes = new ObservableCollection <RlFileItemViewModel>();

            _eventAggregator.GetEvent <UpdateFilesEvent>().Subscribe(OnUpdateFiles);

            SelectedItemChangedCommand = new DelegateCommand <RlFileItemViewModel>(FilesSelectionChanged);

            OpenFileFolderCommand = new DelegateCommand(OpenFileFolder);
        }
コード例 #21
0
        public NavBarViewModel(IRegionManager manager, IEventAggregator eventAggregator,
                               ISelectedService selectedService, ISettingsHypermint settings)
        {
            _regionManager   = manager;
            _eventAggregator = eventAggregator;
            _selectedService = selectedService;
            _settings        = settings;

            _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(ShowDatabaseOrSearchView);
            _eventAggregator.GetEvent <NavigateRequestEvent>().Subscribe(Navigate);
            _eventAggregator.GetEvent <NavigateMediaPaneRequestEvent>().Subscribe(NavigateMediaPane);
            _eventAggregator.GetEvent <RequestOpenFolderEvent>().Subscribe(OnOpenFolder);

            NavigateCommand = new DelegateCommand <string>(Navigate);

            Navigate("DatabaseDetailsView");
        }
コード例 #22
0
        public DatabasePickerViewModel(IEventAggregator eventAggregator, IHyperspinManager hyperspinManager, ISettingsHypermint settingsRepo,
                                       ISelectedService selectedService)
        {
            _eventAggregator  = eventAggregator;
            _hyperspinManager = hyperspinManager;
            _settingsRepo     = settingsRepo;
            _selectedService  = selectedService;

            this.SystemDatabases = new ListCollectionView(_hyperspinManager.DatabasesCurrentSystem);
            this.GenreDatabases  = new ListCollectionView(_hyperspinManager.DatabasesCurrentGenres);

            OpenFolderCommand = new DelegateCommand <string>(OpenFolder);

            SystemDatabases.CurrentChanged += SystemDatabases_CurrentChanged;

            _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(async(x) => await OnSystemChanged(x));
        }
コード例 #23
0
        public SidebarOptionsViewModel(IHyperspinManager hyperSpinManager,
                                       IHyperspinXmlDataProvider dataProvider, ISelectedService selected, ISettingsHypermint settings,
                                       IEventAggregator ea, IDialogCoordinator dialogService, IFileDialogHelper fileFolderServic)
        {
            _hyperSpinManager = hyperSpinManager;
            _dataProvider     = dataProvider;
            _dialogService    = dialogService;
            _eventAggregator  = ea;
            _selected         = selected;
            _fileFolderServic = fileFolderServic;
            _settings         = settings;

            AddSystemCommand = new DelegateCommand <string>(async x =>
            {
                await OnAddSystem();
            });

            SaveMainMenuCommand = new DelegateCommand(async() => await SaveMainMenu());
        }
コード例 #24
0
        public IntroVideosViewModel(IRegionManager manager,
                                    IFileFolderChecker fileChecker,
                                    IEventAggregator ea, ISettingsHypermint settings,
                                    ISelectedService selected)
        {
            //Init Services
            _regionManager     = manager;
            _fileFolderChecker = fileChecker;
            _eventAggregator   = ea;
            _settings          = settings;
            _selectedService   = selected;

            //Init collections
            processVideos      = new List <IntroVideo>();
            scannedVideos      = new List <IntroVideo>();
            VideoToProcessList = new ListCollectionView(processVideos);

            //Commands
            //AddSelectedCommand = new DelegateCommand(AddVideos);
            //ScanFormatCommand = new DelegateCommand(ScanFormat);

            SelectionAvailableChanged = new DelegateCommand <IList>(items =>
            {
                OnVideoSelectionAvailableChanged(items);
            });

            SelectionProcessChanged = new DelegateCommand <IList>(items =>
            {
                OnVideoSelectionChanged(items);
            });

            //What?
            try
            {
                //RemoveVideosCommand = new DelegateCommand<string>(RemoveVideos);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }
        }
コード例 #25
0
        public SearchResultsViewModel(IEventAggregator ea, ISettingsHypermint settingsRepo,
                                      ISelectedService selectedSvc, IHyperspinXmlDataProvider hsXmlPRovider,
                                      IHyperspinManager hyperspinManager)
        {
            _ea               = ea;
            _settingsRepo     = settingsRepo;
            _selectedSvc      = selectedSvc;
            _hsXmlPRovider    = hsXmlPRovider;
            _hyperspinManager = hyperspinManager;

            SearchGames = new ObservableCollection <GameSearch>();
            FoundGames  = new ListCollectionView(SearchGames);

            PageGamesCommand = new DelegateCommand <string>(x => PageGames(x));

            //Scan games on this event
            _ea.GetEvent <OnSearchForGames>().Subscribe(searchOptions => ScanForGamesAsync(searchOptions));

            SelectionChanged = new DelegateCommand <IList>(items => { OnMultipleItemsSelectionChanged(items); });
        }
コード例 #26
0
        public MainMenuViewModel(ISettingsHypermint settingsRepo, IEventAggregator ea,
                                 IHyperspinManager hyperspinManager,
                                 ISelectedService selectedService,
                                 IHyperspinXmlDataProvider dataProvider)
        {
            _settingsRepo     = settingsRepo;
            _selectedService  = selectedService;
            _eventAggregator  = ea;
            _dataProvider     = dataProvider;
            _hyperspinManager = hyperspinManager;

            //Init the collections used
            MainMenuItemViewModels            = new ObservableCollection <MainMenuItemViewModel>();
            SelectedMainMenuItem              = new MainMenuItemViewModel();
            MainMenuDatabases                 = new ListCollectionView(MainMenuItemViewModels);
            MainMenuDatabases.CurrentChanged += MainMenuDatabases_CurrentChanged;
            OpenFolderCommand                 = new DelegateCommand <string>(OnOpenDirectory);

            SetMainMenuDatabases("Main Menu");
        }
コード例 #27
0
        public DatabaseControlsViewModel(IEventAggregator eventAgg, IUnityContainer container, ISettingsHypermint settings,
                                         IHyperspinManager hsManager, ISelectedService selectedService, IDialogCoordinator dialogService)
        {
            _hyperspinManager = hsManager;
            _eventAgg         = eventAgg;
            _selectedService  = selectedService;
            _dialogService    = dialogService;
            _container        = container;
            _settings         = settings;

            EnableFaveItemsCommand = new DelegateCommand <string>(x => UpdateRows(x, RowUpdateType.Favorite));
            EnableDbItemsCommand   = new DelegateCommand <string>(x => UpdateRows(x, RowUpdateType.Enabled));

            OpenSaveDialogCommand = new DelegateCommand <string>(async x =>
            {
                await RunCustomDialog();
            });

            ScanRomsCommand = new DelegateCommand(async() => await ScanRomsFromRocketLauncherDirsAsync());
        }
コード例 #28
0
        public SaveMultiSystemViewModel(IDialogCoordinator dialogService, CustomDialog customDialog, IEventAggregator ea,
                                        ISettingsHypermint settingsService, IHyperspinManager hyperspinManager, IFileDialogHelper fileService,
                                        ISelectedService selected, ILoggerFacade loggerFacade) : base(loggerFacade)
        {
            _dialogService     = dialogService;
            _customDialog      = customDialog;
            _eventAggregator   = ea;
            _settingsService   = settingsService;
            _fileFolderService = fileService;
            _hyperspinManager  = hyperspinManager;

            CloseCommand = new DelegateCommand(async() =>
            {
                await _dialogService.HideMetroDialogAsync(this, _customDialog);
            });

            SelectSettingsCommand = new DelegateCommand(SelectSettings);

            BuildMultiSystemCommand = new DelegateCommand(async() =>
            {
                try
                {
                    if (CheckValid())
                    {
                        await BuildMultiSystemAsync();

                        Log("Saving MS to xmls");
                        await _hyperspinManager.SaveCurrentSystemsListToXmlAsync(selected.CurrentMainMenu, true);

                        Log("Completed");
                        await _dialogService.HideMetroDialogAsync(this, _customDialog);
                    }
                }
                catch (Exception ex)
                {
                    Log(ex.Message, Category.Warn);
                    await _dialogService.HideMetroDialogAsync(this, _customDialog);
                }
            }
                                                          );
        }
コード例 #29
0
        /// <summary>
        /// Initializes a new instance of the <see cref="YoutubeViewModel"/> class.
        /// </summary>
        /// <param name="youtube">The youtube.</param>
        /// <param name="ea">The ea.</param>
        /// <param name="selectedService">The selected service.</param>
        /// <param name="settings">The settings.</param>
        /// <param name="dialog">The dialog.</param>
        public YoutubeViewModel(ISearchYoutube youtube,
                                IEventAggregator ea, ISelectedService selectedService, ISettingsHypermint settings, IDialogCoordinator dialog)
        {
            _youtube         = youtube;
            _evtAggr         = ea;
            _selectedService = selectedService;
            _settings        = settings;
            _dialog          = dialog;

            _evtAggr.GetEvent <GetVideosEvent>().Subscribe(async(x) =>
            {
                IsSearching   = true;
                VideosVisible = false;

                SearchTermText = BuildSearchTerm();

                await BuildVideoList(x);
            });

            OpenYtCommand = new DelegateCommand(() =>
            {
                var vid = VideoList.CurrentItem as YoutubeVideo;

                if (vid != null)
                {
                    try
                    {
                        Process.Start(vid.VideoUrl);
                    }
                    catch (Exception) { }
                }
            });

            AuditViewCommand = new DelegateCommand(() =>
            {
                _evtAggr.GetEvent <NavigateRequestEvent>().Publish("HsMediaAuditView");
            });

            SearchYtCommand = new DelegateCommand(async() =>
            {
                IsSearching   = true;
                VideosVisible = false;

                await BuildVideoList(new object());
            });

            CancelSearchCommand = new DelegateCommand(() =>
            {
                cancelSource.Cancel();
            });

            DownloadVideoCommand = new DelegateCommand(async() =>
            {
                if (!File.Exists(Environment.CurrentDirectory + "\\youtube-dl.exe"))
                {
                    System.Windows.MessageBox.Show("Cannot find youtube-dl.exe in hypermint root");
                    return;
                }

                await DownloadVideoAsync();
            });
        }
コード例 #30
0
 public FilterControlViewModel(IEventAggregator eventAggregator,
                               ISelectedService selectedSrv, ISettingsHypermint settingsRepo,
                               IGameLaunch gameLaunch) : base(eventAggregator, selectedSrv, gameLaunch, settingsRepo)
 {
     _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(RemoveFilters);
 }