コード例 #1
0
        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)
            {

            }
        }
コード例 #2
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, 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 }
            //);
        }
コード例 #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 }
            //);
        }
コード例 #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();
        }
コード例 #5
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"));
        }
コード例 #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;
                }
            });
        }
コード例 #7
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);
            URCOMLoader.Instance.Initialize(_config, _zipClient, logManager);

            EnsureMediaFilters();
        }
コード例 #8
0
        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)
            {

            }
        }
コード例 #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();
        }
コード例 #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"));
        }
コード例 #11
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();
        }
コード例 #12
0
 public ConfigurationPage(INavigationService nav, ITheaterConfigurationManager config, IPresentationManager presentation, IMediaFilters mediaFilters)
 {
     _nav = nav;
     _config = config;
     _presentation = presentation;
     _mediaFilters = mediaFilters;
     InitializeComponent();
 }
コード例 #13
0
 public PlayExternalDiscAppFactory(ISessionManager sessionManager, IPlaybackManager playbackManager, ITheaterConfigurationManager theaterConfigurationManager, IImageManager imageManager, ILogManager logManager)
 {
     _playbackManager = playbackManager;
     _sessionManager = sessionManager;
     _imageManager = imageManager;
     _theaterConfigurationManager = theaterConfigurationManager;
     _logManager = logManager;
 }
コード例 #14
0
 public PlaybackManager(ITheaterConfigurationManager configurationManager, ILogger logger, IApiClient apiClient, INavigationService nav, IPresentationManager presentationManager)
 {
     _configurationManager = configurationManager;
     _logger = logger;
     _apiClient = apiClient;
     _nav = nav;
     _presentationManager = presentationManager;
 }
コード例 #15
0
 public PlaybackManager(ITheaterConfigurationManager configurationManager, ILogger logger, IApiClient apiClient, INavigationService nav, IPresentationManager presentationManager)
 {
     _configurationManager = configurationManager;
     _logger              = logger;
     _apiClient           = apiClient;
     _nav                 = nav;
     _presentationManager = presentationManager;
 }
コード例 #16
0
 public ConfigurationPage(INavigationService nav, ITheaterConfigurationManager config, IPresentationManager presentation, IMediaFilters mediaFilters)
 {
     _nav          = nav;
     _config       = config;
     _presentation = presentation;
     _mediaFilters = mediaFilters;
     InitializeComponent();
 }
コード例 #17
0
 public PlayExternalDiscAppFactory(ISessionManager sessionManager, IPlaybackManager playbackManager, ITheaterConfigurationManager theaterConfigurationManager, IImageManager imageManager, ILogManager logManager)
 {
     _playbackManager             = playbackManager;
     _sessionManager              = sessionManager;
     _imageManager                = imageManager;
     _theaterConfigurationManager = theaterConfigurationManager;
     _logManager = logManager;
 }
コード例 #18
0
 public NetworkSettingsPage(ITheaterConfigurationManager config, IApiClient apiClient, ISessionManager session, IPresentationManager presentationManager)
 {
     _config              = config;
     _apiClient           = apiClient;
     _session             = session;
     _presentationManager = presentationManager;
     InitializeComponent();
 }
コード例 #19
0
 public NetworkSettingsPage(ITheaterConfigurationManager config, IApiClient apiClient, ISessionManager session, IPresentationManager presentationManager)
 {
     _config = config;
     _apiClient = apiClient;
     _session = session;
     _presentationManager = presentationManager;
     InitializeComponent();
 }
コード例 #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;
 }
コード例 #21
0
 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;
 }
コード例 #22
0
ファイル: SessionManager.cs プロジェクト: TomGillen/MBT
//        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;
        }
コード例 #23
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;
 }
コード例 #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;
        }
コード例 #25
0
 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;
 }
コード例 #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();
 }
コード例 #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();
 }
コード例 #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);
        }
コード例 #29
0
        public MainForm(ILogger logger, ITheaterConfigurationManager config, ApplicationHost appHost, Process electronProcess)
        {
            _logger = logger;
            _config = config;
            _appHost = appHost;
            _electronProcess = electronProcess;
            InitializeComponent();

            SetWindowState();
        }
コード例 #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);
        }
コード例 #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;
        }
コード例 #32
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();
 }
コード例 #33
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;
        }
コード例 #34
0
ファイル: PlaybackManager.cs プロジェクト: TomGillen/MBT
 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>();
 }
コード例 #35
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;
 }
コード例 #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;
 }
コード例 #37
0
        public MainForm(ILogger logger, ITheaterConfigurationManager config, ApplicationHost appHost, Process electronProcess)
        {
            _logger          = logger;
            _config          = config;
            _appHost         = appHost;
            _electronProcess = electronProcess;
            InitializeComponent();

            SetWindowState();
        }
コード例 #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;
        }
コード例 #39
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;
        }
コード例 #40
0
        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();
        }
コード例 #41
0
 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;
 }
コード例 #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();
        }
コード例 #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);
        }
コード例 #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;
        }
コード例 #45
0
        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();
        }
コード例 #46
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();
 }
コード例 #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();
 }
コード例 #48
0
        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();
        }
コード例 #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;
        }
コード例 #50
0
 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;
 }
コード例 #51
0
        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;
        }
コード例 #52
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();
        }
コード例 #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();
        }
コード例 #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;
        }
コード例 #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)
            {
            }
        }
コード例 #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());
        }
コード例 #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;
 }
コード例 #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);
        }
コード例 #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;
        }