Пример #1
0
        public SettingsViewModel(
            IPageService pageService,
            IMonitorsService monitorsService,
            IOptionsService optionsService,
            IActiveMediaItemsService activeMediaItemsService,
            IThumbnailService thumbnailService,
            ISnackbarService snackbarService)
        {
            _pageService             = pageService;
            _monitorsService         = monitorsService;
            _optionsService          = optionsService;
            _thumbnailService        = thumbnailService;
            _activeMediaItemsService = activeMediaItemsService;
            _snackbarService         = snackbarService;

            _recentlyUsedMediaFolders = new RecentlyUsedFolders();
            InitRecentlyUsedFolders();

            _monitors         = GetSystemMonitors();
            _languages        = GetSupportedLanguages();
            _loggingLevels    = GetLoggingLevels();
            _fadingTypes      = GetImageFadingTypes();
            _fadingSpeeds     = GetFadingSpeedTypes();
            _renderingMethods = GetRenderingMethods();
            _magnifierShapes  = GetMagnifierShapes();
            _magnifierSizes   = GetMagnifierSizes();
            _mirrorHotKeys    = GetMirrorHotKeys();

            _pageService.NavigationEvent += HandleNavigationEvent;

            InitCommands();
            Messenger.Default.Register <ShutDownMessage>(this, OnShutDown);
        }
Пример #2
0
        public OperatorViewModel(
            IMediaProviderService mediaProviderService,
            IThumbnailService thumbnailService,
            IMediaMetaDataService metaDataService,
            IOptionsService optionsService,
            IPageService pageService,
            IFolderWatcherService folderWatcherService,
            IMediaStatusChangingService mediaStatusChangingService,
            IHiddenMediaItemsService hiddenMediaItemsService,
            IActiveMediaItemsService activeMediaItemsService,
            IFrozenVideosService frozenVideosService)
        {
            _mediaProviderService       = mediaProviderService;
            _mediaStatusChangingService = mediaStatusChangingService;

            _hiddenMediaItemsService = hiddenMediaItemsService;
            _hiddenMediaItemsService.UnhideAllEvent += HandleUnhideAllEvent;

            _activeMediaItemsService = activeMediaItemsService;
            _frozenVideosService     = frozenVideosService;

            _thumbnailService = thumbnailService;
            _thumbnailService.ThumbnailsPurgedEvent += HandleThumbnailsPurgedEvent;

            _metaDataService = metaDataService;

            _optionsService = optionsService;
            _optionsService.MediaFolderChangedEvent               += HandleMediaFolderChangedEvent;
            _optionsService.AutoRotateChangedEvent                += HandleAutoRotateChangedEvent;
            _optionsService.AllowVideoPauseChangedEvent           += HandleAllowVideoPauseChangedEvent;
            _optionsService.AllowVideoPositionSeekingChangedEvent += HandleAllowVideoPositionSeekingChangedEvent;
            _optionsService.UseInternalMediaTitlesChangedEvent    += HandleUseInternalMediaTitlesChangedEvent;
            _optionsService.ShowMediaItemCommandPanelChangedEvent += HandleShowMediaItemCommandPanelChangedEvent;
            _optionsService.ShowFreezeCommandChangedEvent         += HandleShowFreezeCommandChangedEvent;
            _optionsService.OperatingDateChangedEvent             += HandleOperatingDateChangedEvent;
            _optionsService.MaxItemCountChangedEvent              += HandleMaxItemCountChangedEvent;
            _optionsService.PermanentBackdropChangedEvent         += async(sender, e) =>
            {
                await HandlePermanentBackdropChangedEvent(sender, e);
            };
            _optionsService.IncludeBlankScreenItemChangedEvent += async(sender, e) =>
            {
                await HandleIncludeBlankScreenItemChangedEvent(sender, e);
            };

            folderWatcherService.ChangesFoundEvent += HandleFileChangesFoundEvent;

            _pageService = pageService;
            _pageService.MediaChangeEvent          += HandleMediaChangeEvent;
            _pageService.SlideTransitionEvent      += HandleSlideTransitionEvent;
            _pageService.MediaMonitorChangedEvent  += HandleMediaMonitorChangedEvent;
            _pageService.MediaPositionChangedEvent += HandleMediaPositionChangedEvent;
            _pageService.MediaNearEndEvent         += async(sender, e) =>
            {
                await HandleMediaNearEndEvent(sender, e);
            };
            _pageService.NavigationEvent += HandleNavigationEvent;

            LoadMediaItems();
            InitCommands();

            LaunchThumbnailQueueConsumer();

            Messenger.Default.Register <ShutDownMessage>(this, OnShutDown);
        }