![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /proc/self/root/usr/share/emscripten/tests/poppler/qt4/demos/ |
Upload File : |
/* * Copyright (C) 2009, Shawn Rutledge <shawn.t.rutledge@gmail.com> * Copyright (C) 2009, Pino Toscano <pino@kde.org> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #include "thumbnails.h" #include <poppler-qt4.h> #include <QtGui/QListWidget> static const int PageRole = Qt::UserRole + 1; ThumbnailsDock::ThumbnailsDock(QWidget *parent) : AbstractInfoDock(parent) { m_list = new QListWidget(this); setWidget(m_list); setWindowTitle(tr("Thumbnails")); m_list->setViewMode(QListView::ListMode); m_list->setMovement(QListView::Static); m_list->setVerticalScrollMode(QListView::ScrollPerPixel); connect(m_list, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(slotItemActivated(QListWidgetItem*))); } ThumbnailsDock::~ThumbnailsDock() { } void ThumbnailsDock::fillInfo() { const int num = document()->numPages(); QSize maxSize; for (int i = 0; i < num; ++i) { const Poppler::Page *page = document()->page(i); const QImage image = page->thumbnail(); if (!image.isNull()) { QListWidgetItem *item = new QListWidgetItem(); item->setText(QString::number(i + 1)); item->setData(Qt::DecorationRole, QPixmap::fromImage(image)); item->setData(PageRole, i); m_list->addItem(item); maxSize.setWidth(qMax(maxSize.width(), image.width())); maxSize.setHeight(qMax(maxSize.height(), image.height())); } delete page; } if (num > 0) { m_list->setGridSize(maxSize); m_list->setIconSize(maxSize); } } void ThumbnailsDock::documentClosed() { m_list->clear(); AbstractInfoDock::documentClosed(); } void ThumbnailsDock::slotItemActivated(QListWidgetItem *item) { if (!item) { return; } setPage(item->data(PageRole).toInt()); } #include "thumbnails.moc"