public CommandActionsEntryPoint(ICommandManager commandManager, ITheaterApplicationHost appHost, IPresenter presentationManager, IPlaybackManager playbackManager, INavigator navigationService, /*IScreensaverManager screensaverManager,*/ ILogManager logManager, IEventAggregator events)
 {
     _commandManager = commandManager;
     _defaultCommandActionMap = new DefaultCommandActionMap(appHost, presentationManager, playbackManager, navigationService, /*screensaverManager,*/ logManager, events);
 
     _logger = logManager.GetLogger(GetType().Name);
 }
        public PageContentViewModel(INavigationService navigationService, ISessionManager sessionManager, IPlaybackManager playbackManager, ILogger logger, ITheaterApplicationHost appHost, IApiClient apiClient, IPresentationManager presentationManager, IServerEvents serverEvents)
        {
            NavigationService = navigationService;
            SessionManager = sessionManager;
            PlaybackManager = playbackManager;
            Logger = logger;
            AppHost = appHost;
            ApiClient = apiClient;
            PresentationManager = presentationManager;
            ServerEvents = serverEvents;

            MasterCommands = new MasterCommandsViewModel(navigationService, sessionManager, presentationManager, apiClient, logger, appHost, serverEvents);

            NavigationService.Navigated += NavigationServiceNavigated;
            SessionManager.UserLoggedIn += SessionManagerUserLoggedIn;
            SessionManager.UserLoggedOut += SessionManagerUserLoggedOut;
            PlaybackManager.PlaybackStarted += PlaybackManager_PlaybackStarted;
            PlaybackManager.PlaybackCompleted += PlaybackManager_PlaybackCompleted;            

            _dispatcher = Dispatcher.CurrentDispatcher;

            _clockTimer = new Timer(ClockTimerCallback, null, 0, 10000);

            IsLoggedIn = SessionManager.CurrentUser != null;
            var page = NavigationService.CurrentPage;
            IsOnHomePage = page is IHomePage;
            IsOnFullscreenVideo = page is IFullscreenVideoPage;
        }
Example #3
0
 public WindowManager(INavigator navigator, IInternalPlayerWindowManager internalPlayerWindowManager, ILogManager logManager, ITheaterApplicationHost appHost)
 {
     _navigator = navigator;
     _internalPlayerWindowManager = internalPlayerWindowManager;
     _appHost = appHost;
     _logger = logManager.GetLogger("WindowManager");
 }
Example #4
0
        public RootContext(ITheaterApplicationHost appHost, INavigator navigator, ISessionManager sessionManager, ILogManager logManager) : base(appHost)
        {
            _appHost = appHost;
            _navigator = navigator;
            _sessionManager = sessionManager;
            _logger = logManager.GetLogger("RootContext");

            // create root navigation bindings
            Binder.Bind<LoginPath, LoginContext>();
            Binder.Bind<HomePath, HomeContext>();
            Binder.Bind<SideMenuPath, SideMenuContext>();
            Binder.Bind<FullScreenPlaybackPath, FullScreenPlaybackContext>();

            Binder.Bind<ItemListPath>(async path => {
                var context = appHost.CreateInstance(typeof (ItemListContext)) as ItemListContext;
                context.Parameters = path.Parameter;

                return context;
            });

            Binder.Bind<ItemPath>(async path => {
                var context = appHost.CreateInstance(typeof (ItemDetailsContext)) as ItemDetailsContext;
                context.Item = path.Parameter;

                return context;
            });
        }
Example #5
0
        public CommandBarViewModel(ITheaterApplicationHost appHost, INavigator navigator)
        {
            _navigator = navigator;
            _commands = appHost.GetExports<IGlobalMenuCommand>().ToList();
            CommandViewModels = new ObservableCollection<GlobalCommandViewModel>();

            _navigator.Navigated += (s, e) => UpdateCommandVisibility();
        }
