diff --git a/kdvi_multipage.cpp b/kdvi_multipage.cpp index be50bed71..81a58bd86 100644 --- a/kdvi_multipage.cpp +++ b/kdvi_multipage.cpp @@ -13,6 +13,7 @@ #include +#include "print.h" #include "optiondialog.h" #include "kdvi_multipage.moc" @@ -215,3 +216,16 @@ void KDVIMultiPage::preferencesChanged() window->setAntiAlias( config->readNumEntry( "PS Anti Alias", 1 ) ); } + + +bool KDVIMultiPage::print(const QStrList &pages, int current) +{ + Print * printdlg = new Print(window, "printdlg"); + + printdlg->setFile(m_file); + printdlg->setCurrentPage(current, window->totalPages()); + printdlg->setMarkList(&pages); + printdlg->exec(); + + delete printdlg; +} diff --git a/kdvi_multipage.h b/kdvi_multipage.h index 322641bbc..28fd3c47e 100644 --- a/kdvi_multipage.h +++ b/kdvi_multipage.h @@ -80,6 +80,8 @@ public: virtual bool preview(QPainter *p, int w, int h); + virtual bool print(const QStrList &pages, int current); + signals: diff --git a/print.cpp b/print.cpp index a42099fe8..7962ece04 100644 --- a/print.cpp +++ b/print.cpp @@ -33,7 +33,7 @@ public: }; -print::print +Print::Print ( QWidget* parent, const char* name @@ -54,11 +54,11 @@ print::print } -print::~print() +Print::~Print() { } -void print::setFile( QString _file ) +void Print::setFile( QString _file ) { ifile = ofile = _file.copy(); setCaption( i18n("Print ") + ifile ); @@ -69,13 +69,13 @@ void print::setFile( QString _file ) printFileName->setText(of); } -void print::setCurrentPage( int _page, int _totalpages ) +void Print::setCurrentPage( int _page, int _totalpages ) { curpage = _page; totalpages = _totalpages; } -void print::setMarkList( QStrList *_marklist ) +void Print::setMarkList( const QStrList *_marklist ) { marklist = _marklist; if ( !marklist || marklist->isEmpty() ) @@ -87,7 +87,7 @@ void print::setMarkList( QStrList *_marklist ) printCurrent->setChecked( FALSE ); } -void print::rangeToggled( bool on ) +void Print::rangeToggled( bool on ) { if ( on ) { @@ -214,7 +214,7 @@ void DVIFile::dviCopy(QString ifile, QString ofile, QStrList *pagelist, delete pg; } -void print::okPressed() +void Print::okPressed() { QString cmd; @@ -275,12 +275,12 @@ void print::okPressed() accept(); } -void print::nupPressed(int n) +void Print::nupPressed(int n) { nup = 1 << n; } -void print::printDestinationChanged(int i) +void Print::printDestinationChanged(int i) { printdest = i; if ( printdest == 1 ) @@ -295,7 +295,7 @@ void print::printDestinationChanged(int i) } } -void print::setupPressed() +void Print::setupPressed() { printSetup * ps = new printSetup( this, "ps" ); ps->exec(); @@ -303,12 +303,12 @@ void print::setupPressed() readConfig(); } -void print::cancelPressed() +void Print::cancelPressed() { reject(); } -void print::readConfig() +void Print::readConfig() { KConfig *config = kapp->config(); diff --git a/print.h b/print.h index 10f3c1dae..6707989de 100644 --- a/print.h +++ b/print.h @@ -14,23 +14,23 @@ class DVIFile; -class print : public printData +class Print : public printData { Q_OBJECT public: - print + Print ( QWidget* parent = NULL, const char* name = NULL ); - virtual ~print(); + virtual ~Print(); void setFile( QString file ); void setCurrentPage( int page, int totalpages ); - void setMarkList( QStrList *marklist ); + void setMarkList( const QStrList *marklist ); protected slots: