-rw-r--r-- | korganizer/koeventviewer.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/korganizer/koeventviewer.cpp b/korganizer/koeventviewer.cpp index 1508638..445fc86 100644 --- a/korganizer/koeventviewer.cpp +++ b/korganizer/koeventviewer.cpp | |||
@@ -55,2 +55,5 @@ | |||
55 | #include <kabc/addresseeview.h> | 55 | #include <kabc/addresseeview.h> |
56 | #include <qprinter.h> | ||
57 | #include <qpainter.h> | ||
58 | #include <qpaintdevicemetrics.h> | ||
56 | #else //DESKTOP_VERSION | 59 | #else //DESKTOP_VERSION |
@@ -71,2 +74,28 @@ KOEventViewer::~KOEventViewer() | |||
71 | 74 | ||
75 | void KOEventViewer::printMe() | ||
76 | { | ||
77 | #ifdef DESKTOP_VERSION | ||
78 | QPrinter printer; | ||
79 | if (!printer.setup() ) | ||
80 | return; | ||
81 | QPainter p; | ||
82 | p.begin ( &printer ); | ||
83 | QPaintDeviceMetrics m = QPaintDeviceMetrics ( &printer ); | ||
84 | float dx, dy; | ||
85 | int wid = (m.width() * 9)/10; | ||
86 | dx = (float) wid/(float)contentsWidth (); | ||
87 | dy = (float)(m.height()) / (float)contentsHeight (); | ||
88 | float scale; | ||
89 | // scale to fit the width or height of the paper | ||
90 | if ( dx < dy ) | ||
91 | scale = dx; | ||
92 | else | ||
93 | scale = dy; | ||
94 | p.translate( m.width()/10,0 ); | ||
95 | p.scale( scale, scale ); | ||
96 | drawContents ( &p, 0,0, contentsWidth (), contentsHeight () ); | ||
97 | p.end(); | ||
98 | #endif | ||
99 | |||
100 | } | ||
72 | void KOEventViewer::setSource(const QString& n) | 101 | void KOEventViewer::setSource(const QString& n) |