示例#1
0
 public AccountCollection(IAccountRepository accountRepository, IEventAggregator eventAggregator)
 {
     _accountRepository = accountRepository;
     _gate = new object();
     eventAggregator.Get <Event <ProfileChanged> >().Subscribe(e => OnAccountChanged(e.AccountName));
     eventAggregator.Get <Event <ProfileCollectionChanged> >().Subscribe(e => OnAccountChanged(e.AccountName));
     eventAggregator.Get <Event <AccountCollectionCreated> >().Raise(new AccountCollectionCreated(this));
 }
 public PluginRuntime(IPluginPersister pluginPersister, EventAggregator eventAggregator, ITpBus bus)
 {
     _pluginPersister = pluginPersister;
     _eventAggregator = eventAggregator;
     _bus             = bus;
     _eventAggregator.Get <Event <AccountCollectionCreated> >().Subscribe(OnAccountCollectionCreated);
     _eventAggregator.Get <Event <ProfileChanged> >().Subscribe(OnProfileChanged);
 }
		public PluginRuntime(IPluginPersister pluginPersister, EventAggregator eventAggregator, ITpBus bus)
		{
			_pluginPersister = pluginPersister;
			_eventAggregator = eventAggregator;
			_bus = bus;
			_eventAggregator.Get<Event<AccountCollectionCreated>>().Subscribe(OnAccountCollectionCreated);
			_eventAggregator.Get<Event<ProfileChanged>>().Subscribe(OnProfileChanged);
		}
 public AccountCollection(IAccountRepository accountRepository, IEventAggregator eventAggregator)
 {
     _accountRepository = accountRepository;
     _gate = new object();
     eventAggregator.Get<Event<ProfileChanged>>().Subscribe(e => OnAccountChanged(e.AccountName));
     eventAggregator.Get<Event<ProfileCollectionChanged>>().Subscribe(e => OnAccountChanged(e.AccountName));
     eventAggregator.Get<Event<AccountCollectionCreated>>().Raise(new AccountCollectionCreated(this));
 }
示例#5
0
 public PlaybackManager(ITheaterConfigurationManager configurationManager, ILogger logger, IApiClient apiClient, INavigator nav, IPresenter presentationManager, IEventAggregator events)
 {
     _configurationManager = configurationManager;
     _logger = logger;
     _apiClient = apiClient;
     _nav = nav;
     _presentationManager = presentationManager;
     _playbackStart = events.Get<PlaybackStartEventArgs>();
     _playbackStop = events.Get<PlaybackStopEventArgs>();
 }
示例#6
0
        public RootViewModel(IEventAggregator events, INavigator navigator, ITheaterApplicationHost appHost, IServerConnectionManager serverManager, RootContext rootContext)
        {
            _navigator = navigator;
            _serverManager = serverManager;
            _rootContext = rootContext;
            Notifications = new NotificationTrayViewModel(events);
            Commands = new CommandBarViewModel(appHost, navigator);
            Clock = new ClockViewModel();
            IsInFocus = true;

            events.Get<ShowPageEvent>().Subscribe(message => ActivePage = message.ViewModel);
            events.Get<PlaybackStopEventArgs>().Subscribe(message => IsInternalMediaPlaying = false);
            events.Get<PlaybackStartEventArgs>().Subscribe(message => {
                if (message.Player is IInternalMediaPlayer && message.Player is IVideoPlayer && message.Options.Items[0].IsVideo) {
                    IsInternalMediaPlaying = true;
                }
            });
        }
示例#7
0
        public OsdViewModel(IPlaybackManager playbackManager, IApiClient apiClient, IImageManager imageManager, IPresenter presentationManager, ILogger logger, INavigator nav, IServerEvents serverEvents, IEventAggregator events)
        {
            Logger = logger;
            PresentationManager = presentationManager;
            ImageManager = imageManager;
            ApiClient = apiClient;
            PlaybackManager = playbackManager;
            NavigationService = nav;
            _serverEvents = serverEvents;

            PauseCommand = new RelayCommand(Pause);
            StopCommand = new RelayCommand(Stop);
            SkipBackwardCommand = new RelayCommand(SkipBackward);
            SkipForwardCommand = new RelayCommand(SkipForward);
            NextChapterCommand = new RelayCommand(NextChapter);
            PreviousChapterCommand = new RelayCommand(PreviousChapter);
            PlayCommand = new RelayCommand(Play);
            PlayPauseCommand = new RelayCommand(PlayPause);

            _playbackStopHandler = args => NavigationService.Back();
            _playbackStartHandler = args => {
                MediaPlayer = args.Player;
                NowPlayingItem = args.Player.CurrentMedia;
            };

            events.Get<PlaybackStopEventArgs>().Subscribe(_playbackStopHandler, true);
            events.Get<PlaybackStartEventArgs>().Subscribe(_playbackStartHandler, true);
           
            MediaPlayer = playbackManager.MediaPlayers.FirstOrDefault(i => i.PlayState != PlayState.Idle);

            PresentationOptions = new RootPresentationOptions {
                IsFullScreenPage = true,
                ShowClock = false,
                ShowCommandBar = false,
                ShowMediaBrowserLogo = false
            };
        }
        public NotificationTrayViewModel(IEventAggregator events)
        {
            Notifications = new ObservableCollection<IViewModel>();

            events.Get<ShowNotificationEvent>().Subscribe(e => {
                IViewModel vm = e.ViewModel;

                EventHandler closed = null;
                closed = (sender, args) => {
                    Notifications.Remove(vm);
                    vm.Closed -= closed;
                };

                vm.Closed += closed;

                Notifications.Add(vm);
            }, false);
        }
示例#9
0
 public Presenter(IEventAggregator events, WindowManager windowManager)
 {
     _showPageEvent = events.Get<ShowPageEvent>();
     _showNotificationEvent = events.Get<ShowNotificationEvent>();
     _pageLoadedEvent = events.Get<PageLoadedEvent>();
     _windowManager = windowManager;
 }