public static void EnsureObjects(ITheaterConfigurationManager mbtConfig, bool block, IZipClient zipClient)
        {
            try
            {
                string objPath = Path.Combine(mbtConfig.CommonApplicationPaths.ProgramDataPath, OJB_FOLDER);
                string lastCheckedPath = Path.Combine(objPath, LAST_CHECKED);
                bool needsCheck = true;

                if (!Directory.Exists(objPath))
                {
                    Directory.CreateDirectory(objPath);
                }

                DateAndVersion lastCheck = new DateAndVersion(lastCheckedPath);
                if (lastCheck.StoredDate.AddDays(7) > DateTime.Now)
                    needsCheck = false;
                if (lastCheck.VersionNumber != ExeVersion)
                    needsCheck = true;

                if (needsCheck)
                {
                    if (block)
                        CheckObjects(objPath, zipClient);
                    else
                        ThreadPool.QueueUserWorkItem(o => CheckObjects(o, zipClient), objPath);
                }
            }
            catch (Exception ex)
            {

            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="MainWindow" /> class.
        /// </summary>
        public MainWindow(ILogger logger, IPlaybackManager playbackManager, IApiClient apiClient, IImageManager imageManager, IApplicationHost appHost, IPresentationManager appWindow, IUserInputManager userInput, ITheaterConfigurationManager config, INavigationService nav, IScreensaverManager screensaverManager)
            : base()
        {
            _logger = logger;
            _appHost = appHost;
            _appWindow = appWindow;
            _config = config;
            _playbackManager = playbackManager;
            UserInputManager = userInput;
            NavigationManager = nav;

            Loaded += MainWindow_Loaded;

            InitializeComponent();

            RotatingBackdrops = new RotatingBackdropsViewModel(apiClient, _config, imageManager, playbackManager, logger, screensaverManager);

            _config.ConfigurationUpdated += _config_ConfigurationUpdated;
            _playbackManager.PlaybackStarted += _playbackManager_PlaybackStarted;
            _playbackManager.PlaybackCompleted += _playbackManager_PlaybackCompleted;

            //Timeline.DesiredFrameRateProperty.OverrideMetadata(
            //    typeof(Timeline),
            //    new FrameworkPropertyMetadata { DefaultValue = 30 }
            //);
        }
Esempio n. 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MainWindow" /> class.
        /// </summary>
        public MainWindow(ILogger logger, IPlaybackManager playbackManager, IApiClient apiClient, IImageManager imageManager, IApplicationHost appHost, IPresentationManager appWindow, IUserInputManager userInput, ITheaterConfigurationManager config, INavigationService nav)
            : base()
        {
            _logger           = logger;
            _appHost          = appHost;
            _appWindow        = appWindow;
            _config           = config;
            _playbackManager  = playbackManager;
            UserInputManager  = userInput;
            NavigationManager = nav;

            Loaded += MainWindow_Loaded;

            InitializeComponent();

            RotatingBackdrops = new RotatingBackdropsViewModel(apiClient, _config, imageManager, playbackManager, logger);

            _config.ConfigurationUpdated       += _config_ConfigurationUpdated;
            _playbackManager.PlaybackStarted   += _playbackManager_PlaybackStarted;
            _playbackManager.PlaybackCompleted += _playbackManager_PlaybackCompleted;

            //Timeline.DesiredFrameRateProperty.OverrideMetadata(
            //    typeof(Timeline),
            //    new FrameworkPropertyMetadata { DefaultValue = 30 }
            //);
        }
Esempio n. 4
0
        public ScreensaverManager(IUserInputManager userInput, IPresentationManager presentationManager, IPlaybackManager playback, ISessionManager session, IApiClient apiClient, ITheaterConfigurationManager theaterConfigurationManager, ILogManager logManager, IServerEvents serverEvents)
        {
            _userInput                   = userInput;
            _presentationManager         = presentationManager;
            _playback                    = playback;
            _session                     = session;
            _apiClient                   = apiClient;
            _theaterConfigurationManager = theaterConfigurationManager;
            _logger       = logManager.GetLogger(GetType().Name);
            _serverEvents = serverEvents;

            _session.UserLoggedIn  += session_UserChanged;
            _session.UserLoggedOut += session_UserChanged;

            _playback.PlaybackCompleted += _playback_PlaybackCompleted;
            _playback.PlaybackStarted   += _playback_PlaybackStarted;

            _serverEvents.BrowseCommand    += _serverEvents_BrowseCommand;
            _serverEvents.MessageCommand   += _serverEvents_MessageCommand;
            _serverEvents.PlayCommand      += _serverEvents_PlayCommand;
            _serverEvents.PlaystateCommand += _serverEvents_PlaystateCommand;
            _serverEvents.GeneralCommand   += _serverEvents_GeneralCommand;

            SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;

            StartTimer();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ImageManager" /> class.
        /// </summary>
        /// <param name="apiClient">The API client.</param>
        /// <param name="paths">The paths.</param>
        /// <param name="config"></param>
        public ImageManager(Func<IApiClient> apiClient, IApplicationPaths paths, ITheaterConfigurationManager config)
        {
            _apiClient = apiClient;
            _config = config;

            _remoteImageCache = new FileSystemRepository(Path.Combine(paths.CachePath, "remote-images"));
        }
Esempio n. 6
0
        public ServerDetailsViewModel(ILogManager logManager, IApiClient apiClient, ITheaterConfigurationManager config)
        {
            _apiClient = apiClient;
            _config = config;

            IsSearchingForServer = true;
            HostName = _config.Configuration.ServerHostName ?? "127.0.0.1";
            Port = _config.Configuration.ServerApiPort;

            Task.Run(async () => {
                try {
                    var address = await new ServerLocator().FindServer(500, CancellationToken.None).ConfigureAwait(false);
                    var parts = address.ToString().Split(':');

                    HostName = parts[0];
                    Port = address.Port;
                }
                catch (Exception e) {
                    var log = logManager.GetLogger("SetupWizard.SeverDetails");
                    log.ErrorException("Failed to discover server", e);
                }
                finally {
                    IsSearchingForServer = false;
                }
            });
        }
        public InternalDirectShowPlayer(ILogManager logManager, IHiddenWindow hiddenWindow, IPresentationManager presentation, ISessionManager sessionManager, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IIsoManager isoManager, IUserInputManager inputManager, IZipClient zipClient, IHttpClient httpClient, IConnectionManager connectionManager)
        {
            _logger = logManager.GetLogger("InternalDirectShowPlayer");
            _hiddenWindow = hiddenWindow;
            _presentation = presentation;
            _sessionManager = sessionManager;
            _httpClient = httpClient;
            _connectionManager = connectionManager;
            _playbackManager = playbackManager;
            _config = config;
            _isoManager = isoManager;
            _inputManager = inputManager;
            _zipClient = zipClient;

            _config.Configuration.InternalPlayerConfiguration.VideoConfig.SetDefaults();
            _config.Configuration.InternalPlayerConfiguration.AudioConfig.SetDefaults();
            _config.Configuration.InternalPlayerConfiguration.SubtitleConfig.SetDefaults();
            _config.Configuration.InternalPlayerConfiguration.COMConfig.SetDefaults();

            //use a static object so we keep the libraries in the same place. Doesn't usually matter, but the EVR Presenter does some COM hooking that has problems if we change the lib address.
            //if (_privateCom == null)
            //    _privateCom = new URCOMLoader(_config, _zipClient);
            URCOMLoader.Instance.Initialize(_config, _zipClient, logManager);

            EnsureMediaFilters();
        }
        public static void EnsureObjects(ITheaterConfigurationManager mbtConfig, bool block)
        {
            try
            {
                string objPath = Path.Combine(mbtConfig.CommonApplicationPaths.ProgramDataPath, OJB_FOLDER);
                string lastCheckedPath = Path.Combine(objPath, LAST_CHECKED);
                bool needsCheck = true;

                if (!Directory.Exists(objPath))
                {
                    Directory.CreateDirectory(objPath);
                }

                DateTime lastCheckDate = ReadTextDate(lastCheckedPath);
                if (lastCheckDate.AddDays(7) > DateTime.Now)
                    needsCheck = false;

                if (needsCheck)
                {
                    if (block)
                        CheckObjects(objPath);
                    else
                        ThreadPool.QueueUserWorkItem(new WaitCallback(CheckObjects), objPath);
                }
            }
            catch (Exception ex)
            {

            }
        }
Esempio n. 9
0
        public InternalDirectShowPlayer(ILogManager logManager, IHiddenWindow hiddenWindow, IPresentationManager presentation, ISessionManager sessionManager, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IIsoManager isoManager, IUserInputManager inputManager, IZipClient zipClient, IHttpClient httpClient, IConnectionManager connectionManager)
        {
            _logger            = logManager.GetLogger("InternalDirectShowPlayer");
            _hiddenWindow      = hiddenWindow;
            _presentation      = presentation;
            _sessionManager    = sessionManager;
            _httpClient        = httpClient;
            _connectionManager = connectionManager;
            _playbackManager   = playbackManager;
            _config            = config;
            _isoManager        = isoManager;
            _inputManager      = inputManager;
            _zipClient         = zipClient;

            _config.Configuration.InternalPlayerConfiguration.VideoConfig.SetDefaults();
            _config.Configuration.InternalPlayerConfiguration.AudioConfig.SetDefaults();
            _config.Configuration.InternalPlayerConfiguration.SubtitleConfig.SetDefaults();
            _config.Configuration.InternalPlayerConfiguration.COMConfig.SetDefaults();

            //use a static object so we keep the libraries in the same place. Doesn't usually matter, but the EVR Presenter does some COM hooking that has problems if we change the lib address.
            if (_privateCom == null)
            {
                _privateCom = new URCOMLoader(_config, _zipClient);
            }

            EnsureMediaFilters();
        }
Esempio n. 10
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ImageManager" /> class.
        /// </summary>
        /// <param name="apiClient">The API client.</param>
        /// <param name="paths">The paths.</param>
        /// <param name="config"></param>
        public ImageManager(Func <IApiClient> apiClient, IApplicationPaths paths, ITheaterConfigurationManager config)
        {
            _apiClient = apiClient;
            _config    = config;

            _remoteImageCache = new FileSystemRepository(Path.Combine(paths.CachePath, "remote-images"));
        }
        public ScreensaverManager(IUserInputManager userInput, IPresentationManager presentationManager, IPlaybackManager playback, ISessionManager session, IApiClient apiClient, ITheaterConfigurationManager theaterConfigurationManager, ILogManager logManager, IServerEvents serverEvents)
        {
            _userInput = userInput;
            _presentationManager = presentationManager;
            _playback = playback;
            _session = session;
            _apiClient = apiClient;
            _theaterConfigurationManager = theaterConfigurationManager;
            _logger = logManager.GetLogger(GetType().Name);
            _serverEvents = serverEvents;

            _session.UserLoggedIn += session_UserChanged;
            _session.UserLoggedOut += session_UserChanged;

            _playback.PlaybackCompleted += _playback_PlaybackCompleted;
            _playback.PlaybackStarted += _playback_PlaybackStarted;

            _serverEvents.BrowseCommand += _serverEvents_BrowseCommand;
            _serverEvents.MessageCommand += _serverEvents_MessageCommand;
            _serverEvents.PlayCommand += _serverEvents_PlayCommand;
            _serverEvents.PlaystateCommand += _serverEvents_PlaystateCommand;
            _serverEvents.GeneralCommand += _serverEvents_GeneralCommand; 

            SystemEvents.PowerModeChanged += SystemEvents_PowerModeChanged;

            StartTimer();
        }
 public ConfigurationPage(INavigationService nav, ITheaterConfigurationManager config, IPresentationManager presentation, IMediaFilters mediaFilters)
 {
     _nav = nav;
     _config = config;
     _presentation = presentation;
     _mediaFilters = mediaFilters;
     InitializeComponent();
 }
 public PlayExternalDiscAppFactory(ISessionManager sessionManager, IPlaybackManager playbackManager, ITheaterConfigurationManager theaterConfigurationManager, IImageManager imageManager, ILogManager logManager)
 {
     _playbackManager = playbackManager;
     _sessionManager = sessionManager;
     _imageManager = imageManager;
     _theaterConfigurationManager = theaterConfigurationManager;
     _logManager = logManager;
 }
 public PlaybackManager(ITheaterConfigurationManager configurationManager, ILogger logger, IApiClient apiClient, INavigationService nav, IPresentationManager presentationManager)
 {
     _configurationManager = configurationManager;
     _logger = logger;
     _apiClient = apiClient;
     _nav = nav;
     _presentationManager = presentationManager;
 }
Esempio n. 15
0
 public PlaybackManager(ITheaterConfigurationManager configurationManager, ILogger logger, IApiClient apiClient, INavigationService nav, IPresentationManager presentationManager)
 {
     _configurationManager = configurationManager;
     _logger              = logger;
     _apiClient           = apiClient;
     _nav                 = nav;
     _presentationManager = presentationManager;
 }
Esempio n. 16
0
 public ConfigurationPage(INavigationService nav, ITheaterConfigurationManager config, IPresentationManager presentation, IMediaFilters mediaFilters)
 {
     _nav          = nav;
     _config       = config;
     _presentation = presentation;
     _mediaFilters = mediaFilters;
     InitializeComponent();
 }
Esempio n. 17
0
 public PlayExternalDiscAppFactory(ISessionManager sessionManager, IPlaybackManager playbackManager, ITheaterConfigurationManager theaterConfigurationManager, IImageManager imageManager, ILogManager logManager)
 {
     _playbackManager             = playbackManager;
     _sessionManager              = sessionManager;
     _imageManager                = imageManager;
     _theaterConfigurationManager = theaterConfigurationManager;
     _logManager = logManager;
 }
Esempio n. 18
0
 public NetworkSettingsPage(ITheaterConfigurationManager config, IApiClient apiClient, ISessionManager session, IPresentationManager presentationManager)
 {
     _config              = config;
     _apiClient           = apiClient;
     _session             = session;
     _presentationManager = presentationManager;
     InitializeComponent();
 }
 public NetworkSettingsPage(ITheaterConfigurationManager config, IApiClient apiClient, ISessionManager session, IPresentationManager presentationManager)
 {
     _config = config;
     _apiClient = apiClient;
     _session = session;
     _presentationManager = presentationManager;
     InitializeComponent();
 }
Esempio n. 20
0
 public SessionManager(INavigationService navService, IApiClient apiClient, ILogger logger, IThemeManager themeManager, ITheaterConfigurationManager config, IPlaybackManager playback)
 {
     _navService   = navService;
     _apiClient    = apiClient;
     _logger       = logger;
     _themeManager = themeManager;
     _config       = config;
     _playback     = playback;
 }
 public RotatingBackdropsViewModel(IApiClient apiClient, ITheaterConfigurationManager config, IImageManager imageManager, IPlaybackManager playbackManager, ILogger logger)
 {
     _apiClient       = apiClient;
     _config          = config;
     _imageManager    = imageManager;
     _playbackManager = playbackManager;
     _logger          = logger;
     _dispatcher      = Dispatcher.CurrentDispatcher;
 }
Esempio n. 22
0
//        private readonly IPlaybackManager _playback;

        public SessionManager(INavigator navService, IPresenter presenter, IApiClient apiClient, ILogger logger, ITheaterConfigurationManager config) //, IPlaybackManager playback)
        {
            _navService = navService;
            _presenter = presenter;
            _apiClient = apiClient;
            _logger = logger;
            _config = config;
//            _playback = playback;
        }
 public SessionManager(INavigationService navService, IApiClient apiClient, ILogger logger, IThemeManager themeManager, ITheaterConfigurationManager config, IPlaybackManager playback)
 {
     _navService = navService;
     _apiClient = apiClient;
     _logger = logger;
     _themeManager = themeManager;
     _config = config;
     _playback = playback;
 }
Esempio n. 24
0
        public URCOMLoader(ITheaterConfigurationManager mbtConfig, IZipClient zipClient)
        {
            //this should be called on app load, but this will make sure it gets done.
            URCOMLoader.EnsureObjects(mbtConfig, true, zipClient);

            _knownObjects    = mbtConfig.Configuration.InternalPlayerConfiguration.COMConfig.FilterList;
            SearchPath       = Path.Combine(mbtConfig.CommonApplicationPaths.ProgramDataPath, OJB_FOLDER);
            _preferURObjects = mbtConfig.Configuration.InternalPlayerConfiguration.UsePrivateObjects;
        }
 public RotatingBackdropsViewModel(IApiClient apiClient, ITheaterConfigurationManager config, IImageManager imageManager, IPlaybackManager playbackManager, ILogger logger)
 {
     _apiClient = apiClient;
     _config = config;
     _imageManager = imageManager;
     _playbackManager = playbackManager;
     _logger = logger;
     _dispatcher = Dispatcher.CurrentDispatcher;
 }
Esempio n. 26
0
 public MediaPlayersPage(INavigationService nav, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IPresentationManager presentation, ISessionManager session)
 {
     _nav = nav;
     _playbackManager = playbackManager;
     _config = config;
     _presentation = presentation;
     _session = session;
     InitializeComponent();
 }
Esempio n. 27
0
 public StartupWizardPage2(INavigationService nav, ITheaterConfigurationManager config, IApiClient apiClient, IPresentationManager presentation, ILogger logger, IMediaFilters mediaFilters)
 {
     _nav          = nav;
     _config       = config;
     _apiClient    = apiClient;
     _presentation = presentation;
     _logger       = logger;
     _mediaFilters = mediaFilters;
     InitializeComponent();
 }
Esempio n. 28
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NVlcPlayer" /> class.
        /// </summary>
        /// <param name="hiddenWindow">The hidden window.</param>
        /// <param name="logManager">The log manager.</param>
        /// <param name="playbackManager">The playback manager.</param>
        public NVlcPlayer(IHiddenWindow hiddenWindow, ILogManager logManager, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IUserInputManager userInput, IPresentationManager presentation)
        {
            _hiddenWindow = hiddenWindow;
            _playbackManager = playbackManager;
            _config = config;
            _userInput = userInput;
            _presentation = presentation;

            _logger = logManager.GetLogger(Name);
        }
Esempio n. 29
0
        public MainForm(ILogger logger, ITheaterConfigurationManager config, ApplicationHost appHost, Process electronProcess)
        {
            _logger = logger;
            _config = config;
            _appHost = appHost;
            _electronProcess = electronProcess;
            InitializeComponent();

            SetWindowState();
        }
Esempio n. 30
0
        /// <summary>
        /// Initializes a new instance of the <see cref="NVlcPlayer" /> class.
        /// </summary>
        /// <param name="hiddenWindow">The hidden window.</param>
        /// <param name="logManager">The log manager.</param>
        /// <param name="playbackManager">The playback manager.</param>
        public NVlcPlayer(IHiddenWindow hiddenWindow, ILogManager logManager, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IUserInputManager userInput, IPresentationManager presentation)
        {
            _hiddenWindow    = hiddenWindow;
            _playbackManager = playbackManager;
            _config          = config;
            _userInput       = userInput;
            _presentation    = presentation;

            _logger = logManager.GetLogger(Name);
        }
Esempio n. 31
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TheaterApplicationWindow" /> class.
        /// </summary>
        /// <param name="logger">The logger.</param>
        /// <param name="themeManager">The theme manager.</param>
        /// <param name="sessionFactory">The session factory.</param>
        /// <param name="configurationManager">The configuration manager.</param>
        public TheaterApplicationWindow(ILogger logger, IThemeManager themeManager, Func <ISessionManager> sessionFactory, ITheaterConfigurationManager configurationManager)
        {
            _logger               = logger;
            _themeManager         = themeManager;
            _sessionFactory       = sessionFactory;
            _configurationManager = configurationManager;

            _themeManager.ThemeUnloaded += _themeManager_ThemeUnloaded;
            _themeManager.ThemeLoaded   += _themeManager_ThemeLoaded;
        }
 public StartupWizardPage2(INavigationService nav, ITheaterConfigurationManager config, IApiClient apiClient, IPresentationManager presentation, ILogger logger, IMediaFilters mediaFilters)
 {
     _nav = nav;
     _config = config;
     _apiClient = apiClient;
     _presentation = presentation;
     _logger = logger;
     _mediaFilters = mediaFilters;
     InitializeComponent();
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="TheaterApplicationWindow" /> class.
        /// </summary>
        /// <param name="logger">The logger.</param>
        /// <param name="themeManager">The theme manager.</param>
        /// <param name="sessionFactory">The session factory.</param>
        /// <param name="configurationManager">The configuration manager.</param>
        public TheaterApplicationWindow(ILogger logger, IThemeManager themeManager, Func<ISessionManager> sessionFactory, ITheaterConfigurationManager configurationManager)
        {
            _logger = logger;
            _themeManager = themeManager;
            _sessionFactory = sessionFactory;
            _configurationManager = configurationManager;

            _themeManager.ThemeUnloaded += _themeManager_ThemeUnloaded;
            _themeManager.ThemeLoaded += _themeManager_ThemeLoaded;
        }
Esempio n. 34
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>();
 }
 public RotatingBackdropsViewModel(ITheaterConfigurationManager config, IImageManager imageManager, IPlaybackManager playbackManager, ILogger logger, IScreensaverManager screensaverManager, IConnectionManager connectionManager)
 {
     _config = config;
     _imageManager = imageManager;
     _playbackManager = playbackManager;
     _logger = logger;
     _screensaverManager = screensaverManager;
     _connectionManager = connectionManager;
     _dispatcher = Dispatcher.CurrentDispatcher;
 }
Esempio n. 36
0
 public RotatingBackdropsViewModel(ITheaterConfigurationManager config, IImageManager imageManager, IPlaybackManager playbackManager, ILogger logger, IScreensaverManager screensaverManager, IConnectionManager connectionManager)
 {
     _config             = config;
     _imageManager       = imageManager;
     _playbackManager    = playbackManager;
     _logger             = logger;
     _screensaverManager = screensaverManager;
     _connectionManager  = connectionManager;
     _dispatcher         = Dispatcher.CurrentDispatcher;
 }
Esempio n. 37
0
        public MainForm(ILogger logger, ITheaterConfigurationManager config, ApplicationHost appHost, Process electronProcess)
        {
            _logger          = logger;
            _config          = config;
            _appHost         = appHost;
            _electronProcess = electronProcess;
            InitializeComponent();

            SetWindowState();
        }
Esempio n. 38
0
        public UserProfileWindow(DefaultThemePageMasterCommandsViewModel masterCommands, ISessionManager session, IPresentationManager presentationManager,
                                 IImageManager imageManager, IApiClient apiClient, ITheaterConfigurationManager configurationManager, DisplayPreferences displayPreferences, ListPageConfig options)
        {
            _session = session;
            _options = options;
            _displayPreferencesViewModel = new DisplayPreferencesViewModel(displayPreferences, presentationManager, configurationManager, session);
            _previousFocus = "";

            InitializeComponent();

            Loaded   += UserProfileWindow_Loaded;
            Unloaded += UserProfileWindow_Unloaded;
            masterCommands.PageNavigated += masterCommands_PageNavigated;
            BtnClose.Click += BtnClose_Click;

            //Display preferences
            RadioList.Click        += radioList_Click;
            RadioPoster.Click      += radioPoster_Click;
            RadioThumbstrip.Click  += radioThumbstrip_Click;
            RadioPosterStrip.Click += radioPosterStrip_Click;

            //Sort preferences
            RadioSortAscending.Click  += RadioSortAscending_Click;
            RadioSortDescending.Click += RadioSortDescending_Click;

            //Focus tracking
            BtnClose.IsKeyboardFocusedChanged   += Button_IsKeyboardFocusedChanged;
            HomeButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            DisplayPreferencesButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            SortButton.IsKeyboardFocusedChanged        += Button_IsKeyboardFocusedChanged;
            SettingsButton.IsKeyboardFocusedChanged    += Button_IsKeyboardFocusedChanged;
            LogoutButton.IsKeyboardFocusedChanged      += Button_IsKeyboardFocusedChanged;
            ShutdownAppButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            SleepButton.IsKeyboardFocusedChanged       += Button_IsKeyboardFocusedChanged;
            RestartButton.IsKeyboardFocusedChanged     += Button_IsKeyboardFocusedChanged;
            ShutdownButton.IsKeyboardFocusedChanged    += Button_IsKeyboardFocusedChanged;

            RadioList.IsKeyboardFocusedChanged        += Button_IsKeyboardFocusedChanged;
            RadioPosterStrip.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            RadioPoster.IsKeyboardFocusedChanged      += Button_IsKeyboardFocusedChanged;
            RadioThumbstrip.IsKeyboardFocusedChanged  += Button_IsKeyboardFocusedChanged;

            RadioSortAscending.IsKeyboardFocusedChanged   += Button_IsKeyboardFocusedChanged;
            RadioSortDescending.IsKeyboardFocusedChanged  += Button_IsKeyboardFocusedChanged;
            CheckBoxSortRemember.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;

            ContentGrid.DataContext = new DefaultThemeUserDtoViewModel(masterCommands, apiClient, imageManager, session)
            {
                User        = session.CurrentUser,
                ImageHeight = 54
            };

            MainGrid.DataContext             = this;
            CheckBoxSortRemember.DataContext = _displayPreferencesViewModel;
        }
        public UserProfileWindow(DefaultThemePageMasterCommandsViewModel masterCommands, ISessionManager session, IPresentationManager presentationManager, 
            IImageManager imageManager, IApiClient apiClient, ITheaterConfigurationManager configurationManager, DisplayPreferences displayPreferences, ListPageConfig options)
        {
            _session = session;
            _options = options;
            _displayPreferencesViewModel = new DisplayPreferencesViewModel(displayPreferences, presentationManager, configurationManager, session);
            _previousFocus = "";

            InitializeComponent();

            Loaded += UserProfileWindow_Loaded;
            Unloaded += UserProfileWindow_Unloaded;
            masterCommands.PageNavigated += masterCommands_PageNavigated;
            BtnClose.Click += BtnClose_Click;

            //Display preferences
            RadioList.Click += radioList_Click;
            RadioPoster.Click += radioPoster_Click;
            RadioThumbstrip.Click += radioThumbstrip_Click;
            RadioPosterStrip.Click += radioPosterStrip_Click;

            //Sort preferences
            RadioSortAscending.Click += RadioSortAscending_Click;
            RadioSortDescending.Click += RadioSortDescending_Click;

            //Focus tracking
            BtnClose.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            HomeButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            DisplayPreferencesButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            SortButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            SettingsButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            LogoutButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            ShutdownAppButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            SleepButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            RestartButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            ShutdownButton.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;

            RadioList.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            RadioPosterStrip.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            RadioPoster.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            RadioThumbstrip.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;

            RadioSortAscending.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            RadioSortDescending.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;
            CheckBoxSortRemember.IsKeyboardFocusedChanged += Button_IsKeyboardFocusedChanged;

            ContentGrid.DataContext = new DefaultThemeUserDtoViewModel(masterCommands, apiClient, imageManager, session)
            {
                User = session.CurrentUser,
                ImageHeight = 54
            };

            MainGrid.DataContext = this;
            CheckBoxSortRemember.DataContext = _displayPreferencesViewModel;
        }
        public ConfigureMediaPlayerPage(PlayerConfiguration playerConfig, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IPresentationManager presentation, INavigationService nav, IApiClient apiClient)
        {
            _playerConfig    = playerConfig;
            _playbackManager = playbackManager;
            _config          = config;
            _presentation    = presentation;
            _nav             = nav;
            _apiClient       = apiClient;

            InitializeComponent();
        }
 public InternalDirectShowPlayer(ILogManager logManager, IHiddenWindow hiddenWindow, IPresentationManager presentation, IUserInputManager userInput, IApiClient apiClient, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IIsoManager isoManager)
 {
     _logger = logManager.GetLogger("DirectShowPlayer");
     _hiddenWindow = hiddenWindow;
     _presentation = presentation;
     _userInput = userInput;
     _apiClient = apiClient;
     _playbackManager = playbackManager;
     _config = config;
     _isoManager = isoManager;
 }
Esempio n. 42
0
        public LoginPage(IConnectionManager connectionManager, IImageManager imageManager, INavigationService navigationManager, ISessionManager sessionManager, IPresentationManager presentationManager, ITheaterConfigurationManager configManager)
        {
            PresentationManager  = presentationManager;
            SessionManager       = sessionManager;
            NavigationManager    = navigationManager;
            ImageManager         = imageManager;
            ConnectionManager    = connectionManager;
            ConfigurationManager = configManager;

            InitializeComponent();
        }
Esempio n. 43
0
        public PlaybackManager(ITheaterConfigurationManager configurationManager, ILogger logger, IConnectionManager connectionManager, INavigationService nav, IPresentationManager presentationManager)
        {
            _configurationManager = configurationManager;
            _logger = logger;
            _connectionManager = connectionManager;
            _nav = nav;
            _presentationManager = presentationManager;

            var localPlayer = new LocalPlayer(new NetworkConnection(_logger), new HttpWebRequestClient(_logger, new HttpWebRequestFactory()));
            _apiPlaybackManager = new ApiInteraction.Playback.PlaybackManager(new NullAssetManager(), _connectionManager.Device, _logger, localPlayer);
        }
Esempio n. 44
0
        public SessionManager(INavigationService navService, ILogger logger, IThemeManager themeManager, ITheaterConfigurationManager config, IPlaybackManager playback, IConnectionManager connectionManager)
        {
            _navService = navService;
            _logger = logger;
            _themeManager = themeManager;
            _config = config;
            _playback = playback;
            _connectionManager = connectionManager;

            _connectionManager.RemoteLoggedOut += _connectionManager_RemoteLoggedOut;
        }
        public ConfigureMediaPlayerPage(PlayerConfiguration playerConfig, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IPresentationManager presentation, INavigationService nav, IApiClient apiClient)
        {
            _playerConfig = playerConfig;
            _playbackManager = playbackManager;
            _config = config;
            _presentation = presentation;
            _nav = nav;
            _apiClient = apiClient;

            InitializeComponent();
        }
 public AppearancePage(ITheaterConfigurationManager config, ISessionManager session, IImageManager imageManager, IApiClient apiClient, IPresentationManager presentation, IThemeManager themeManager, INavigationService nav)
 {
     _config = config;
     _session = session;
     _imageManager = imageManager;
     _apiClient = apiClient;
     _presentation = presentation;
     _themeManager = themeManager;
     _nav = nav;
     InitializeComponent();
 }
Esempio n. 47
0
 public AppearancePage(ITheaterConfigurationManager config, ISessionManager session, IImageManager imageManager, IApiClient apiClient, IPresentationManager presentation, IThemeManager themeManager, INavigationService nav)
 {
     _config       = config;
     _session      = session;
     _imageManager = imageManager;
     _apiClient    = apiClient;
     _presentation = presentation;
     _themeManager = themeManager;
     _nav          = nav;
     InitializeComponent();
 }
        public LoginPage(IApiClient apiClient, IImageManager imageManager, INavigationService navigationManager, ISessionManager sessionManager, IPresentationManager presentationManager, ITheaterConfigurationManager configManager)
        {
            PresentationManager = presentationManager;
            SessionManager = sessionManager;
            NavigationManager = navigationManager;
            ImageManager = imageManager;
            ApiClient = apiClient;
            ConfigurationManager = configManager;

            InitializeComponent();
        }
Esempio n. 49
0
        public SessionManager(INavigationService navService, ILogger logger, IThemeManager themeManager, ITheaterConfigurationManager config, IPlaybackManager playback, IConnectionManager connectionManager)
        {
            _navService        = navService;
            _logger            = logger;
            _themeManager      = themeManager;
            _config            = config;
            _playback          = playback;
            _connectionManager = connectionManager;

            _connectionManager.RemoteLoggedOut += _connectionManager_RemoteLoggedOut;
        }
 public InternalDirectShowPlayer(ILogManager logManager, IHiddenWindow hiddenWindow, IPresentationManager presentation, IUserInputManager userInput, IApiClient apiClient, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IIsoManager isoManager)
 {
     _logger          = logManager.GetLogger("DirectShowPlayer");
     _hiddenWindow    = hiddenWindow;
     _presentation    = presentation;
     _userInput       = userInput;
     _apiClient       = apiClient;
     _playbackManager = playbackManager;
     _config          = config;
     _isoManager      = isoManager;
 }
        public DefaultThemePageMasterCommandsViewModel(INavigationService navigationService, ISessionManager sessionManager, IPresentationManager presentationManager, 
            IConnectionManager connectionManager, ILogger logger, ITheaterApplicationHost appHost, IImageManager imageManager, ITheaterConfigurationManager configurationManager)
            : base(navigationService, sessionManager, presentationManager, connectionManager, logger, appHost)
        {
            ImageManager = imageManager;
            ConfigurationManager = configurationManager;

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

            PowerOptionsEnabled = true;
        }
        public AppearancePage(ITheaterConfigurationManager config, ISessionManager session, IImageManager imageManager, IPresentationManager presentation, IThemeManager themeManager, INavigationService nav, IScreensaverManager screensaverManager)
        {
            _config = config;
            _session = session;
            _imageManager = imageManager;
            _presentation = presentation;
            _themeManager = themeManager;
            _nav = nav;
            _screensaverManager = screensaverManager;

            InitializeComponent();
        }
Esempio n. 53
0
        public AppearancePage(ITheaterConfigurationManager config, ISessionManager session, IImageManager imageManager, IPresentationManager presentation, IThemeManager themeManager, INavigationService nav, IScreensaverManager screensaverManager)
        {
            _config             = config;
            _session            = session;
            _imageManager       = imageManager;
            _presentation       = presentation;
            _themeManager       = themeManager;
            _nav                = nav;
            _screensaverManager = screensaverManager;

            InitializeComponent();
        }
Esempio n. 54
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;
        }
Esempio n. 55
0
        public static void EnsureObjects(ITheaterConfigurationManager mbtConfig, IZipClient zipClient, bool block, bool redownload)
        {
            try
            {
                string objPath         = Path.Combine(mbtConfig.CommonApplicationPaths.ProgramDataPath, OJB_FOLDER);
                string lastCheckedPath = Path.Combine(objPath, LAST_CHECKED);
                bool   needsCheck      = true;

                if (!Directory.Exists(objPath))
                {
                    Directory.CreateDirectory(objPath);
                }
                else if (redownload)
                {
                    foreach (string file in Directory.EnumerateFiles(objPath))
                    {
                        try
                        {
                            File.Delete(file);
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }

                DateAndVersion lastCheck = new DateAndVersion(lastCheckedPath);
                if (lastCheck.StoredDate.AddDays(7) > DateTime.Now)
                {
                    needsCheck = false;
                }
                if (lastCheck.VersionNumber != ExeVersion)
                {
                    needsCheck = true;
                }

                if (needsCheck)
                {
                    if (block)
                    {
                        CheckObjects(objPath, zipClient, mbtConfig);
                    }
                    else
                    {
                        ThreadPool.QueueUserWorkItem(o => CheckObjects(o, zipClient, mbtConfig), objPath);
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
Esempio n. 56
0
        public DisplayPreferencesViewModel(DisplayPreferences displayPreferences, IPresentationManager presentation, ITheaterConfigurationManager configurationManager, ISessionManager sessionManager)
        {
            DisplayPreferences    = displayPreferences;
            _presentation         = presentation;
            _configurationManager = configurationManager;
            _sessionManager       = sessionManager;
            _userConfig           = configurationManager.GetUserTheaterConfiguration(sessionManager.CurrentUser.Id);

            SaveCommand = new RelayCommand(obj => Save());
            IncreaseImageSizeCommand     = new RelayCommand(obj => IncreaseImageSize());
            DecreaseImageSizeCommand     = new RelayCommand(obj => DecreaseImageSize());
            ToggleScrollDirectionCommand = new RelayCommand(obj => ToggleScrollDirection());
        }
Esempio n. 57
0
 public InternalDirectShowPlayer(ILogManager logManager, IHiddenWindow hiddenWindow, IPresentationManager presentation, ISessionManager sessionManager, IApiClient apiClient, IPlaybackManager playbackManager, ITheaterConfigurationManager config, IIsoManager isoManager, IUserInputManager inputManager, IZipClient zipClient, IHttpClient httpClient)
 {
     _logger          = logManager.GetLogger("InternalDirectShowPlayer");
     _hiddenWindow    = hiddenWindow;
     _presentation    = presentation;
     _sessionManager  = sessionManager;
     _apiClient       = apiClient;
     _httpClient      = httpClient;
     _playbackManager = playbackManager;
     _config          = config;
     _isoManager      = isoManager;
     _inputManager    = inputManager;
     _zipClient       = zipClient;
 }
Esempio n. 58
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);
        }
Esempio n. 59
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;
        }