From 76cc3392158eb9f4f421485d821b128880c4ce65 Mon Sep 17 00:00:00 2001 From: Matthias Hoelzer-Kluepfel Date: Wed, 17 May 2000 08:50:57 +0000 Subject: [PATCH] Document closing implemented. svn path=/trunk/kdegraphics/kdvi/; revision=49776 --- dviwin.cpp | 5 ++++- kdvi_multipage.cpp | 24 ++++++++++++++++++++---- kdvi_multipage.h | 3 +++ 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/dviwin.cpp b/dviwin.cpp index dcbb613ea..bcb8728c9 100644 --- a/dviwin.cpp +++ b/dviwin.cpp @@ -288,7 +288,10 @@ void dviWindow::drawPage() { psp_interrupt(); if (filename.isEmpty()) // must call setFile first - return; + { + resize(0, 0); + return; + } if (!dvi_name) { // dvi file not initialized yet QApplication::setOverrideCursor( waitCursor ); dvi_name = const_cast(filename.ascii()); diff --git a/kdvi_multipage.cpp b/kdvi_multipage.cpp index ba418e56a..69f49e971 100644 --- a/kdvi_multipage.cpp +++ b/kdvi_multipage.cpp @@ -57,7 +57,7 @@ KInstance *KDVIMultiPageFactory::instance() KDVIMultiPage::KDVIMultiPage(QWidget *parent, const char *name) - : KMultiPage(parent, name) + : KMultiPage(parent, name), window(0) { setInstance(KDVIMultiPageFactory::instance()); @@ -83,6 +83,15 @@ bool KDVIMultiPage::openFile() } +bool KDVIMultiPage::closeURL() +{ + window->setFile(""); + scrollView()->resizeContents(0, 0); + + return true; +} + + // test code QStringList KDVIMultiPage::fileFormats() { @@ -94,7 +103,7 @@ QStringList KDVIMultiPage::fileFormats() bool KDVIMultiPage::gotoPage(int page) { - window->gotoPage(page); + window->gotoPage(page+1); return true; } @@ -128,10 +137,17 @@ void KDVIMultiPage::setPaperSize(double w, double h) bool KDVIMultiPage::preview(QPainter *p, int w, int h) { - if (!window->pix()) + QPixmap *map = window->pix(); + + if (!map) return false; - p->drawImage(0, 0, window->pix()->convertToImage().smoothScale(w,h)); + + // TODO: use higher quality preview if anti-aliasing? + //p->drawImage(0, 0, window->pix()->convertToImage().smoothScale(w,h)); + + p->scale((double)w/(double)map->width(), (double)h/(double)map->height()); + p->drawPixmap(0, 0, *map); return true; } diff --git a/kdvi_multipage.h b/kdvi_multipage.h index 59333b1bc..e9c9bac52 100644 --- a/kdvi_multipage.h +++ b/kdvi_multipage.h @@ -60,6 +60,9 @@ public: /// opens a file virtual bool openFile(); + /// close a file + virtual bool closeURL(); + /// displays the given page virtual bool gotoPage(int page);