Example #6
0
 public SideMenuContext(ITheaterApplicationHost appHost, IPresenter presenter, ISessionManager sessionManager, IImageManager imageManager, IApiClient apiClient)
     : base(appHost)
 {
     _appHost = appHost;
     _presenter = presenter;
     _sessionManager = sessionManager;
     _imageManager = imageManager;
     _apiClient = apiClient;
 }
        public DefaultThemePageMasterCommandsViewModel(INavigationService navigationService, ISessionManager sessionManager, IPresentationManager presentationManager, IApiClient apiClient, ILogger logger, ITheaterApplicationHost appHost, IServerEvents serverEvents, IImageManager imageManager) 
            : base(navigationService, sessionManager, presentationManager, apiClient, logger, appHost, serverEvents)
        {
            ImageManager = imageManager;

            UserCommand = new RelayCommand(i => ShowUserMenu());
            LogoutCommand = new RelayCommand(i => Logout());

            PowerOptionsEnabled = true;
        }
 public FullScreenPlaybackContext(ITheaterApplicationHost appHost, IPlaybackManager playbackManager, IApiClient apiClient, IImageManager imageManager, IPresenter presentationManager, ILogManager logManager, INavigator nav, IServerEvents serverEvents, IEventAggregator events)
     : base(appHost)
 {
     _logger = logManager.GetLogger("OSD");
     _playbackManager = playbackManager;
     _apiClient = apiClient;
     _imageManager = imageManager;
     _presentationManager = presentationManager;
     _nav = nav;
     _serverEvents = serverEvents;
     _events = events;
 }
Example #9
0
        public DefaultTheme(IPlaybackManager playbackManager, IImageManager imageManager, INavigationService navService, ISessionManager sessionManager, IPresentationManager presentationManager, ILogManager logManager, ITheaterApplicationHost appHost, ITheaterConfigurationManager config, IConnectionManager connectionManager)
        {
            Current = this;

            _playbackManager = playbackManager;
            _imageManager = imageManager;
            _navService = navService;
            _sessionManager = sessionManager;
            _presentationManager = presentationManager;
            _appHost = appHost;
            _config = config;
            _connectionManager = connectionManager;
            _logger = logManager.GetLogger(GetType().Name);
        }
Example #10
0
        public DefaultTheme(IPlaybackManager playbackManager, IImageManager imageManager, INavigationService navService, ISessionManager sessionManager, IPresentationManager presentationManager, ILogManager logManager, ITheaterApplicationHost appHost, ITheaterConfigurationManager config, IConnectionManager connectionManager)
        {
            Current = this;

            _playbackManager     = playbackManager;
            _imageManager        = imageManager;
            _navService          = navService;
            _sessionManager      = sessionManager;
            _presentationManager = presentationManager;
            _appHost             = appHost;
            _config            = config;
            _connectionManager = connectionManager;
            _logger            = logManager.GetLogger(GetType().Name);
        }
        public DefaultThemePageContentViewModel(INavigationService navigationService, ISessionManager sessionManager, IApiClient apiClient, IImageManager imageManager, IPresentationManager presentation, IPlaybackManager playbackManager, ILogger logger, ITheaterApplicationHost appHost, IServerEvents serverEvents, ITheaterConfigurationManager config)
            : base(navigationService, sessionManager, playbackManager, logger, appHost, apiClient, presentation, serverEvents)
        {
            _imageManager = imageManager;
            _config = config;

            MasterCommands = new DefaultThemePageMasterCommandsViewModel(navigationService, sessionManager, presentation, apiClient, logger, appHost, serverEvents, imageManager);

            NavigationService.Navigated += NavigationService_Navigated;
            SessionManager.UserLoggedIn += SessionManager_UserLoggedIn;
            SessionManager.UserLoggedOut += SessionManager_UserLoggedOut;

            _config.UserConfigurationUpdated += _config_UserConfigurationUpdated;
        }
Example #12
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;
                }
            });
        }
