Bug 90124 - option to print in black and white would be nice
Summary: option to print in black and white would be nice
Status: RESOLVED FIXED
Alias: None
Product: kst
Classification: Applications
Component: general (show other bugs)
Version: 1.x
Platform: RedHat Enterprise Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: kst
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-09-23 18:52 UTC by Matthew Truch
Modified: 2004-09-24 08:18 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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.