Example #1
0
        public HomePage()
        {
            InitializeComponent();

            // ioc
            _bookshelfService = IocManager.Container.Resolve <IBookshelfService>();
            _messageBus       = IocManager.Container.Resolve <IMessageBus>();
            _syncService      = IocManager.Container.Resolve <ISyncService>();

            _messageBus.Subscribe <AddBookClickedMessage>(AddBook);
            _messageBus.Subscribe <OpenBookMessage>(OpenBook);
            _messageBus.Subscribe <DeleteBookMessage>(DeleteBook);

            if (!App.HasMasterDetailPage)
            {
                var settingsItem = new ToolbarItem {
                    Text = "Settings",
                    Icon = "settings.png"
                };
                settingsItem.Clicked += SettingsItem_Clicked;
                ToolbarItems.Add(settingsItem);

                var aboutItem = new ToolbarItem {
                    Text = "About",
                    Icon = "info.png",
                };
                aboutItem.Clicked += AboutItem_Clicked;

                ToolbarItems.Add(aboutItem);
            }
        }
        public HomePage()
        {
            _bookshelfService = IocManager.Container.Resolve <IBookshelfService>();
            _messageBus       = IocManager.Container.Resolve <IMessageBus>();

            InitializeComponent();

            if (!App.HasMasterDetailPage)
            {
                var settingsItem = new ToolbarItem {
                    Text = "Settings",
                    Icon = "settings.png"
                };
                settingsItem.Clicked += SettingsItem_Clicked;
                ToolbarItems.Add(settingsItem);

                var aboutItem = new ToolbarItem {
                    Text = "About",
                    Icon = "info.png",
                };
                aboutItem.Clicked += AboutItem_Clicked;

                ToolbarItems.Add(aboutItem);
            }
        }
Example #3
0
 public BookshelfController(HoneypotDbContext context, IAccountService accountService, IMapper mapper, IBookService bookService, IBookshelfService bookshelfService)
     : base(context, mapper)
 {
     this.accountService   = accountService;
     this.bookService      = bookService;
     this.bookshelfService = bookshelfService;
 }
Example #4
0
        public SyncService(IBookshelfService bookshelfService, IMessageBus messageBus)
        {
            _bookshelfService = bookshelfService;
            _messageBus       = messageBus;

            var service = UserSettings.Synchronization.Enabled ? UserSettings.Synchronization.Service : SynchronizationServicesProvider.Dumb;

            _cloudStorageService = IocManager.Container.ResolveKeyed <ICloudStorageService>(service);
        }
Example #5
0
        public ReaderPage()
        {
            InitializeComponent();

            // ioc
            _assetsManager    = IocManager.Container.Resolve <IAssetsManager>();
            _bookshelfService = IocManager.Container.Resolve <IBookshelfService>();
            _messageBus       = IocManager.Container.Resolve <IMessageBus>();
            _syncService      = IocManager.Container.Resolve <ISyncService>();
            _bookmarkService  = IocManager.Container.Resolve <IBookmarkService>();

            // webview events
            WebView.Messages.OnNextChapterRequest    += _messages_OnNextChapterRequest;
            WebView.Messages.OnPrevChapterRequest    += _messages_OnPrevChapterRequest;
            WebView.Messages.OnOpenQuickPanelRequest += _messages_OnOpenQuickPanelRequest;
            WebView.Messages.OnPageChange            += Messages_OnPageChange;
            WebView.Messages.OnChapterRequest        += Messages_OnChapterRequest;
            WebView.Messages.OnOpenUrl   += Messages_OnOpenUrl;
            WebView.Messages.OnPanEvent  += Messages_OnPanEvent;
            WebView.Messages.OnKeyStroke += Messages_OnKeyStroke;

            QuickPanel.PanelContent.OnChapterChange += PanelContent_OnChapterChange;

            var quickPanelPosition = new Rectangle(0, 0, 1, 0.75);

            if (Device.RuntimePlatform == Device.UWP)
            {
                quickPanelPosition = new Rectangle(0, 0, 0.33, 1);
            }

            _messageBus.Send(new FullscreenRequestMessage(true));

            if (UserSettings.Reader.NightMode)
            {
                BackgroundColor = Color.FromRgb(24, 24, 25);
            }

            NavigationPage.SetHasNavigationBar(this, false);
        }
Example #6
0
        public ReaderPage()
        {
            InitializeComponent();

            // ioc
            _bookshelfService = IocManager.Container.Resolve <IBookshelfService>();
            _messageBus       = IocManager.Container.Resolve <IMessageBus>();
            _syncService      = IocManager.Container.Resolve <ISyncService>();
            _batteryProvider  = IocManager.Container.Resolve <IBatteryProvider>();
            _toastService     = IocManager.Container.Resolve <IToastService>();
            IocManager.Container.Resolve <IMessageBus>().Subscribe <BatteryChangeMessage>((_) => { SetStatusPanelValue(StatusPanelItem.Battery, GetBatteryHtml()); }, nameof(ReaderPage));

            // webview events
            WebView.Messages.OnNextChapterRequest += _messages_OnNextChapterRequest;
            WebView.Messages.OnPrevChapterRequest += _messages_OnPrevChapterRequest;
            WebView.Messages.OnPageChange         += Messages_OnPageChange;
            WebView.Messages.OnLinkClicked        += Messages_OnLinkClicked;
            WebView.Messages.OnPanEvent           += Messages_OnPanEvent;
            WebView.Messages.OnKeyStroke          += Messages_OnKeyStroke;
            WebView.Messages.OnInteraction        += Messages_OnInteraction;
            WebView.Messages.OnCommandRequest     += Messages_OnCommandRequest;
            WebView.Messages.OnMessageReturned    += Messages_OnMessageReturned;
            WebView.Messages.OnReadStats          += MessagesOnReadStats;

            _quickPanel       = new QuickMenuPopup();
            _chapterListPopup = new ChapterListPopup();
            _chapterListPopup.OnChapterClicked  += ChapterList_OnChapterClicked;
            _chapterListPopup.OnBookmarkClicked += ChapterListPopupOnBookmarkClicked;

            ToolbarItems.Add(new ToolbarItem("Search", null, () => { }, ToolbarItemOrder.Secondary, 0));
            ToolbarItems.Add(new ToolbarItem("Sync", null, () => SynchronizeAll(), ToolbarItemOrder.Secondary, 0));
            ToolbarItems.Add(new ToolbarItem("Backup", null, () => DoBackup(), ToolbarItemOrder.Secondary, 0));
            ToolbarItems.Add(new ToolbarItem("Restore", null, () => DoRestore(), ToolbarItemOrder.Secondary, 0));
            ToolbarItems.Add(new ToolbarItem("Book info", null, () => new BookInfoPopup(_ebook).Show(), ToolbarItemOrder.Secondary, 0));
            ToolbarItems.Add(new ToolbarItem("Chapters/bookmarks", null, () => _chapterListPopup.Show(), ToolbarItemOrder.Secondary, 0));
        }
 public BookshelfController(IBookshelfService bookshelf) => _bookshelf = bookshelf;
Example #8
0
 public BookshelfServiceTests(BaseTestFixture fixture) : base(fixture)
 {
     this.bookshelfService = fixture.Provider.GetService(typeof(IBookshelfService)) as IBookshelfService;
     this.SeedData();
 }
 public void InitializeServices(ValidationContext validationContext)
 {
     this.bookshelfService    = (IBookshelfService)validationContext.GetService(typeof(IBookshelfService));
     this.accountService      = (IAccountService)validationContext.GetService(typeof(IAccountService));
     this.httpContextAccessor = (IHttpContextAccessor)validationContext.GetService(typeof(IHttpContextAccessor));
 }