void XournalView::pageSelected(size_t page) { XOJ_CHECK_TYPE(XournalView); if (this->currentPage == page && this->lastSelectedPage == page) { return; } Document* doc = control->getDocument(); doc->lock(); path file = doc->getEvMetadataFilename(); doc->unlock(); control->getMetadataManager()->setInt(file, "page", page); if (this->lastSelectedPage != size_t_npos && this->lastSelectedPage < this->viewPagesLen) { this->viewPages[this->lastSelectedPage]->setSelected(false); } this->currentPage = page; size_t pdfPage = size_t_npos; if (page != size_t_npos && page < viewPagesLen) { PageView* vp = viewPages[page]; vp->setSelected(true); lastSelectedPage = page; pdfPage = vp->getPage()->getPdfPageNr(); } control->updatePageNumbers(currentPage, pdfPage); control->updateBackgroundSizeButton(); }