Beispiel #1
0
        public MainViewModel(
            IPageService pageService,
            IOptionsService optionsService,
            ISnackbarService snackbarService,
            IMediaStatusChangingService mediaStatusChangingService,
            IHiddenMediaItemsService hiddenMediaItemsService,
            ICommandLineService commandLineService,
            IDragAndDropService dragAndDropService)
        {
            _commandLineService = commandLineService;
            
            if (commandLineService.NoGpu || ForceSoftwareRendering())
            {
                // disable hardware (GPU) rendering so that it's all done by the CPU...
                RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
            }

            Messenger.Default.Register<MediaListUpdatingMessage>(this, OnMediaListUpdating);
            Messenger.Default.Register<MediaListUpdatedMessage>(this, OnMediaListUpdated);

            _mediaStatusChangingService = mediaStatusChangingService;
            _hiddenMediaItemsService = hiddenMediaItemsService;

            _hiddenMediaItemsService.HiddenItemsChangedEvent += HandleHiddenItemsChangedEvent;

            _pageService = pageService;
            _pageService.NavigationEvent += HandlePageNavigationEvent;
            _pageService.MediaMonitorChangedEvent += HandleMediaMonitorChangedEvent;
            _pageService.MediaWindowVisibilityChanged += HandleMediaWindowVisibilityChangedEvent;
            
            _snackbarService = snackbarService;
            
            _optionsService = optionsService;
            _optionsService.AlwaysOnTopChangedEvent += HandleAlwaysOnTopChangedEvent;

            if (_optionsService.ShouldPurgeBrowserCacheOnStartup)
            {
                _optionsService.ShouldPurgeBrowserCacheOnStartup = false;
                _optionsService.Save();
                FileUtils.DeleteBrowserCacheFolder();
            }

            _pageService.GotoOperatorPage();

            dragAndDropService.CopyingFilesProgressEvent += HandleCopyingFilesProgressEvent;

            InitCommands();

            if (!IsInDesignMode)
            {
                _pageService.InitMediaWindow();
            }

            GetVersionData();
            CheckLogLevel();
        }
Beispiel #2
0
        public MainViewModel(
            IPageService pageService,
            IOptionsService optionsService,
            ISnackbarService snackbarService,
            IMediaStatusChangingService mediaStatusChangingService,
            IHiddenMediaItemsService hiddenMediaItemsService,
            ICommandLineService commandLineService,
            IDragAndDropService dragAndDropService)
        {
            _commandLineService = commandLineService;

            if (commandLineService.NoGpu || ForceSoftwareRendering())
            {
                // disable hardware (GPU) rendering so that it's all done by the CPU...
                RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;
            }

            Messenger.Default.Register <MediaListUpdatingMessage>(this, OnMediaListUpdating);
            Messenger.Default.Register <MediaListUpdatedMessage>(this, OnMediaListUpdated);

            _mediaStatusChangingService = mediaStatusChangingService;
            _hiddenMediaItemsService    = hiddenMediaItemsService;

            _hiddenMediaItemsService.HiddenItemsChangedEvent += HandleHiddenItemsChangedEvent;

            _pageService = pageService;
            _pageService.NavigationEvent              += HandlePageNavigationEvent;
            _pageService.MediaMonitorChangedEvent     += HandleMediaMonitorChangedEvent;
            _pageService.MediaWindowVisibilityChanged += HandleMediaWindowVisibilityChangedEvent;

            _snackbarService = snackbarService;

            _optionsService = optionsService;
            _optionsService.AlwaysOnTopChangedEvent += HandleAlwaysOnTopChangedEvent;

            _pageService.GotoOperatorPage();

            dragAndDropService.CopyingFilesProgressEvent += HandleCopyingFilesProgressEvent;

            InitCommands();

            if (!IsInDesignMode && _optionsService.Options.PermanentBackdrop)
            {
                _pageService.OpenMediaWindow(requiresVisibleWindow: true);
            }

            GetVersionData();
        }
Beispiel #3
0
        public MainViewModel(
            IPageService pageService,
            IOptionsService optionsService,
            ISnackbarService snackbarService,
            IMediaStatusChangingService mediaStatusChangingService,
            IHiddenMediaItemsService hiddenMediaItemsService,
            IDragAndDropService dragAndDropService)
        {
            Messenger.Default.Register <MediaListUpdatingMessage>(this, OnMediaListUpdating);
            Messenger.Default.Register <MediaListUpdatedMessage>(this, OnMediaListUpdated);

            _mediaStatusChangingService = mediaStatusChangingService;
            _hiddenMediaItemsService    = hiddenMediaItemsService;

            _hiddenMediaItemsService.HiddenItemsChangedEvent += HandleHiddenItemsChangedEvent;

            _pageService = pageService;
            _pageService.NavigationEvent          += HandlePageNavigationEvent;
            _pageService.MediaMonitorChangedEvent += HandleMediaMonitorChangedEvent;
            _pageService.MediaWindowOpenedEvent   += HandleMediaWindowOpenedEvent;
            _pageService.MediaWindowClosedEvent   += HandleMediaWindowClosedEvent;

            _snackbarService = snackbarService;

            _optionsService = optionsService;
            _optionsService.AlwaysOnTopChangedEvent += HandleAlwaysOnTopChangedEvent;

            _pageService.GotoOperatorPage();

            dragAndDropService.CopyingFilesProgressEvent += HandleCopyingFilesProgressEvent;

            InitCommands();

            if (!IsInDesignMode && _optionsService.Options.PermanentBackdrop)
            {
                _pageService.OpenMediaWindow();
            }

            GetVersionData();
        }
Beispiel #4
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);
        }