Example #13
0
        public SideMenuViewModel(ITheaterApplicationHost appHost, ISessionManager sessionManager, IImageManager imageManager, IApiClient apiClient)
        {
            _sessionManager = sessionManager;
            Users = new SideMenuUsersViewModel(sessionManager, imageManager, apiClient);
            CommandGroups = new RangeObservableCollection<SideMenuGroupViewModel>();
            UserCommandGroups = new RangeObservableCollection<SideMenuGroupViewModel>();

            IEnumerable<IMenuCommand> commands = appHost.GetExports<IMenuCommand>().ToList();
            
            IEnumerable<IGrouping<MenuCommandGroup, IMenuCommand>> commandGroups = commands.Where(c => c.Group != MenuCommandGroup.User).Where(c => !(c is IGlobalMenuCommand)).GroupBy(c => c.Group);
            CommandGroups.AddRange(commandGroups.OrderBy(g => g.Key.SortOrder).Select(g => new SideMenuGroupViewModel(g)));

            IEnumerable<IGrouping<MenuCommandGroup, IMenuCommand>> userCommandGroups = commands.Where(c => c.Group == MenuCommandGroup.User).Where(c => !(c is IGlobalMenuCommand)).GroupBy(c => c.Group);
            UserCommandGroups.AddRange(userCommandGroups.OrderBy(g => g.Key.SortOrder).Select(g => new SideMenuGroupViewModel(g)));

            sessionManager.UserLoggedIn += UserChanged;
            sessionManager.UserLoggedOut += UserChanged;
        }
Example #14
0
 public HomeViewModel(ITheaterApplicationHost appHost)
 {
     var pageGenerators = appHost.GetExports<IHomePageGenerator>();
     Pages = pageGenerators.SelectMany(p => p.GetHomePages()).ToList();
 }
Example #15
0
        public DefaultThemePageMasterCommandsViewModel(INavigationService navigationService, ISessionManager sessionManager, IPresentationManager presentationManager,
                                                       IApiClient apiClient, ILogger logger, ITheaterApplicationHost appHost, IServerEvents serverEvents, IImageManager imageManager, ITheaterConfigurationManager configurationManager)
            : base(navigationService, sessionManager, presentationManager, apiClient, logger, appHost, serverEvents)
        {
            ImageManager         = imageManager;
            ConfigurationManager = configurationManager;

            UserCommand   = new RelayCommand(i => ShowUserMenu());
            LogoutCommand = new RelayCommand(i => Logout());

            PowerOptionsEnabled = true;
        }
Example #16
0
        public DefaultThemePageContentViewModel(INavigationService navigationService, ISessionManager sessionManager, IApiClient apiClient, IImageManager imageManager,
                                                IPresentationManager presentation, IPlaybackManager playbackManager, ILogger logger, ITheaterApplicationHost appHost, IServerEvents serverEvents, ITheaterConfigurationManager config)
            : base(navigationService, sessionManager, playbackManager, logger, appHost, apiClient, presentation, serverEvents)
        {
            _imageManager = imageManager;
            _config       = config;

            MasterCommands = new DefaultThemePageMasterCommandsViewModel(navigationService, sessionManager, presentation, apiClient, logger, appHost, serverEvents, imageManager, config);

            NavigationService.Navigated  += NavigationService_Navigated;
            SessionManager.UserLoggedIn  += SessionManager_UserLoggedIn;
            SessionManager.UserLoggedOut += SessionManager_UserLoggedOut;

            _config.UserConfigurationUpdated += _config_UserConfigurationUpdated;
        }
Example #17
0
        public PageContentViewModel(INavigationService navigationService, ISessionManager sessionManager, IPlaybackManager playbackManager, ILogger logger, ITheaterApplicationHost appHost, IApiClient apiClient, IPresentationManager presentationManager, IServerEvents serverEvents)
        {
            NavigationService   = navigationService;
            SessionManager      = sessionManager;
            PlaybackManager     = playbackManager;
            Logger              = logger;
            AppHost             = appHost;
            ApiClient           = apiClient;
            PresentationManager = presentationManager;
            ServerEvents        = serverEvents;

            MasterCommands = new MasterCommandsViewModel(navigationService, sessionManager, presentationManager, apiClient, logger, appHost, serverEvents);

            NavigationService.Navigated       += NavigationServiceNavigated;
            SessionManager.UserLoggedIn       += SessionManagerUserLoggedIn;
            SessionManager.UserLoggedOut      += SessionManagerUserLoggedOut;
            PlaybackManager.PlaybackStarted   += PlaybackManager_PlaybackStarted;
            PlaybackManager.PlaybackCompleted += PlaybackManager_PlaybackCompleted;

            _dispatcher = Dispatcher.CurrentDispatcher;

            _clockTimer = new Timer(ClockTimerCallback, null, 0, 10000);

            IsLoggedIn = SessionManager.CurrentUser != null;
            var page = NavigationService.CurrentPage;

            IsOnHomePage        = page is IHomePage;
            IsOnFullscreenVideo = page is IFullscreenVideoPage;
        }
