Beispiel #1
0
        public MainWindowVM(IKernel kernel,
                            IEventAggregator eventAggregator,
                            ITwitchService twitchService,
                            IDialogService dialogService,
                            IDonationService donationService,
                            INavigationService navigationService,
                            ISearchService searchService,
                            IPreferencesService preferencesService,
                            IRuntimeDataService runtimeDataService,
                            IUpdateService updateService)
        {
            AssemblyUtil au = AssemblyUtil.Get;

            Title = au.GetProductName() + " " + au.GetAssemblyVersion().Trim();

            _kernel             = kernel;
            _eventAggregator    = eventAggregator;
            _twitchService      = twitchService;
            _dialogService      = dialogService;
            _donationService    = donationService;
            _navigationService  = navigationService;
            _searchService      = searchService;
            _preferencesService = preferencesService;
            _runtimeDataService = runtimeDataService;
            _updateService      = updateService;

            _commandLockObject = new object();

            _eventAggregator.GetEvent <ShowViewEvent>().Subscribe(ShowView);
            _eventAggregator.GetEvent <IsAuthorizedChangedEvent>().Subscribe(IsAuthorizedChanged);
            _eventAggregator.GetEvent <PreferencesSavedEvent>().Subscribe(PreferencesSaved);
            _eventAggregator.GetEvent <VideosCountChangedEvent>().Subscribe(VideosCountChanged);
            _eventAggregator.GetEvent <DownloadsCountChangedEvent>().Subscribe(DownloadsCountChanged);

            _showDonationButton = _preferencesService.CurrentPreferences.AppShowDonationButton;
        }
Beispiel #2
0
        public MainWindow(
            MainWindowVM viewModel,
            IDialogService dialogService,
            IRuntimeDataService runtimeDataService)
        {
            _dialogService      = dialogService;
            _runtimeDataService = runtimeDataService;

            InitializeComponent();

            WindowChrome windowChrome = new WindowChrome()
            {
                CaptionHeight         = 55,
                CornerRadius          = new CornerRadius(0),
                GlassFrameThickness   = new Thickness(0),
                NonClientFrameEdges   = NonClientFrameEdges.None,
                ResizeBorderThickness = new Thickness(6),
                UseAeroCaptionButtons = false
            };

            WindowChrome.SetWindowChrome(this, windowChrome);

            // Hold reference to FontAwesome library
            ImageAwesome.CreateImageSource(FontAwesomeIcon.Times, Brushes.Black);

            SizeChanged += (s, e) =>
            {
                if (WindowState == WindowState.Normal)
                {
                    WidthNormal  = Width;
                    HeightNormal = Height;
                }
            };

            LocationChanged += (s, e) =>
            {
                if (WindowState == WindowState.Normal)
                {
                    TopNormal  = Top;
                    LeftNormal = Left;
                }
            };

            Loaded += (s, e) =>
            {
                HwndSource.FromHwnd(new WindowInteropHelper(this).Handle).AddHook(new HwndSourceHook(WindowProc));

                DataContext = viewModel;

                if (viewModel != null)
                {
                    viewModel.Loaded();
                }

                LoadWindowState();
            };

            Closed += (s, e) =>
            {
                SaveWindowState();
            };
        }
Beispiel #3
0
 public ApiService(IRuntimeDataService runtimeDataService)
 {
     _runtimeDataService = runtimeDataService;
 }