Exemple #1
0
        private async Task TurnPage(bool isRight)
        {
            _oldOffset = null;

            await _event.WaitAsync();

            AppBar.CancelPageSelectionMode();

            if (isRight)
            {
                await _readController.ShowNextPage();
            }
            else
            {
                await _readController.ShowPrevPage();
            }

            ViewModel.TokenOffset = _readController.Offset;

            AppBar.PageNumber = _readController.CurrentPage;
            PageCanvas.Manipulator.IsFirstPage = _readController.IsFirst;
            PageCanvas.Manipulator.IsLastPage  = _readController.IsLast;
            PageCanvas.Manipulator.UpdatePanelsVisibility();

            _event.Release();
        }
Exemple #2
0
        private async Task CreateController()
        {
            using (await BusyOverlay.Create())
            {
                _book = _bookRepository.Get(ViewModel.BookId);
                if (_book == null)
                {
                    return;
                }

                _readController = new ReadController(PageCanvas, ViewModel.BookId, _bookRepository, ViewModel.TokenOffset);

                await _readController.ShowNextPage();

                PageCanvas.Manipulator.UpdatePanelsVisibility();
                PageCanvas.Manipulator.IsFirstPage = _readController.IsFirst;
                PageCanvas.Manipulator.IsLastPage  = _readController.IsLast;

                AppBar.TotalPages = _readController.TotalPages;
                AppBar.PageNumber = _readController.CurrentPage;

                AppBar.MenuItems[2].IsEnabled = ViewModel.CanPinToDesktop;

                if (_book.Trial)
                {
                    AppBar.IconButtons = CreateAppBarIconsForTrial();
                }
                else
                {
                    AppBar.IconButtons[2].IsEnabled = true;
                    UpdateIsFavouriteAppBarButton(_book.IsFavourite);
                }
            }
        }