public RlStatsViewModelFixture() { _frontendRl = new HyperspinFrontend() { Executable = "", HasSettingsFile = true, Path = Environment.CurrentDirectory + "\\RocketLauncherData" }; //Setup container and bootstrapper Bootstrapper bs = new Bootstrapper(); IUnityContainer container = new UnityContainer(); //Run bootstrapper to get the evtaggregator bs.Run(); ea = ServiceLocator.Current.GetInstance <IEventAggregator>(); //Register the Types needed and resolve container.RegisterType <IRocketLaunchStatProvider, RocketLaunchStatProvider>(); container.RegisterType <ISettingsHypermint, SettingsRepo>(); _statRepo = container.Resolve <IRocketLaunchStatProvider>(); settingsRepo = container.Resolve <ISettingsHypermint>(); settingsRepo.HypermintSettings.RlPath = _frontendRl.Path; }
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; }
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); }); }
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"); }
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); }); }
//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); }
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(); }); }
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(); }); }
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); }
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; }); }
public SidebarViewModel(IEventAggregator eventAggregator, ISettingsHypermint settings, ISelectedService selectedService, IHyperspinManager hyperManager) { _settingsRepo = settings; _eventAggregator = eventAggregator; _selectedService = selectedService; _hyperManager = hyperManager; }
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()); }
public StatsViewModel(IRocketLaunchStatProvider statsRepo, IEventAggregator eventAggregator, ISettingsHypermint settingsRepo, IHyperspinManager hyperspinManager) { _statsRepo = statsRepo; _eventAggregator = eventAggregator; _settingsRepo = settingsRepo; _hyperspinManager = hyperspinManager; //Updates the stats when system changed. _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(async(x) => await UpdateStatsOnSystemChanged(x)); }
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()); }
public VideoProcessViewModel(IEventAggregator eventAggregator, ISettingsHypermint settings) { _settings = settings; _eventAggregator = eventAggregator; _eventAggregator.GetEvent <VideoProcessItemAddedEvent>().Subscribe(OnVideoProcessAdded); _eventAggregator.GetEvent <VideoProcessItemRemoveEvent>().Subscribe(x => this.VideoProcessItems.Remove(x)); ProcessListCommand = new DelegateCommand(async() => await ProcessList()); VideoProcessItems = new ObservableCollection <VideoProcessViewModelItem>(); }
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); }
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); }
public AvailableVideosViewModel(ILoggerFacade loggerFacade, IEventAggregator eventAggregator, ISettingsHypermint settings) : base(loggerFacade, eventAggregator) { _eventAggregator = eventAggregator; _settings = settings; RandomVideoCommand = new DelegateCommand(() => { }); base.AddSelectedCommand = new DelegateCommand(() => AddSelected()); //Events _eventAggregator.GetEvent <AddSelectedVideosEvent>().Subscribe(AddSelected); _eventAggregator.GetEvent <AddToAvailableVideosEvent>().Subscribe(AddVideo); _eventAggregator.GetEvent <RandomVideosEvent>().Subscribe((amount) => GrabRandomVideos(amount)); _eventAggregator.GetEvent <SystemSelectedEvent>().Subscribe(x => SystemChanged(x)); }
/// <summary> /// Loads the settings from config into the settings service /// </summary> /// <param name="settings">The settings.</param> private void LoadSettings(ISettingsHypermint settings) { Log("", Category.Debug, Priority.None); //Create settings settings.HypermintSettings = new Setting { Author = Properties.Settings.Default.Author, Ffmpeg = Properties.Settings.Default.Ffmpeg, GhostscriptPath = Properties.Settings.Default.GhostscriptPath, HsPath = Properties.Settings.Default.Hyperspin, Icons = Properties.Settings.Default.Icons, RlPath = Properties.Settings.Default.Rocketlauncher, RlMediaPath = Properties.Settings.Default.RocketlauncherMedia, }; }
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); }
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"); }
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)); }
public SettingsFlyoutViewModel(IFileDialogHelper findDir, ISettingsHypermint settings) { _hyperMintSettings = settings; _fileFolderService = findDir; HyperMintSettings = _hyperMintSettings.HypermintSettings; //set the ui theme CurrentThemeColor = Properties.Settings.Default.GuiColor; IsDarkTheme = Properties.Settings.Default.GuiTheme; //Setup themes for combobox binding GuiThemes = new ObservableCollection <string>(MahAppTheme.AvailableThemes); //setup commands SaveSettings = new DelegateCommand(SaveUiSettings); FindPath = new DelegateCommand <string>(LocatePath); }
public ImagePresetViewModel(ISettingsHypermint settingsHypermint, IEventAggregator eventAgg) { _eventAgg = eventAgg; presetPath = settingsHypermint.HypermintSettings.PresetPath + @"\image"; SavePresetCommand = new DelegateCommand(() => { _eventAgg.GetEvent <ImagePresetRequestEvent>().Publish(""); }); _eventAgg.GetEvent <ImagePresetRequestedEvent>().Subscribe((x) => { SavePreset(x); }); GetPresets(""); }
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()); }
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; } }
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()); }
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); }); }
public HyperspinManager(ISettingsHypermint settingsRepo, IHyperspinXmlDataProvider hsDataProvider) { _hsDataProvider = hsDataProvider; _settingsRepo = settingsRepo; _hyperspinFrontEnd = new HyperspinFrontend { Path = _settingsRepo.HypermintSettings.HsPath }; //init system stuff _systemCreator = new SystemCreator(_hyperspinFrontEnd); Systems = new ObservableCollection <MenuItemViewModel>(); //init games lists CurrentSystemsGames = new ObservableCollection <GameItemViewModel>(); MultiSystemGamesList = new ObservableCollection <GameItemViewModel>(); DatabasesCurrentSystem = new ObservableCollection <IFile>(); DatabasesCurrentGenres = new ObservableCollection <IFile>(); }
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"); }