• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeprint
 

tdeprint

  • tdeprint
kprinter.cpp
1/*
2 * This file is part of the KDE libraries
3 * Copyright (c) 2001 Michael Goffioul <tdeprint@swing.be>
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public
7 * License version 2 as published by the Free Software Foundation.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB. If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 **/
19
20#include <config.h>
21
22#include "kprinter.h"
23#include "kprinterimpl.h"
24#include "kprintdialog.h"
25#include "kprintpreview.h"
26#include "kmfactory.h"
27#include "kmuimanager.h"
28#include "kmmanager.h"
29#include "driver.h"
30
31#include <tqpaintdevicemetrics.h>
32#include <tqfile.h>
33#include <tqtl.h>
34#include <tqdir.h>
35#include <tqguardedptr.h>
36#include <tdeapplication.h>
37#include <tdestandarddirs.h>
38#include <tdeglobal.h>
39#include <tdeconfig.h>
40#include <krun.h>
41#include <knotifyclient.h>
42#include <kdebug.h>
43#include <tdelocale.h>
44#include <tdeprocess.h>
45#include <klibloader.h>
46#include <tdemessagebox.h>
47
48static void dumpOptions(const TQMap<TQString,TQString>& opts);
49static void reportError(KPrinter*);
50
51//**************************************************************************************
52// KPrinterWrapper class
53//**************************************************************************************
54
55class KPrinterWrapper : public TQPrinter
56{
57friend class KPrinter;
58public:
59 KPrinterWrapper(KPrinter*, PrinterMode m = ScreenResolution);
60 ~KPrinterWrapper();
61protected:
62 virtual bool cmd(int, TQPainter*, TQPDevCmdParam*);
63 virtual int metric(int) const;
64 int qprinterMetric(int) const;
65private:
66 KPrinter *m_printer;
67};
68
69KPrinterWrapper::KPrinterWrapper(KPrinter *prt, TQPrinter::PrinterMode m)
70: TQPrinter(m), m_printer(prt)
71{
72}
73
74KPrinterWrapper::~KPrinterWrapper()
75{
76}
77
78bool KPrinterWrapper::cmd(int c, TQPainter *painter, TQPDevCmdParam *p)
79{
80 return TQPrinter::cmd(c,painter,p);
81}
82
83int KPrinterWrapper::metric(int m) const
84{
85 return m_printer->metric(m);
86}
87
88int KPrinterWrapper::qprinterMetric(int m) const
89{
90 return TQPrinter::metric(m);
91}
92
93//**************************************************************************************
94// KPrinterPrivate class
95//**************************************************************************************
96
97class KPrinterPrivate
98{
99public:
100 TQGuardedPtr<KPrinterImpl> m_impl;
101 bool m_restore;
102 bool m_previewonly;
103 WId m_parentId;
104 TQString m_docfilename;
105 TQString m_docdirectory;
106 KPrinterWrapper *m_wrapper;
107 TQMap<TQString,TQString> m_options;
108 TQString m_tmpbuffer;
109 TQString m_printername;
110 TQString m_searchname;
111 TQString m_errormsg;
112 bool m_ready;
113 int m_pagenumber;
114 DrPageSize *m_pagesize;
115 bool m_useprinterres;
116 int m_defaultres;
117};
118
119//**************************************************************************************
120// KPrinter class
121//**************************************************************************************
122
123KPrinter::KPrinter(bool restore, TQPrinter::PrinterMode m)
124: TQPaintDevice(TQInternal::Printer|TQInternal::ExternalDevice)
125{
126 init(restore, m);
127}
128
129KPrinter::~KPrinter()
130{
131 // delete Wrapper object
132 delete d->m_wrapper;
133
134 // save current options
135 if (d->m_restore)
136 saveSettings();
137
138 // delete private data (along any data allocated internally)
139 delete d->m_pagesize;
140 delete d;
141}
142
143void KPrinter::init(bool restore, TQPrinter::PrinterMode m)
144{
145 // Private data initialization
146 d = new KPrinterPrivate;
147 d->m_impl = KMFactory::self()->printerImplementation();
148 d->m_restore = restore;
149 d->m_previewonly = false;
150 d->m_parentId = 0;
151 d->m_pagesize = 0;
152
153 // initialize TQPrinter wrapper
154 d->m_wrapper = new KPrinterWrapper(this, m);
155
156 // other initialization
157 d->m_tmpbuffer = d->m_impl->tempFile();
158 d->m_ready = false;
159 d->m_defaultres = d->m_wrapper->resolution();
160 d->m_useprinterres = false;
161
162 // reload options from implementation (static object)
163 if (d->m_restore)
164 loadSettings();
165}
166
167void KPrinter::loadSettings()
168{
169 d->m_options = d->m_impl->loadOptions();
170
171 // load the last printer used in the current process (if any)
172 // and remove the corresponding entry in the option map, as it
173 // is not needed anymore
174 setSearchName(option("kde-searchname"));
175 d->m_options.remove("kde-searchname");
176
177 TDEConfig *conf = TDEGlobal::config(), *pconf = KMFactory::self()->printConfig();
178 conf->setGroup("KPrinter Settings");
179 pconf->setGroup("General");
180
181 // load latest used printer from config file, if required in the options
182 if (searchName().isEmpty() && pconf->readBoolEntry("UseLast", true))
183 setSearchName(conf->readEntry("Printer"));
184
185 // latest used print command
186 setOption("kde-printcommand",conf->readPathEntry("PrintCommand"));
187
188 // latest used document directory
189 setDocDirectory( conf->readPathEntry( "DocDirectory" ) );
190 setDocFileName( "print" );
191}
192
193void KPrinter::saveSettings()
194{
195 if (d->m_impl)
196 {
197 setOption("kde-searchname", searchName());
198 d->m_impl->saveOptions(d->m_options);
199 }
200
201 // save latest used printer to config file
202 TDEConfig *conf = TDEGlobal::config();
203 conf->setGroup("KPrinter Settings");
204 conf->writeEntry("Printer",searchName());
205 // latest used print command
206 conf->writePathEntry("PrintCommand",option("kde-printcommand"));
207
208 // latest used document directory
209 if ( d->m_docdirectory.isEmpty() )
210 {
211 KURL url( outputFileName() );
212 if ( url.isValid() )
213 conf->writePathEntry( "DocDirectory", url.directory() );
214 }
215 else
216 conf->writePathEntry( "DocDirectory", d->m_docdirectory );
217}
218
219bool KPrinter::setup(TQWidget *parent, const TQString& caption, bool forceExpand)
220{
221 if (!tdeApp->authorize("print/dialog"))
222 {
223 autoConfigure(TQString::null, parent);
224 return true; // Just print it
225 }
226
227 if (parent)
228 d->m_parentId = parent->winId();
229
230 KPrintDialog *dlg = KPrintDialog::printerDialog(this, parent, caption, forceExpand);
231 bool state = false;
232 if (dlg)
233 {
234 state = dlg->exec();
235 delete dlg;
236 }
237 return state;
238}
239
240void KPrinter::addStandardPage(int p)
241{
242 KMFactory::self()->settings()->standardDialogPages |= p;
243}
244
245void KPrinter::removeStandardPage(int p)
246{
247 KMFactory::self()->settings()->standardDialogPages &= (~p);
248}
249
250void KPrinter::addDialogPage(KPrintDialogPage *page)
251{
252 KMFactory::self()->uiManager()->addPrintDialogPage(page);
253}
254
255void KPrinter::setPageSelection(PageSelectionType t)
256{
257 KMFactory::self()->settings()->pageSelection = t;
258}
259
260KPrinter::PageSelectionType KPrinter::pageSelection()
261{
262 return (PageSelectionType)KMFactory::self()->settings()->pageSelection;
263}
264
265void KPrinter::setApplicationType(ApplicationType t)
266{
267 KMFactory::self()->settings()->application = t;
268}
269
270KPrinter::ApplicationType KPrinter::applicationType()
271{
272 return (ApplicationType)KMFactory::self()->settings()->application;
273}
274
275bool KPrinter::cmd(int c, TQPainter *painter, TQPDevCmdParam *p)
276{
277 bool value(true);
278 if (c == TQPaintDevice::PdcBegin)
279 {
280 d->m_impl->statusMessage(i18n("Initialization..."), this);
281 d->m_pagenumber = 1;
282 preparePrinting();
283 d->m_impl->statusMessage(i18n("Generating print data: page %1").arg(d->m_pagenumber), this);
284 }
285 value = d->m_wrapper->cmd(c,painter,p);
286 if (c == TQPaintDevice::PdcEnd)
287 {
288 // this call should take care of everything (preview, output-to-file, filtering, ...)
289 value = value && printFiles(TQStringList(d->m_wrapper->outputFileName()),true);
290 // reset "ready" state
291 finishPrinting();
292 }
293 return value;
294}
295
296void KPrinter::translateQtOptions()
297{
298 d->m_wrapper->setCreator(creator());
299 d->m_wrapper->setDocName(docName());
300 d->m_wrapper->setFullPage(fullPage());
301 d->m_wrapper->setColorMode((TQPrinter::ColorMode)colorMode());
302 d->m_wrapper->setOrientation((TQPrinter::Orientation)orientation());
303 if ( !option( "kde-printsize" ).isEmpty() )
304 d->m_wrapper->setPageSize( ( TQPrinter::PageSize )option( "kde-printsize" ).toInt() );
305 else
306 d->m_wrapper->setPageSize((TQPrinter::PageSize)pageSize());
307 d->m_wrapper->setOutputToFile(true);
308 d->m_wrapper->setOutputFileName(d->m_tmpbuffer);
309 d->m_wrapper->setNumCopies(option("kde-qtcopies").isEmpty() ? 1 : option("kde-qtcopies").toInt());
310 if (!option("kde-margin-top").isEmpty())
311 {
318 int res = resolution();
319 d->m_wrapper->setMargins(
320 ( int )( ( option("kde-margin-top").toFloat() * res + 71 ) / 72 ),
321 ( int )( ( option("kde-margin-left").toFloat() * res + 71 ) / 72 ),
322 ( int )( ( option("kde-margin-bottom").toFloat() * res + 71 ) / 72 ),
323 ( int )( ( option("kde-margin-right").toFloat() * res + 71 ) / 72 ) );
324 }
325 else if ( d->m_pagesize != NULL )
326 {
327 int res = resolution();
328 DrPageSize *ps = d->m_pagesize;
329 int top = ( int )( ps->topMargin() * res + 71 ) / 72;
330 int left = ( int )( ps->leftMargin() * res + 71 ) / 72;
331 int bottom = ( int )( ps->bottomMargin() * res + 71 ) / 72;
332 int right = ( int )( ps->rightMargin() * res + 71 ) / 72;
333 if ( !fullPage() )
334 {
335 // Printers can often print very close to the edges (PPD files say ImageArea==PaperDimension).
336 // But that doesn't mean it looks good. Apps which use setFullPage(false) assume that
337 // KPrinter will give them reasonable margins, so let's TQMAX with defaults from Qt in that case.
338 // Keep this in sync with KPMarginPage::initPageSize
339 unsigned int it, il, ib, ir;
340 d->m_wrapper->margins( &it, &il, &ib, &ir );
341 top = TQMAX( top, (int)it );
342 left = TQMAX( left, (int)il );
343 bottom = TQMAX( bottom, (int)ib );
344 right = TQMAX( right, (int)ir );
345 }
346 d->m_wrapper->setMargins( top, left, bottom, right );
347 }
348 /*else
349 {
350 int res = d->m_wrapper->resolution();
351 d->m_wrapper->setMargins( res/3, res/2, res/3, res/2 );
352 }*/
353 // for special printers, copies are handled by Qt
354 if (option("kde-isspecial") == "1")
355 d->m_wrapper->setNumCopies(numCopies());
356}
357
358bool KPrinter::printFiles(const TQStringList& l, bool flag, bool startviewer)
359{
360 TQStringList files(l);
361 bool status(true);
362
363 // First apply possible filters, and update "remove" flag if filters has
364 // been applied (result == 0, means nothing happened).
365 int fresult = d->m_impl->filterFiles(this, files, flag);
366 if (fresult == -1)
367 {
368 reportError(this);
369 status = false;
370 }
371 else if (fresult == 1)
372 flag = true;
373
374 if (status)
375 {
376 // Automatic conversion to format supported by print system
377 fresult = d->m_impl->autoConvertFiles(this, files, flag);
378 if (fresult == -1)
379 {
380 reportError(this);
381 status = false;
382 }
383 else if (fresult == 1)
384 flag = true;
385 }
386
387 // Continue if status is OK (filtering succeeded) and no output-to-file
388 if (status && files.count() > 0)
389 {
390 // Show preview if needed (only possible for a single file !), and stop
391 // if the user requested it. Force preview if preview-only mode has been set: it
392 // then use by default the first file in the list.
393 if (((files.count() != 1 || option("kde-preview") != "1") && !d->m_previewonly) || doPreview(files[0]))
394 {
395 // check if printing has been prepared (it may be not prepared if the KPrinter object is not
396 // use as a TQPaintDevice object)
397 preparePrinting();
398
399 if (!d->m_impl->printFiles(this, files, flag))
400 {
401 reportError(this);
402 status = false;
403 }
404 else
405 {
406 if (/* !outputToFile() && */ startviewer && !TQFile::exists("/etc/xdg/autostart/system-config-printer-applet-kde.desktop") )
407 {
408 TQStringList args;
409 args << "-d";
410 args << printerName();
411 args << "--noshow";
412 tdeApp->tdeinitExec("kjobviewer", args);
413 }
414 }
415 }
416 else if (flag)
417 // situation: only one file, it has been previewed and printing has been canceled, then
418 // we should remove the file ourself
419 {
420 TQFile::remove(files[0]);
421 }
422 }
423 finishPrinting();
424 return status;
425}
426
427bool KPrinter::doPreview(const TQString& file)
428{
429 d->m_impl->statusMessage(i18n("Previewing..."), this);
430 d->m_impl->statusMessage(TQString::null, this);
431 return KPrintPreview::preview(file, d->m_previewonly, d->m_parentId);
432}
433
434void KPrinter::preparePrinting()
435{
436 // check if already prepared (-> do nothing)
437 if (d->m_ready) return;
438
439 // re-initialize error
440 setErrorMessage(TQString::null);
441
442 // re-initialize margins and page size (by default, use Qt mechanism)
443 setRealPageSize(NULL);
444
445 // print-system-specific setup, only if not printing to file
446 if (option("kde-isspecial") != "1")
447 d->m_impl->preparePrinting(this);
448
449 // set the correct resolution, if needed (or reset it)
450 int res = option( "kde-resolution" ).toInt();
451 if ( d->m_useprinterres && res > 0 )
452 d->m_wrapper->setResolution( res );
453 else
454 d->m_wrapper->setResolution( d->m_defaultres );
455
456 // standard Qt settings
457 translateQtOptions();
458
459 d->m_ready = true;
460dumpOptions(d->m_options);
461}
462
463void KPrinter::finishPrinting()
464{
465 d->m_ready = false;
466 // close the status window
467 d->m_impl->statusMessage(TQString::null, this);
468}
469
470TQValueList<int> KPrinter::pageList() const
471{
472 TQValueList<int> list;
473 int mp(minPage()), MP(maxPage());
474 if (mp > 0 && MP > 0 && MP >= mp)
475 { // do something only if bounds specified
476 if (option("kde-current") == "1")
477 { // print only current page
478 int pp = currentPage();
479 if (pp >= mp && pp <= MP) list.append(pp);
480 }
481 else
482 {
483 // process range specification
484 if (!option("kde-range").isEmpty())
485 {
486 TQStringList ranges = TQStringList::split(',',option("kde-range"),false);
487 for (TQStringList::ConstIterator it=ranges.begin();it!=ranges.end();++it)
488 {
489 int p = (*it).find('-');
490 bool ok;
491 if (p == -1)
492 {
493 int pp = (*it).toInt(&ok);
494 if (ok && pp >= mp && pp <= MP)
495 list.append(pp);
496 }
497 else
498 {
499 int p1(0), p2(0);
500 p1 = (*it).left(p).toInt(&ok);
501 if (ok) p2 = (*it).right((*it).length()-p-1).toInt(&ok);
502 if (ok && p1 <= p2)
503 {
504 // clip to min/max
505 p1 = TQMAX(mp,p1);
506 p2 = TQMIN(MP,p2);
507 for (int i=p1;i<=p2;i++)
508 list.append(i);
509 }
510 }
511 }
512 }
513 else
514 { // add all pages between min and max
515 for (int i=mp;i<=MP;i++) list.append(i);
516 }
517
518 // revert the list if needed
519 if (pageOrder() == LastPageFirst)
520 {
521 for (uint i=0;i<(list.count()/2);i++)
522 tqSwap(list[i],list[list.count()-1-i]);
523 }
524
525 // select page set if needed
526 if (pageSet() != AllPages)
527 {
528 bool keepEven = (pageSet() == EvenPages);
529 for (TQValueList<int>::Iterator it=list.begin();it!=list.end();)
530 if ((((*it) % 2) != 0 && keepEven) ||
531 (((*it) % 2) == 0 && !keepEven)) it = list.remove(it);
532 else ++it;
533 }
534 }
535 }
536 return list;
537}
538
539//**************************************************************************************
540// TQPrinter interface
541//**************************************************************************************
542
543int KPrinter::numCopies() const
544{
545 bool ok;
546 int p = option("kde-copies").toInt(&ok);
547 return (ok ? p : 1);
548}
549
550TQSize KPrinter::margins() const
551{
552 return d->m_wrapper->margins();
553}
554
555void KPrinter::margins( uint *top, uint *left, uint *bottom, uint *right ) const
556{
557 d->m_wrapper->margins( top, left, bottom, right );
558}
559
560int KPrinter::metric(int m) const
561{
562 if (d->m_pagesize == NULL || !option( "kde-printsize" ).isEmpty())
563 return d->m_wrapper->qprinterMetric(m);
564
565 int val(0);
566 bool land = (orientation() == KPrinter::Landscape);
567 uint res(d->m_wrapper->resolution()), top = res/2, left = res/2, bottom = res/3, right = res/2;
568 margins( &top, &left, &bottom, &right );
569 switch ( m )
570 {
571 case TQPaintDeviceMetrics::PdmWidth:
572 val = (land ? ( int )d->m_pagesize->pageHeight() : ( int )d->m_pagesize->pageWidth());
573 if ( res != 72 )
574 val = (val * res + 36) / 72;
575 if ( !fullPage() )
576 val -= ( left + right );
577 break;
578 case TQPaintDeviceMetrics::PdmHeight:
579 val = (land ? ( int )d->m_pagesize->pageWidth() : ( int )d->m_pagesize->pageHeight());
580 if ( res != 72 )
581 val = (val * res + 36) / 72;
582 if ( !fullPage() )
583 val -= ( top + bottom );
584 break;
585 case TQPaintDeviceMetrics::PdmWidthMM:
586 val = metric( TQPaintDeviceMetrics::PdmWidth );
587 val = (val * 254 + 5*res) / (10*res); // +360 to get the right rounding
588 break;
589 case TQPaintDeviceMetrics::PdmHeightMM:
590 val = metric( TQPaintDeviceMetrics::PdmHeight );
591 val = (val * 254 + 5*res) / (10*res);
592 break;
593 default:
594 val = d->m_wrapper->qprinterMetric(m);
595 break;
596 }
597 return val;
598}
599
600void KPrinter::setOrientation(Orientation o, bool locking)
601{
602 KMFactory::self()->settings()->orientation = o;
603 setOption("kde-orientation",(o == Landscape ? "Landscape" : "Portrait"));
604 d->m_impl->broadcastOption("kde-orientation",(o == Landscape ? "Landscape" : "Portrait"));
605 if (locking)
606 {
607 d->m_impl->broadcastOption( "kde-orientation-fixed", "1" );
608 }
609}
610
611void KPrinter::setOption( const TQString& key, const TQString& value, bool broadcast )
612{
613 setOption( key, value );
614 if ( broadcast )
615 d->m_impl->broadcastOption( key, value );
616}
617
618void KPrinter::setPageSize(PageSize s, bool locking)
619{
620 KMFactory::self()->settings()->pageSize = s;
621 setOption("kde-pagesize",TQString::number((int)s),true);
622 if (locking)
623 {
624 d->m_impl->broadcastOption( "kde-pagesize-fixed", "1" );
625 }
626}
627
628void KPrinter::setOptions(const TQMap<TQString,TQString>& opts)
629{ // This functions remove all options except those with "kde-..."
630 // which correspond to externally-sets options (use the value
631 // from "opts" if specified
632 TQMap<TQString,TQString> tmpset = d->m_options;
633 d->m_options = opts;
634 // remove some problematic options that may not be overwritten (ugly hack).
635 // Default values will be used instead, except if the dialog has set new ones.
636 tmpset.remove("kde-pagesize");
637 tmpset.remove( "kde-printsize" );
638 tmpset.remove("kde-orientation");
639 tmpset.remove("kde-colormode");
640 tmpset.remove("kde-margin-top");
641 tmpset.remove("kde-margin-left");
642 tmpset.remove("kde-margin-bottom");
643 tmpset.remove("kde-margin-right");
644 tmpset.remove( "kde-resolution" );
645 tmpset.remove( "kde-fonts" );
646 for (TQMap<TQString,TQString>::ConstIterator it=tmpset.begin();it!=tmpset.end();++it)
647 if (it.key().left(4) == "kde-" && !(d->m_options.contains(it.key())))
648 d->m_options[it.key()] = it.data();
649}
650
651void KPrinter::initOptions(const TQMap<TQString,TQString>& opts)
652{ // This function can be used to initialize the KPrinter object just after
653 // creation to set some options. Non global options will be propagated to
654 // all listed printers (non-global => start with "kde-...")
655 for (TQMap<TQString,TQString>::ConstIterator it=opts.begin(); it!=opts.end(); ++it)
656 {
657 setOption(it.key(), it.data());
658 if (it.key().left(4) != "kde-")
659 d->m_impl->broadcastOption(it.key(),it.data());
660 }
661}
662
663void KPrinter::reload()
664{
665 d->m_impl = KMFactory::self()->printerImplementation();
666 int global = KMFactory::self()->settings()->orientation;
667 if (global != -1) setOrientation((KPrinter::Orientation)global);
668 global = KMFactory::self()->settings()->pageSize;
669 if (global != -1) setPageSize((KPrinter::PageSize)global);
670 //initOptions(d->m_options);
671}
672
673bool KPrinter::autoConfigure(const TQString& prname, TQWidget *parent)
674{
675 KMManager *mgr = KMManager::self();
676 KMPrinter *mprt(0);
677
678 mgr->printerList(false);
679 if (prname.isEmpty())
680 mprt = mgr->defaultPrinter();
681 else
682 mprt = mgr->findPrinter(prname);
683
684 if (mprt)
685 return mprt->autoConfigure(this, parent);
686 else
687 return false;
688}
689
690//**************************************************************************************
691// Util functions
692//**************************************************************************************
693
694void reportError(KPrinter *p)
695{
696 if (!KNotifyClient::event(0,"printerror",i18n("<p><nobr>A print error occurred. Error message received from system:</nobr></p><br>%1").arg(p->errorMessage())))
697 kdDebug(500) << "could not send notify event" << endl;
698}
699
700KPrinter::PageSize pageNameToPageSize(const TQString& _name)
701{
702 TQString name = _name.upper();
703 if (name == "LETTER") return KPrinter::Letter;
704 else if (name == "LEGAL") return KPrinter::Legal;
705 else if (name == "A4") return KPrinter::A4;
706 else if (name == "A3") return KPrinter::A3;
707 else if (name == "EXECUTIVE") return KPrinter::Executive;
708 else if (name == "LEDGER") return KPrinter::Ledger;
709 else if (name == "TABLOID") return KPrinter::Tabloid;
710 else if (name == "FOLIO") return KPrinter::Folio;
711 else if (name == "A5") return KPrinter::A5;
712 else if (name == "A6") return KPrinter::A6;
713 else if (name == "A7") return KPrinter::A7;
714 else if (name == "A8") return KPrinter::A8;
715 else if (name == "A9") return KPrinter::A9;
716 else if (name == "A2") return KPrinter::A2;
717 else if (name == "A1") return KPrinter::A1;
718 else if (name == "A0") return KPrinter::A0;
719 else if (name == "B0" || name == "B0ISO") return KPrinter::B0;
720 else if (name == "B1" || name == "B1ISO") return KPrinter::B1;
721 else if (name == "B2" || name == "B2ISO") return KPrinter::B2;
722 else if (name == "B3" || name == "B3ISO") return KPrinter::B3;
723 else if (name == "B4" || name == "B4ISO") return KPrinter::B4;
724 else if (name == "B5" || name == "B5ISO") return KPrinter::B5;
725 else if (name == "B6" || name == "B6ISO") return KPrinter::B6;
726 else if (name == "B7" || name == "B7ISO") return KPrinter::B7;
727 else if (name == "B8" || name == "B8ISO") return KPrinter::B8;
728 else if (name == "B9" || name == "B9ISO") return KPrinter::B9;
729 else if (name == "B10" || name == "B10ISO") return KPrinter::B10;
730 else if (name == "C5" || name == "C5E" || name == "ENVC5") return KPrinter::C5E;
731 else if (name == "DL" || name == "DLE" || name == "ENVDL") return KPrinter::DLE;
732 else if (name == "COMM10" || name == "COM10" || name == "ENV10") return KPrinter::Comm10E;
733 else return KPrinter::A4;
734}
735
736const char* pageSizeToPageName(KPrinter::PageSize s)
737{
738 switch(s)
739 {
740 case KPrinter::Letter: return "Letter";
741 case KPrinter::Legal: return "Legal";
742 case KPrinter::A4: return "A4";
743 case KPrinter::A3: return "A3";
744 case KPrinter::Executive: return "Executive";
745 case KPrinter::Ledger: return "Ledger";
746 case KPrinter::Tabloid: return "Tabloid";
747 case KPrinter::Folio: return "Folio";
748 case KPrinter::A5: return "A5";
749 case KPrinter::A6: return "A6";
750 case KPrinter::A7: return "A7";
751 case KPrinter::A8: return "A8";
752 case KPrinter::A9: return "A9";
753 case KPrinter::A2: return "A2";
754 case KPrinter::A1: return "A1";
755 case KPrinter::A0: return "A0";
756 case KPrinter::B0: return "B0";
757 case KPrinter::B1: return "B1";
758 case KPrinter::B2: return "B2";
759 case KPrinter::B3: return "B3";
760 case KPrinter::B4: return "B4";
761 case KPrinter::B5: return "B5";
762 case KPrinter::B6: return "B6";
763 case KPrinter::B7: return "B7";
764 case KPrinter::B8: return "B8";
765 case KPrinter::B9: return "B9";
766 case KPrinter::B10: return "B10";
767 case KPrinter::C5E: return "C5";
768 case KPrinter::DLE: return "DL";
769 case KPrinter::Comm10E: return "Comm10";
770 default: return "A4";
771 }
772}
773
774// FIXME: remove for 4.0
775TQSize rangeToSize( const TQString& )
776{
777 kdWarning( 500 ) << "rangeToSize(TQString) is obsolete, do not use (no effect)" << endl;
778 return TQSize();
779}
780
781static void dumpOptions(const TQMap<TQString,TQString>& opts)
782{
783 kdDebug(500) << "********************" << endl;
784 for (TQMap<TQString,TQString>::ConstIterator it=opts.begin(); it!=opts.end(); ++it)
785 kdDebug(500) << it.key() << " = " << it.data() << endl;
786}
787
788KPrinterImpl* KPrinter::implementation() const
789{ return d->m_impl; }
790
791const TQString& KPrinter::option(const TQString& key) const
792{ return ((const KPrinterPrivate*)(d))->m_options[key]; }
793
794void KPrinter::setOption(const TQString& key, const TQString& value)
795{ d->m_options[key] = value; }
796
797TQString KPrinter::docName() const
798{ return option("kde-docname"); }
799
800void KPrinter::setDocName(const TQString& d)
801{ setOption("kde-docname",d); }
802
803TQString KPrinter::creator() const
804{ return option("kde-creator"); }
805
806void KPrinter::setCreator(const TQString& d)
807{ setOption("kde-creator",d); }
808
809bool KPrinter::fullPage() const
810{ return (option("kde-fullpage") == "1"); }
811
812void KPrinter::setFullPage(bool on)
813{ setOption("kde-fullpage",(on ? "1" : "0")); }
814
815KPrinter::ColorMode KPrinter::colorMode() const
816{ return (KPrinter::ColorMode)(option("kde-colormode") == "GrayScale" ? GrayScale : Color); }
817
818void KPrinter::setColorMode(ColorMode m)
819{ setOption("kde-colormode",(m == Color ? "Color" : "GrayScale")); }
820
821void KPrinter::setNumCopies(int n)
822{ setOption("kde-copies",TQString::number(n)); }
823
824KPrinter::Orientation KPrinter::orientation() const
825{ return (option("kde-orientation") == "Landscape" ? Landscape : Portrait); }
826
827KPrinter::PageOrder KPrinter::pageOrder() const
828{ return (option("kde-pageorder") == "Reverse" ? LastPageFirst : FirstPageFirst); }
829
830void KPrinter::setPageOrder(PageOrder o)
831{ setOption("kde-pageorder",(o == LastPageFirst ? "Reverse" : "Forward")); }
832
833KPrinter::CollateType KPrinter::collate() const
834{ return (option("kde-collate") == "Collate" ? Collate : Uncollate); }
835
836void KPrinter::setCollate(CollateType c)
837{ setOption("kde-collate",(c == Collate ? "Collate" : "Uncollate")); }
838
839int KPrinter::minPage() const
840{ return (option("kde-minpage").isEmpty() ? 0 : option("kde-minpage").toInt()); }
841
842int KPrinter::maxPage() const
843{ return (option("kde-maxpage").isEmpty() ? 0 : option("kde-maxpage").toInt()); }
844
845void KPrinter::setMinMax(int m, int M)
846{ setOption("kde-minpage",TQString::number(m)); setOption("kde-maxpage",TQString::number(M)); }
847
848int KPrinter::fromPage() const
849{ return (option("kde-frompage").isEmpty() ? 0 : option("kde-frompage").toInt()); }
850
851int KPrinter::toPage() const
852{ return (option("kde-topage").isEmpty() ? 0 : option("kde-topage").toInt()); }
853
854void KPrinter::setFromTo(int m, int M)
855{ setOption("kde-frompage",TQString::number(m)); setOption("kde-topage",TQString::number(M)); setOption("kde-range",(m>0 && M>0 ? TQString("%1-%2").arg(m).arg(M) : TQString::fromLatin1(""))); }
856
857// if no page size defined, use the localized one
858KPrinter::PageSize KPrinter::pageSize() const
859{ return (option("kde-pagesize").isEmpty() ? (PageSize)TDEGlobal::locale()->pageSize() : (PageSize)option("kde-pagesize").toInt()); }
860
861KPrinter::PageSetType KPrinter::pageSet() const
862{ return (option("kde-pageset").isEmpty() ? AllPages : (PageSetType)(option("kde-pageset").toInt())); }
863
864int KPrinter::currentPage() const
865{ return (option("kde-currentpage").isEmpty() ? 0 : option("kde-currentpage").toInt()); }
866
867void KPrinter::setCurrentPage(int p)
868{ setOption("kde-currentpage",TQString::number(p)); }
869
870TQString KPrinter::printerName() const
871{ return d->m_printername; }
872
873void KPrinter::setPrinterName(const TQString& s)
874{ d->m_printername = s; }
875
876TQString KPrinter::printProgram() const
877{ return (option("kde-isspecial") == "1" ? option("kde-special-command") : TQString::null); }
878
879void KPrinter::setPrintProgram(const TQString& prg)
880{
881 if (prg.isNull())
882 {
883 setOption("kde-isspecial", "0");
884 d->m_options.remove("kde-special-command");
885 }
886 else
887 {
888 TQString s(prg);
889 if (s.find("%in") == -1)
890 s.append(" %in");
891 setOutputToFile( s.find( "%out" ) != -1 );
892 setOption("kde-isspecial", "1");
893 setOption("kde-special-command", s);
894 }
895}
896
897TQString KPrinter::printerSelectionOption() const
898{ return TQString::fromLatin1(""); }
899
900void KPrinter::setPrinterSelectionOption(const TQString&)
901{}
902
903const TQMap<TQString,TQString>& KPrinter::options() const
904{ return d->m_options; }
905
906TQString KPrinter::searchName() const
907{ return d->m_searchname; }
908
909void KPrinter::setSearchName(const TQString& s)
910{ d->m_searchname = s; }
911
912bool KPrinter::newPage()
913{
914 d->m_pagenumber++;
915 d->m_impl->statusMessage(i18n("Generating print data: page %1").arg(d->m_pagenumber), this);
916 return d->m_wrapper->newPage();
917}
918
919TQString KPrinter::outputFileName() const
920{ return option("kde-outputfilename"); }
921
922void KPrinter::setOutputFileName(const TQString& f)
923{ setOption("kde-outputfilename",f); setOutputToFile(!f.isEmpty()); }
924
925bool KPrinter::outputToFile() const
926{ return (option("kde-outputtofile") == "1" || (option("kde-isspecial") == "1" && option("kde-special-command").isEmpty())); }
927
928void KPrinter::setOutputToFile(bool on)
929{
930 setOption("kde-outputtofile",(on ? "1" : "0"));
931 if (on)
932 {
933 setOption("kde-special-command",TQString::null);
934 setOption("kde-isspecial","1");
935 }
936}
937
938bool KPrinter::abort()
939{ return d->m_wrapper->abort(); }
940
941bool KPrinter::aborted() const
942{ return d->m_wrapper->aborted(); }
943
944void KPrinter::setMargins(TQSize m)
945{
946 setMargins( m.height(), m.width(), m.height(), m.width() );
947}
948
949void KPrinter::setMargins( uint top, uint left, uint bottom, uint right )
950{
951 d->m_wrapper->setMargins( top, left, bottom, right );
952 setOption( "kde-margin-top", TQString::number( top ), true );
953 setOption( "kde-margin-left", TQString::number( left ), true );
954 setOption( "kde-margin-bottom", TQString::number( bottom ), true );
955 setOption( "kde-margin-right", TQString::number( right ), true );
956}
957
958// FIXME: remove for 4.0
959TQSize KPrinter::realPageSize() const
960{
961 kdWarning( 500 ) << "KPrinter::realPageSize() is obsolete, do not use" << endl;
962 if ( d->m_pagesize )
963 return d->m_pagesize->pageSize();
964 else
965 return TQSize();
966}
967
968void KPrinter::setRealPageSize(DrPageSize *p)
969{
970 if ( p )
971 {
972 kdDebug( 500 ) << "Page size: width =" << p->pageWidth() << endl;
973 kdDebug( 500 ) << "Page size: height =" << p->pageHeight() << endl;
974 kdDebug( 500 ) << "Page size: left =" << p->leftMargin() << endl;
975 kdDebug( 500 ) << "Page size: top =" << p->topMargin() << endl;
976 kdDebug( 500 ) << "Page size: right =" << p->rightMargin() << endl;
977 kdDebug( 500 ) << "Page size: bottom =" << p->bottomMargin() << endl;
978 }
979 else
980 kdDebug( 500 ) << "Resetting page size" << endl;
981
982 /* we copy the page size structure internally
983 * as the original object is owned by the driver
984 * that control its destrution */
985 delete d->m_pagesize;
986 d->m_pagesize = 0;
987 if ( p )
988 d->m_pagesize = new DrPageSize( *p );
989}
990
991// FIXME: remove for 4.0
992void KPrinter::setRealPageSize( TQSize )
993{
994 kdWarning( 500 ) << "KPrinter::setRealPageSize(TQSize) is obsolete, do not use (no effect)" << endl;
995}
996
997// FIXME: remove for 4.0
998void KPrinter::setRealDrawableArea( const TQRect& )
999{
1000 kdWarning( 500 ) << "KPrinter::setRealDrawableArea(TQRect) is obsolete, do not use (no effect)" << endl;
1001}
1002
1003// FIXME: remove for 4.0
1004TQRect KPrinter::realDrawableArea() const
1005{
1006 kdWarning( 500 ) << "KPrinter::realDrawableArea() is obsolete, do not use" << endl;
1007 if ( d->m_pagesize )
1008 return d->m_pagesize->pageRect();
1009 else
1010 return TQRect();
1011}
1012
1013TQString KPrinter::errorMessage() const
1014{ return d->m_errormsg; }
1015
1016void KPrinter::setErrorMessage(const TQString& msg)
1017{ d->m_errormsg = msg; }
1018
1019/* we're using a builtin member to store this state because we don't
1020 * want to keep it from object to object. So there's no need to use
1021 * the TQMap structure to store this
1022 */
1023void KPrinter::setPreviewOnly(bool on)
1024{ d->m_previewonly = on; }
1025
1026bool KPrinter::previewOnly() const
1027{ return d->m_previewonly; }
1028
1029void KPrinter::setDocFileName(const TQString& s)
1030{ d->m_docfilename = s; }
1031
1032TQString KPrinter::docFileName() const
1033{ return d->m_docfilename; }
1034
1035void KPrinter::setDocDirectory( const TQString& s )
1036{ d->m_docdirectory = s; }
1037
1038TQString KPrinter::docDirectory() const
1039{ return ( d->m_docdirectory.isEmpty() ? TQDir::homeDirPath() : d->m_docdirectory ); }
1040
1041void KPrinter::setResolution(int dpi)
1042{
1043 d->m_wrapper->setResolution(dpi);
1044 d->m_defaultres = dpi;
1045}
1046
1047int KPrinter::resolution() const
1048{ return d->m_wrapper->resolution(); }
1049
1050void KPrinter::setUsePrinterResolution( bool on )
1051{ d->m_useprinterres = on; }
KPrintDialogPage
This class is intended to be used as base class for customized print dialog page.
Definition: kprintdialogpage.h:91
KPrinter
This class is the main interface to access the TDE print framework.
Definition: kprinter.h:89
KPrinter::translateQtOptions
void translateQtOptions()
Definition: kprinter.cpp:296
KPrinter::docName
TQString docName() const
See TQPrinter::docName().
Definition: kprinter.cpp:797
KPrinter::implementation
KPrinterImpl * implementation() const
For internal use only.
Definition: kprinter.cpp:788
KPrinter::newPage
bool newPage()
See TQPrinter::newPage().
Definition: kprinter.cpp:912
KPrinter::maxPage
int maxPage() const
See TQPrinter::maxPage().
Definition: kprinter.cpp:842
KPrinter::removeStandardPage
static void removeStandardPage(int p)
Removes a standard page from the print dialog.
Definition: kprinter.cpp:245
KPrinter::PageSize
PageSize
Defines the paper size to use.
Definition: kprinter.h:168
KPrinter::option
const TQString & option(const TQString &key) const
Starts the add printer wizard.
Definition: kprinter.cpp:791
KPrinter::outputToFile
bool outputToFile() const
See TQPrinter::outputToFile().
Definition: kprinter.cpp:925
KPrinter::setPrinterName
void setPrinterName(const TQString &)
See TQPrinter::setPrinterName().
Definition: kprinter.cpp:873
KPrinter::collate
CollateType collate() const
Returns the collate status of the current KPrinter.
Definition: kprinter.cpp:833
KPrinter::setRealPageSize
void setRealPageSize(TQSize p)
DO NOT USE, WILL BE REMOVED.
Definition: kprinter.cpp:992
KPrinter::setErrorMessage
void setErrorMessage(const TQString &msg)
Sets the last error message.
Definition: kprinter.cpp:1016
KPrinter::printFiles
bool printFiles(const TQStringList &files, bool removeafter=false, bool startviewer=true)
Prints the files given in argument.
Definition: kprinter.cpp:358
KPrinter::searchName
TQString searchName() const
Returns the search name of the printer selected by the user.
Definition: kprinter.cpp:906
KPrinter::setup
bool setup(TQWidget *parent=0, const TQString &caption=TQString::null, bool forceExpand=false)
Sets up the KPrinter object using the print dialog, returns true if the user clicked OK.
Definition: kprinter.cpp:219
KPrinter::setFullPage
void setFullPage(bool)
See TQPrinter::setFullPage().
Definition: kprinter.cpp:812
KPrinter::setCreator
void setCreator(const TQString &)
See TQPrinter::setCreator().
Definition: kprinter.cpp:806
KPrinter::printerName
TQString printerName() const
See TQPrinter::printerName().
Definition: kprinter.cpp:870
KPrinter::ApplicationType
ApplicationType
Defines the type of the application, this affects the GUI of the print dialog:
Definition: kprinter.h:126
KPrinter::setOrientation
void setOrientation(Orientation, bool locking=false)
See TQPrinter::setOrientation().
Definition: kprinter.cpp:600
KPrinter::numCopies
int numCopies() const
See TQPrinter::numCopies().
Definition: kprinter.cpp:543
KPrinter::docDirectory
TQString docDirectory() const
Get the default document directory, that is the directory used for any output file.
Definition: kprinter.cpp:1038
KPrinter::addDialogPage
static void addDialogPage(KPrintDialogPage *_page)
Adds a customized page to the print dialog.
Definition: kprinter.cpp:250
KPrinter::setFromTo
void setFromTo(int, int)
Sets the first and last page to be printed.
Definition: kprinter.cpp:854
KPrinter::realDrawableArea
TQRect realDrawableArea() const
DO NOT USE, WILL BE REMOVED.
Definition: kprinter.cpp:1004
KPrinter::initOptions
void initOptions(const TQMap< TQString, TQString > &opts)
For internal use only.
Definition: kprinter.cpp:651
KPrinter::setNumCopies
void setNumCopies(int n)
See TQPrinter::setNumCopies().
Definition: kprinter.cpp:821
KPrinter::autoConfigure
bool autoConfigure(const TQString &prname=TQString::null, TQWidget *parent=0)
Configure the KPrinter object to be used with the printer named prname.
Definition: kprinter.cpp:673
KPrinter::previewOnly
bool previewOnly() const
Returns the preview-only state for this KPrinter object.
Definition: kprinter.cpp:1026
KPrinter::setPageOrder
void setPageOrder(PageOrder)
See TQPrinter::setPageOrder().
Definition: kprinter.cpp:830
KPrinter::creator
TQString creator() const
See TQPrinter::creator().
Definition: kprinter.cpp:803
KPrinter::setOutputToFile
void setOutputToFile(bool)
See TQPrinter::setOutputToFile().
Definition: kprinter.cpp:928
KPrinter::setRealDrawableArea
void setRealDrawableArea(const TQRect &r)
DO NOT USE, WILL BE REMOVED.
Definition: kprinter.cpp:998
KPrinter::pageList
TQValueList< int > pageList() const
Returns the page list to be printed, correpsonding to the options selected by the user.
Definition: kprinter.cpp:470
KPrinter::setColorMode
void setColorMode(ColorMode)
See TQPrinter::setColorMode().
Definition: kprinter.cpp:818
KPrinter::PageSelectionType
PageSelectionType
Defines whether the application can perform page selection itself or not.
Definition: kprinter.h:116
KPrinter::PageSetType
PageSetType
Defines the page set to print:
Definition: kprinter.h:137
KPrinter::setDocFileName
void setDocFileName(const TQString &filename)
Set the default document filename.
Definition: kprinter.cpp:1029
KPrinter::currentPage
int currentPage() const
Returns the current page number.
Definition: kprinter.cpp:864
KPrinter::printerSelectionOption
TQString printerSelectionOption() const
See TQPrinter::printerSelectionOption().
Definition: kprinter.cpp:897
KPrinter::fromPage
int fromPage() const TDE_DEPRECATED
Returns the first page to be printed.
Definition: kprinter.cpp:848
KPrinter::setDocName
void setDocName(const TQString &)
See TQPrinter::setDocName().
Definition: kprinter.cpp:800
KPrinter::setPageSize
void setPageSize(PageSize, bool locking=false)
See TQPrinter::setPageSize().
Definition: kprinter.cpp:618
KPrinter::outputFileName
TQString outputFileName() const
See TQPrinter::outputFileName().
Definition: kprinter.cpp:919
KPrinter::setOutputFileName
void setOutputFileName(const TQString &)
See TQPrinter::setOutputFileName().
Definition: kprinter.cpp:922
KPrinter::setOption
void setOption(const TQString &key, const TQString &value)
Adds or modifies an option in the KPrinter object.
Definition: kprinter.cpp:794
KPrinter::CollateType
CollateType
Defines the collate property of the printer (if supported by the print system):
Definition: kprinter.h:145
KPrinter::setPreviewOnly
void setPreviewOnly(bool on)
Sets the KPrinter object to preview mode if on is true.
Definition: kprinter.cpp:1023
KPrinter::abort
bool abort()
See TQPrinter::abort().
Definition: kprinter.cpp:938
KPrinter::setResolution
void setResolution(int dpi)
Set the resolution of the current KPrinter object.
Definition: kprinter.cpp:1041
KPrinter::setPrinterSelectionOption
void setPrinterSelectionOption(const TQString &)
See TQPrinter::setPrinterSelectionOption().
Definition: kprinter.cpp:900
KPrinter::pageSize
PageSize pageSize() const
See TQPrinter::pageSize().
Definition: kprinter.cpp:858
KPrinter::toPage
int toPage() const
Returns the last page to be printed.
Definition: kprinter.cpp:851
KPrinter::PageOrder
PageOrder
Defines the page order of the print job.
Definition: kprinter.h:162
KPrinter::realPageSize
TQSize realPageSize() const
Returns the page size in dot unit ( 1 dot = 1/72th in ).
Definition: kprinter.cpp:959
KPrinter::options
const TQMap< TQString, TQString > & options() const
Returns the complete set of print options from the KPrinter object.
Definition: kprinter.cpp:903
KPrinter::pageSet
PageSetType pageSet() const
Returns the page set of the current KPrinter object.
Definition: kprinter.cpp:861
KPrinter::pageOrder
PageOrder pageOrder() const
See TQPrinter::pageOrder().
Definition: kprinter.cpp:827
KPrinter::printProgram
TQString printProgram() const
Returns the print program as set by setPrintProgram() or by the print dialog if a special printer has...
Definition: kprinter.cpp:876
KPrinter::orientation
Orientation orientation() const
See TQPrinter::orientation().
Definition: kprinter.cpp:824
KPrinter::minPage
int minPage() const
See TQPrinter::minPage().
Definition: kprinter.cpp:839
KPrinter::setMinMax
void setMinMax(int, int)
See TQPrinter::setMinMax().
Definition: kprinter.cpp:845
KPrinter::setDocDirectory
void setDocDirectory(const TQString &dir)
Set the default document directory.
Definition: kprinter.cpp:1035
KPrinter::pageSelection
static PageSelectionType pageSelection()
Returns the page selection mode of the current application.
Definition: kprinter.cpp:260
KPrinter::docFileName
TQString docFileName() const
Get the default document filename, that is the default basename used for the output file.
Definition: kprinter.cpp:1032
KPrinter::errorMessage
TQString errorMessage() const
Returns the last error message issued by the print system.
Definition: kprinter.cpp:1013
KPrinter::ColorMode
ColorMode
Defines the color mode of the printer.
Definition: kprinter.h:152
KPrinter::setOptions
void setOptions(const TQMap< TQString, TQString > &opts)
Sets the option set in one operation.
Definition: kprinter.cpp:628
KPrinter::setApplicationType
static void setApplicationType(ApplicationType type)
Sets the application type concerning the print dialog.
Definition: kprinter.cpp:265
KPrinter::setSearchName
void setSearchName(const TQString &n)
Sets the search name of the KPrinter object.
Definition: kprinter.cpp:909
KPrinter::applicationType
static ApplicationType applicationType()
Returns the application type concerning the print dialog.
Definition: kprinter.cpp:270
KPrinter::margins
TQSize margins() const
See TQPrinter::margins().
Definition: kprinter.cpp:550
KPrinter::setCurrentPage
void setCurrentPage(int p=0)
Sets the current page number.
Definition: kprinter.cpp:867
KPrinter::fullPage
bool fullPage() const
See TQPrinter::fullPage().
Definition: kprinter.cpp:809
KPrinter::KPrinter
KPrinter(bool restore=true, TQPrinter::PrinterMode m=TQPrinter::ScreenResolution)
Constructor.
Definition: kprinter.cpp:123
KPrinter::~KPrinter
~KPrinter()
Destructor.
Definition: kprinter.cpp:129
KPrinter::setUsePrinterResolution
void setUsePrinterResolution(bool on)
Define the KPrinter object to use the actual printer resolution.
Definition: kprinter.cpp:1050
KPrinter::colorMode
ColorMode colorMode() const
See TQPrinter::colorMode().
Definition: kprinter.cpp:815
KPrinter::Orientation
Orientation
Defines the orientation of the paper.
Definition: kprinter.h:157
KPrinter::resolution
int resolution() const
Resturns the resolution of the current KPrinter object.
Definition: kprinter.cpp:1047
KPrinter::setPageSelection
static void setPageSelection(PageSelectionType _mode)
Sets the page selection mode of the application.
Definition: kprinter.cpp:255
KPrinter::addStandardPage
static void addStandardPage(int p)
Adds a standard page to the print dialog.
Definition: kprinter.cpp:240
KPrinter::aborted
bool aborted() const
See TQPrinter::aborted(.)
Definition: kprinter.cpp:941
KPrinter::setMargins
void setMargins(TQSize m)
Not used yet.
Definition: kprinter.cpp:944
KPrinter::setPrintProgram
void setPrintProgram(const TQString &cmd)
Sets the command line to use when printing.
Definition: kprinter.cpp:879
KPrinter::setCollate
void setCollate(CollateType type)
Sets the collate status for the current KPrinter to type.
Definition: kprinter.cpp:836

tdeprint

Skip menu "tdeprint"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

tdeprint

Skip menu "tdeprint"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeprint by doxygen 1.9.4
This website is maintained by Timothy Pearson.