qt4/demos/navigationtoolbar.cpp | 2 +- qt4/demos/pageview.cpp | 11 +++++++---- qt4/demos/pageview.h | 2 ++ qt4/demos/permissions.cpp | 25 ++++++++----------------- qt4/demos/permissions.h | 6 +++--- 5 files changed, 21 insertions(+), 25 deletions(-)
New commits: commit 92ad0ef89fe7690d83854b4821178dfdb2e22897 Author: Pino Toscano <[email protected]> Date: Sat Jul 4 00:19:23 2009 +0200 [Qt4 demo] hopefully fix the page size on zoom change diff --git a/qt4/demos/pageview.cpp b/qt4/demos/pageview.cpp index e59e5e0..734dacb 100644 --- a/qt4/demos/pageview.cpp +++ b/qt4/demos/pageview.cpp @@ -54,12 +54,9 @@ void PageView::documentClosed() void PageView::pageChanged(int page) { Poppler::Page *popplerPage = document()->page(page); - QSize pageSize = popplerPage->pageSize(); - pageSize.setWidth(int(pageSize.width() / 72.0 * m_dpiX)); - pageSize.setHeight(int(pageSize.height() / 72.0 * m_dpiY)); const double resX = m_dpiX * m_zoom; const double resY = m_dpiY * m_zoom; - QImage image = popplerPage->renderToImage(resX, resY, 0, 0, pageSize.width(), pageSize.height()); + QImage image = popplerPage->renderToImage(resX, resY); if (!image.isNull()) { m_imageLabel->resize(image.size()); m_imageLabel->setPixmap(QPixmap::fromImage(image)); commit 97094d13bc0f144b25e13c1de7a5328608ab13e3 Author: Pino Toscano <[email protected]> Date: Sat Jul 4 00:07:12 2009 +0200 [Qt4 demo] show a list of checked/unchecked items for the document permissions diff --git a/qt4/demos/permissions.cpp b/qt4/demos/permissions.cpp index 0ac3a57..38205b2 100644 --- a/qt4/demos/permissions.cpp +++ b/qt4/demos/permissions.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008, Pino Toscano <[email protected]> + * Copyright (C) 2008-2009, Pino Toscano <[email protected]> * * 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 @@ -20,21 +20,14 @@ #include <poppler-qt4.h> -#include <QtGui/QTableWidget> - -static QString yesNoStatement(bool value) -{ - return value ? QString::fromLatin1("yes") : QString::fromLatin1("no"); -} +#include <QtGui/QListWidget> PermissionsDock::PermissionsDock(QWidget *parent) : AbstractInfoDock(parent) { - m_table = new QTableWidget(this); + m_table = new QListWidget(this); setWidget(m_table); setWindowTitle(tr("Permissions")); - m_table->setColumnCount(2); - m_table->setHorizontalHeaderLabels(QStringList() << tr("Permission") << tr("Value")); m_table->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); } @@ -44,14 +37,13 @@ PermissionsDock::~PermissionsDock() void PermissionsDock::fillInfo() { - m_table->setHorizontalHeaderLabels(QStringList() << tr("Permission") << tr("Value")); - int i = 0; #define ADD_ROW(title, function) \ do { \ - m_table->setRowCount(i + 1); \ - m_table->setItem(i, 0, new QTableWidgetItem(QString::fromLatin1(title))); \ - m_table->setItem(i, 1, new QTableWidgetItem(yesNoStatement(document()->function()))); \ - ++i; \ + QListWidgetItem *item = new QListWidgetItem(); \ + item->setFlags(item->flags() & ~Qt::ItemIsEnabled); \ + item->setText(title); \ + item->setCheckState(document()->function() ? Qt::Checked : Qt::Unchecked); \ + m_table->addItem(item); \ } while (0) ADD_ROW("Print", okToPrint); ADD_ROW("PrintHiRes", okToPrintHighRes); @@ -68,7 +60,6 @@ do { \ void PermissionsDock::documentClosed() { m_table->clear(); - m_table->setRowCount(0); AbstractInfoDock::documentClosed(); } diff --git a/qt4/demos/permissions.h b/qt4/demos/permissions.h index 147f862..13bcbbf 100644 --- a/qt4/demos/permissions.h +++ b/qt4/demos/permissions.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2008, Pino Toscano <[email protected]> + * Copyright (C) 2008-2009, Pino Toscano <[email protected]> * * 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 @@ -21,7 +21,7 @@ #include "abstractinfodock.h" -class QTableWidget; +class QListWidget; class PermissionsDock : public AbstractInfoDock { @@ -37,7 +37,7 @@ protected: /*virtual*/ void fillInfo(); private: - QTableWidget *m_table; + QListWidget *m_table; }; #endif commit 0d8f2ee0f03a14e7b8477c4b787c3441a758f26b Author: Pino Toscano <[email protected]> Date: Fri Jul 3 23:55:42 2009 +0200 [Qt4 demo] show page numbers in the toolbar as 1..n diff --git a/qt4/demos/navigationtoolbar.cpp b/qt4/demos/navigationtoolbar.cpp index ce7fb2e..e9ebafa 100644 --- a/qt4/demos/navigationtoolbar.cpp +++ b/qt4/demos/navigationtoolbar.cpp @@ -65,7 +65,7 @@ void NavigationToolBar::documentLoaded() { const int pageCount = document()->numPages(); for (int i = 0; i < pageCount; ++i) { - m_pageCombo->addItem(QString::number(i)); + m_pageCombo->addItem(QString::number(i + 1)); } m_pageCombo->setEnabled(true); } commit b0d48df9121c55f8162ddf0ee63832f9adebf37b Author: Pino Toscano <[email protected]> Date: Fri Jul 3 17:55:31 2009 +0200 [Qt4 demo] correctly use DPI values for the page sizes diff --git a/qt4/demos/pageview.cpp b/qt4/demos/pageview.cpp index d774998..e59e5e0 100644 --- a/qt4/demos/pageview.cpp +++ b/qt4/demos/pageview.cpp @@ -20,6 +20,8 @@ #include <poppler-qt4.h> +#include <QtGui/QApplication> +#include <QtGui/QDesktopWidget> #include <QtGui/QImage> #include <QtGui/QLabel> #include <QtGui/QPixmap> @@ -27,6 +29,8 @@ PageView::PageView(QWidget *parent) : QScrollArea(parent) , m_zoom(1.0) + , m_dpiX(QApplication::desktop()->physicalDpiX()) + , m_dpiY(QApplication::desktop()->physicalDpiY()) { m_imageLabel = new QLabel(this); m_imageLabel->resize(0, 0); @@ -51,9 +55,11 @@ void PageView::pageChanged(int page) { Poppler::Page *popplerPage = document()->page(page); QSize pageSize = popplerPage->pageSize(); - pageSize *= m_zoom; - const double res = 72.0 * m_zoom; - QImage image = popplerPage->renderToImage(res, res, 0, 0, pageSize.width(), pageSize.height()); + pageSize.setWidth(int(pageSize.width() / 72.0 * m_dpiX)); + pageSize.setHeight(int(pageSize.height() / 72.0 * m_dpiY)); + const double resX = m_dpiX * m_zoom; + const double resY = m_dpiY * m_zoom; + QImage image = popplerPage->renderToImage(resX, resY, 0, 0, pageSize.width(), pageSize.height()); if (!image.isNull()) { m_imageLabel->resize(image.size()); m_imageLabel->setPixmap(QPixmap::fromImage(image)); diff --git a/qt4/demos/pageview.h b/qt4/demos/pageview.h index 018f246..2f7ad61 100644 --- a/qt4/demos/pageview.h +++ b/qt4/demos/pageview.h @@ -43,6 +43,8 @@ private Q_SLOTS: private: QLabel *m_imageLabel; qreal m_zoom; + int m_dpiX; + int m_dpiY; }; #endif _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
