Bug 90124

Summary: option to print in black and white would be nice
Product: [Applications] kst Reporter: Matthew Truch <matt>
Component: generalAssignee: kst
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: 1.x   
Target Milestone: ---   
Platform: RedHat Enterprise Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Matthew Truch 2004-09-23 18:52:55 UTC
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).
Comment 1 George Staikos 2004-09-23 22:28:23 UTC
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();
 


Comment 2 George Staikos 2004-09-24 08:18:14 UTC
90124 is fixed with the commit that closed 90125 (by accident).  90125 was 
also fixed, though a bit earlier.