summaryrefslogtreecommitdiffabout
path: root/korganizer
authorzautrix <zautrix>2005-03-28 19:26:15 (UTC)
committer zautrix <zautrix>2005-03-28 19:26:15 (UTC)
commitea070abfcff313cac87dbb4d5c9410784740de21 (patch) (side-by-side diff)
tree3e95608a0444030016eb6845b95a582e265c1dad /korganizer
parent57f95bb15f732ede3ddc68b077b6a5476246e971 (diff)
downloadkdepimpi-ea070abfcff313cac87dbb4d5c9410784740de21.zip
kdepimpi-ea070abfcff313cac87dbb4d5c9410784740de21.tar.gz
kdepimpi-ea070abfcff313cac87dbb4d5c9410784740de21.tar.bz2
print fixes
Diffstat (limited to 'korganizer') (more/less context) (ignore whitespace changes)
-rw-r--r--korganizer/koeventviewer.cpp13
-rw-r--r--korganizer/koeventviewer.h53
-rw-r--r--korganizer/koeventviewerdialog.cpp8
-rw-r--r--korganizer/kowhatsnextview.cpp12
4 files changed, 76 insertions, 10 deletions
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp
index 445fc86..dbe0668 100644
--- a/korganizer/koeventviewer.cpp
+++ b/korganizer/koeventviewer.cpp
@@ -72,12 +72,18 @@ KOEventViewer::~KOEventViewer()
{
}
void KOEventViewer::printMe()
{
#ifdef DESKTOP_VERSION
+
+ KOPrintPrefs pp ( this );
+ if (!pp.exec() )
+ return;
+ int scaleval = pp.printMode() ;
+
QPrinter printer;
if (!printer.setup() )
return;
QPainter p;
p.begin ( &printer );
QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer );
@@ -88,14 +94,19 @@ void KOEventViewer::printMe()
float scale;
// scale to fit the width or height of the paper
if ( dx < dy )
scale = dx;
else
scale = dy;
+
p.translate( m.width()/10,0 );
- p.scale( scale, scale );
+ qDebug("Scale: %f ", scale );
+ if ( scaleval == 2 || scaleval == 1 && scale < 1.0 ) {
+ qDebug("SCALE ");
+ p.scale( scale, scale );
+ }
drawContents ( &p, 0,0, contentsWidth (), contentsHeight () );
p.end();
#endif
}
void KOEventViewer::setSource(const QString& n)
diff --git a/korganizer/koeventviewer.h b/korganizer/koeventviewer.h
index ca5bc15..6ecc233 100644
--- a/korganizer/koeventviewer.h
+++ b/korganizer/koeventviewer.h
@@ -27,12 +27,65 @@
#include <libkcal/event.h>
#include <libkcal/journal.h>
using namespace KCal;
+#ifdef DESKTOP_VERSION
+
+#include <qradiobutton.h>
+#include <qpushbutton.h>
+#include <qlayout.h>
+#include <qdialog.h>
+#include <qlabel.h>
+#include <qbuttongroup.h>
+#include <kglobal.h>
+
+class KOPrintPrefs : public QDialog
+{
+ public:
+ KOPrintPrefs( QWidget *parent=0, const char *name=0 ) :
+ QDialog( parent, name, true )
+ {
+ setCaption( i18n("KO/Pi Printout") );
+ QVBoxLayout* lay = new QVBoxLayout( this );
+ lay->setSpacing( 3 );
+ lay->setMargin( 3 );
+ QLabel * lab = new QLabel( i18n("This prints the view as you see it.\n(With the complete content, of course.)\nYou may change the print layout by resizing the view.\nPrint unscaled may print several pages\ndepending on the amount of data.\nPrint scaled down will print all on one page.\nPrint scaled up/down will print all on one page,\nbut will scale up the text to page boundaries,\nif the text is smaller than the page.\nYou can select page geometry setup in the next dialog."), this );
+ lay->addWidget( lab );
+ QButtonGroup* format = new QButtonGroup( 1, Horizontal, i18n("Printout Mode"), this );
+ lay->addWidget( format );
+ format->setExclusive ( true ) ;
+ pmNo = new QRadioButton(i18n("Print unscaled"), format );
+ pmScaledDown = new QRadioButton(i18n("Print scaled down to fit one page"), format );
+ new QRadioButton(i18n("Print scaled up/down to fit one page"), format );
+ pmScaledDown->setChecked( true );
+ QPushButton * ok = new QPushButton( i18n("OK"), this );
+ lay->addWidget( ok );
+ QPushButton * cancel = new QPushButton( i18n("Cancel"), this );
+ lay->addWidget( cancel );
+ connect ( ok,SIGNAL(clicked() ),this , SLOT ( accept() ) );
+ connect (cancel, SIGNAL(clicked() ), this, SLOT ( reject()) );
+ resize( 200, 200 );
+ }
+
+ int printMode()
+ {
+ if ( pmNo->isChecked() )
+ return 0;
+ if ( pmScaledDown->isChecked() )
+ return 1;
+ return 2;
+ }
+private:
+ QRadioButton* pmNo;
+ QRadioButton* pmScaledDown;
+};
+
+#endif
+
class KOEventViewer : public QTextBrowser {
Q_OBJECT
public:
KOEventViewer(QWidget *parent=0,const char *name=0);
virtual ~KOEventViewer();
diff --git a/korganizer/koeventviewerdialog.cpp b/korganizer/koeventviewerdialog.cpp
index ec55cca..35d084d 100644
--- a/korganizer/koeventviewerdialog.cpp
+++ b/korganizer/koeventviewerdialog.cpp
@@ -90,20 +90,12 @@ void KOEventViewerDialog::showMe()
mEventViewer->setFocus();
//raise();
}
void KOEventViewerDialog::print()
{
- qDebug("PRINT ");
- int km = KMessageBox::warningContinueCancel(this,mIncidence->summary().left(35) +
- i18n("\n\nDo you really want to print this item?"),
- i18n("KO/Pi Print Confirmation"),i18n("Print"));
- if ( km != KMessageBox::Continue ) {
- qDebug("cancel ");
- return;
- }
mEventViewer->printMe();
}
void KOEventViewerDialog::setSyncMode( bool b )
{
mSyncMode = b;
diff --git a/korganizer/kowhatsnextview.cpp b/korganizer/kowhatsnextview.cpp
index 66ff75d..53fe7d0 100644
--- a/korganizer/kowhatsnextview.cpp
+++ b/korganizer/kowhatsnextview.cpp
@@ -38,12 +38,13 @@
#ifndef KORG_NOPRINTER
#include "calprinter.h"
#endif
#include "koglobals.h"
#include "koprefs.h"
#include "koeventviewerdialog.h"
+#include "koeventviewer.h"
#include <qstylesheet.h>
#include "kowhatsnextview.h"
using namespace KOrg;
void WhatsNextTextBrowser::setSource(const QString& n)
{
@@ -58,12 +59,17 @@ void WhatsNextTextBrowser::setSource(const QString& n)
QTextBrowser::setSource(n);
}
}
void WhatsNextTextBrowser::printMe()
{
#ifdef DESKTOP_VERSION
+ KOPrintPrefs pp ( this );
+ if (!pp.exec() )
+ return;
+ int scaleval = pp.printMode() ;
+
QPrinter printer;
if (!printer.setup() )
return;
QPainter p;
p.begin ( &printer );
QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer );
@@ -75,13 +81,17 @@ void WhatsNextTextBrowser::printMe()
// scale to fit the width or height of the paper
if ( dx < dy )
scale = dx;
else
scale = dy;
p.translate( m.width()/10,0 );
- p.scale( scale, scale );
+ qDebug("Scale: %f ", scale );
+ if ( scaleval == 2 || scaleval == 1 && scale < 1.0 ) {
+ qDebug("SCALE ");
+ p.scale( scale, scale );
+ }
drawContents ( &p, 0,0, contentsWidth (), contentsHeight () );
p.end();
#endif
}
KOWhatsNextView::KOWhatsNextView(Calendar *calendar, QWidget *parent,