MCPcopy Create free account
hub / github.com/TeXworks/texworks / populatePages

Method populatePages

modules/QtPDF/src/PDFSearcher.cpp:18–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16namespace QtPDF {
17
18void PDFSearcher::populatePages()
19{
20 const QMutexLocker mutexLocker{&m_mutex};
21 m_pages.clear();
22 const QSharedPointer<Backend::Document> doc{m_doc.toStrongRef()};
23
24 if (!doc) {
25 return;
26 }
27
28 const size_type numPages = doc->numPages();
29 const size_type startPage = [this,numPages] () {
30 if (m_startPage >= 0 && m_startPage < numPages) {
31 return m_startPage;
32 }
33 return static_cast<size_type>(0);
34 }();
35
36 if (!m_searchFlags.testFlag(Backend::Search_Backwards))
37 {
38 // Search forwards
39 for (size_type page = startPage; page < numPages; ++page) {
40 m_pages.append(page);
41 }
42 if (m_searchFlags.testFlag(Backend::Search_WrapAround)) {
43 for (size_type page = 0; page < startPage; ++page) {
44 m_pages.append(page);
45 }
46 }
47 }
48 else {
49 // Search backwards
50 for (size_type page = startPage; page >= 0; --page) {
51 m_pages.append(page);
52 }
53 if (m_searchFlags.testFlag(Backend::Search_WrapAround)) {
54 for (size_type page = numPages - 1; page > startPage; --page) {
55 m_pages.append(page);
56 }
57 }
58 }
59}
60
61void PDFSearcher::ensureStopped()
62{

Callers

nothing calls this directly

Calls 2

clearMethod · 0.45
numPagesMethod · 0.45

Tested by

no test coverage detected