Example #18
0
 public HomeContext(ITheaterApplicationHost appHost, IPresenter presenter) : base(appHost)
 {
     _appHost = appHost;
     _presenter = presenter;
 }
Example #19
0
 public ExitMenuCommand(ITheaterApplicationHost appHost)
 {
     ExecuteCommand = new RelayCommand(arg => appHost.Shutdown());
 }
Example #20
0
        public MasterCommandsViewModel(INavigationService navigationService, ISessionManager sessionManager, IPresentationManager presentationManager, IConnectionManager connectionManager, ILogger logger, ITheaterApplicationHost appHost)
        {
            Dispatcher = Dispatcher.CurrentDispatcher;

            NavigationService   = navigationService;
            SessionManager      = sessionManager;
            PresentationManager = presentationManager;
            ConnectionManager   = connectionManager;
            Logger  = logger;
            AppHost = appHost;

            AppHost.HasPendingRestartChanged += AppHostHasPendingRestartChanged;
            SessionManager.UserLoggedIn      += SessionManager_UserLoggedIn;
            SessionManager.UserLoggedOut     += SessionManager_UserLoggedOut;
            NavigationService.Navigated      += NavigationService_Navigated;

            HomeCommand            = new RelayCommand(i => GoHome());
            SearchCommand          = new RelayCommand(i => GoSearch());
            FullscreenVideoCommand = new RelayCommand(i => NavigationService.NavigateToInternalPlayerPage());
            SettingsCommand        = new RelayCommand(i => GoSettings());
            GoBackCommand          = new RelayCommand(i => GoBack());

            RestartServerCommand = new RelayCommand(i => { });
            //RestartServerCommand = new RelayCommand(i => RestartServer());

            RestartApplicationCommand  = new RelayCommand(i => RestartApplication());
            ShutdownApplicationCommand = new RelayCommand(i => ShutdownApplication());
            ShutdownSystemCommand      = new RelayCommand(i => appHost.ShutdownSystem());
            RestartSystemCommand       = new RelayCommand(i => appHost.RebootSystem());
            SleepSystemCommand         = new RelayCommand(i => appHost.SetSystemToSleep());

            RefreshRestartServerNotification();
        }
        public MasterCommandsViewModel(INavigationService navigationService, ISessionManager sessionManager, IPresentationManager presentationManager, IApiClient apiClient, ILogger logger, ITheaterApplicationHost appHost, IServerEvents serverEvents)
        {
            Dispatcher = Dispatcher.CurrentDispatcher;

            NavigationService = navigationService;
            SessionManager = sessionManager;
            PresentationManager = presentationManager;
            ApiClient = apiClient;
            Logger = logger;
            AppHost = appHost;
            ServerEvents = serverEvents;

            ServerEvents.RestartRequired += ServerEvents_RestartRequired;
            ServerEvents.ServerRestarting += ServerEvents_ServerRestarting;
            ServerEvents.ServerShuttingDown += ServerEvents_ServerShuttingDown;
            ServerEvents.Connected += ServerEvents_Connected;
            AppHost.HasPendingRestartChanged += AppHostHasPendingRestartChanged;
            SessionManager.UserLoggedIn += SessionManager_UserLoggedIn;
            SessionManager.UserLoggedOut += SessionManager_UserLoggedOut;
            NavigationService.Navigated += NavigationService_Navigated;

            HomeCommand = new RelayCommand(i => GoHome());
            SearchCommand = new RelayCommand(i => GoSearch());
            FullscreenVideoCommand = new RelayCommand(i => NavigationService.NavigateToInternalPlayerPage());
            SettingsCommand = new RelayCommand(i => GoSettings());
            GoBackCommand = new RelayCommand(i => GoBack());
            RestartServerCommand = new RelayCommand(i => RestartServer());
            RestartApplicationCommand = new RelayCommand(i => RestartApplication());
            ShutdownApplicationCommand = new RelayCommand(i => ShutdownApplication());
            ShutdownSystemCommand = new RelayCommand(i => appHost.ShutdownSystem());
            RestartSystemCommand = new RelayCommand(i => appHost.RebootSystem());
            SleepSystemCommand = new RelayCommand(i => appHost.SetSystemToSleep());

            RefreshRestartServerNotification();
        }