Version: 1.0.0_devel (using KDE KDE 3.2.3) Installed from: RedHat RPMs OS: Linux Currently, when printing, you can specify color or greyscale. When printing to a black and white printer, these options are identical, and can result in very light (ie hard to see) curves. The additional option 'black and white' would be useful, which would force all curves to black (or white), and the background white (or black).
CVS commit by staikos: Kst print settings page CCMAIL: 90115@bugs.kde.org, 90124@bugs.kde.org, 90125@bugs.kde.org M +9 -7 kst.cpp 1.236 M +18 -1 kstprintoptionspage.cpp 1.2 M +1 -1 kstprintoptionspage.h 1.2 --- kdeextragear-2/kst/kst/kst.cpp #1.235:1.236 @@ -58,4 +58,5 @@ #include "kstplotdialog_i.h" #include "kstplugindialog_i.h" +#include "kstprintoptionspage.h" #include "kstpsddialog_i.h" #include "kstsettingsdlg.h" @@ -983,4 +984,5 @@ void KstApp::slotFilePrint() { iNumPages = 0; + printer.addDialogPage(new KstPrintOptionsPage); if (printer.setup(this, i18n("Print"))) { QDateTime dateTime = QDateTime::currentDateTime(); @@ -997,7 +999,7 @@ void KstApp::slotFilePrint() { rect.setRight(size.height()); rect.setBottom(size.height()); -#if 0 + if (printer.option("kst-plot-datetime-footer") == "1") { size.setHeight(9 * size.height() / 10); -#endif + } rect.setTop(size.height()); @@ -1015,10 +1017,10 @@ void KstApp::slotFilePrint() { } - QString title = i18n("Page: %1 Name: %2 Date: %3").arg(iNumPages).arg(pView->caption()).arg(dateTime.toString(Qt::ISODate)); pView->view()->resizeForPrint(size); -#if 0 + if (printer.option("kst-plot-datetime-footer") == "1") { + QString title = i18n("Page: %1 Name: %2 Date: %3").arg(iNumPages).arg(pView->caption()).arg(dateTime.toString(Qt::ISODate)); paint.drawText(rect, Qt::AlignLeft | Qt::AlignVCenter, title); -#endif + } pView->view()->paint(P_PRINT, paint); pView->view()->revertForPrint(); --- kdeextragear-2/kst/kst/kstprintoptionspage.cpp #1.1:1.2 @@ -17,7 +17,17 @@ #include <qcheckbox.h> +#include <qlayout.h> + +#include <klocale.h> + #include "kstprintoptionspage.h" -KstPrintOptionsPage::KstPrintOptionsPage() { +KstPrintOptionsPage::KstPrintOptionsPage(QWidget *parent, const char *name) +: KPrintDialogPage(parent, name) { + setTitle(i18n("Kst Options")); + QGridLayout *grid = new QGridLayout(this, 1, 1); + _dateTimeFooter = new QCheckBox(i18n("Append plot information to each page"), this); + grid->addWidget(_dateTimeFooter, 0, 0); + grid->activate(); } @@ -28,12 +38,19 @@ KstPrintOptionsPage::~KstPrintOptionsPag void KstPrintOptionsPage::setOptions(const QMap<QString,QString>& opts) { + _dateTimeFooter->setChecked(opts["kst-plot-datetime-footer"] == "1"); } void KstPrintOptionsPage::getOptions(QMap<QString,QString>& opts, bool include_def) { + // datetime footer - default is false + if (_dateTimeFooter->isChecked() || include_def) { + opts["kst-plot-datetime-footer"] = _dateTimeFooter->isChecked() ? "1" : "0"; + } } bool KstPrintOptionsPage::isValid(QString& msg) { + Q_UNUSED(msg) + return true; } --- kdeextragear-2/kst/kst/kstprintoptionspage.h #1.1:1.2 @@ -24,5 +24,5 @@ class QCheckBox; class KstPrintOptionsPage : public KPrintDialogPage { public: - KstPrintOptionsPage(); + KstPrintOptionsPage(QWidget *parent = 0L, const char *name = 0L); virtual ~KstPrintOptionsPage();
90124 is fixed with the commit that closed 90125 (by accident). 90125 was also fixed, though a bit earlier.