private void nextPageButton_Click(object sender, EventArgs e) { if (_selectedThread == null) { return; } btnNextPage.Enabled = false; btnPrevPage.Enabled = false; if (_currentPageIndex == _selectedThread.LoadedPages.Count - 1) { if (_selectedThread.LoadedPages.Last().GetNextPageUrl() == null) { return; } _selectedThread.LoadedPages.Add(_selectedThread.RemoveQuotesAndRepeats(new BLPage(_selectedThread.LoadedPages.Last().GetNextPageUrl()))); _currentPageIndex++; UpdateListAsync(); } else { _currentPageIndex++; UpdateListAsync(); } }
private void ScanThread(BLThread threadToScan, BackgroundWorker bw) { if (threadToScan.LoadedPages == null) { threadToScan.LoadedPages = new List <BLPage>(); threadToScan.OpeningPost = new BLPage(threadToScan.OpeningPostUrl); threadToScan.LoadedPages.Add(threadToScan.OpeningPost); } var lastPage = threadToScan.LoadedPages.Last(); lastPage.Load(); currentPage = lastPage.CurrentPageNumber; var nextPageUrl = lastPage.GetNextPageUrl(); bw.ReportProgress(currentPage, lastPage.Images.Count); while (!bw.CancellationPending && !string.IsNullOrEmpty(nextPageUrl)) { var nextPage = threadToScan.RemoveQuotesAndRepeats(new BLPage(nextPageUrl)); threadToScan.LoadedPages.Add(nextPage); currentPage = nextPage.CurrentPageNumber; nextPageUrl = nextPage.GetNextPageUrl(); bw.ReportProgress(currentPage, nextPage.Images.Count); } }