3 * Copyright 2001 LyX Team
6 * \author John Levon, moz@compsoc.man.ac.uk
7 * \author Edwin Leuven, leuven@fee.uva.nl
10 #include "qfiledialog.h"
11 #include "qcheckbox.h"
13 #include "qlineedit.h"
14 #include "qpushbutton.h"
15 #include "qradiobutton.h"
18 #include "printdlgimpl.h"
19 #include "FormPrint.h"
23 #include "support/filetools.h"
24 #include "support/lstrings.h"
26 #include "PrinterParams.h"
32 PrintDlgImpl::PrintDlgImpl( FormPrint *f, QWidget* parent, const char* name, bool modal, WFlags fl )
33 : PrintDlg( parent, name, modal, fl ), form_(f)
39 PrintDlgImpl::~PrintDlgImpl()
41 // no need to delete child widgets, Qt does it all for us
45 const char * PrintDlgImpl::getFrom() {
46 return fromPage->text();
50 const char * PrintDlgImpl::getTo() {
51 return toPage->text();
55 PrinterParams::Target PrintDlgImpl::getTarget() {
56 if (toPrinter->isChecked())
57 return PrinterParams::PRINTER;
59 return PrinterParams::FILE;
63 const char * PrintDlgImpl::getPrinter() {
64 return printerName->text();
67 const char * PrintDlgImpl::getFile() {
68 return fileName->text();
71 PrinterParams::WhichPages PrintDlgImpl::getWhichPages() {
72 if (oddPages->isChecked())
73 return PrinterParams::ODD;
74 else if (evenPages->isChecked())
75 return PrinterParams::EVEN;
77 return PrinterParams::ALL;
80 bool PrintDlgImpl::getReverse() {
81 return reverse->isChecked();
84 bool PrintDlgImpl::getSort() {
85 return collate->isChecked();
88 const char * PrintDlgImpl::getCount() {
89 return copies->text();
92 void PrintDlgImpl::setTarget(PrinterParams::Target t) {
93 toPrinter->setChecked(t==PrinterParams::PRINTER);
94 toFile->setChecked(t!=PrinterParams::PRINTER);
97 void PrintDlgImpl::setPrinter(const char * name) {
98 printerName->setText(name);
101 void PrintDlgImpl::setFile(const char * name) {
102 fileName->setText(name);
105 void PrintDlgImpl::setWhichPages(PrinterParams::WhichPages wp) {
107 case PrinterParams::ALL:
108 allPages->setChecked(true);
110 case PrinterParams::EVEN:
111 evenPages->setChecked(true);
113 case PrinterParams::ODD:
114 oddPages->setChecked(true);
120 void PrintDlgImpl::setReverse(bool on) {
121 reverse->setChecked(on);
125 void PrintDlgImpl::setSort(bool on) {
126 collate->setChecked(on);
130 void PrintDlgImpl::setCount(int num) {
131 copies->setValue(num);
132 collate->setEnabled(num > 1);
136 void PrintDlgImpl::setFrom(const char * text) {
137 fromPage->setText(text);
141 void PrintDlgImpl::setTo(const char * text) {
142 toPage->setText(text);
146 void PrintDlgImpl::browse_file()
148 QString d( OnlyPath(tostr(fileName->text())).c_str() );
149 QString s( QFileDialog::getOpenFileName( d, "PostScript Files (*.ps)", this ) );
151 fileName->setText(s);
155 void PrintDlgImpl::print()
163 void PrintDlgImpl::cancel_adaptor()
170 void PrintDlgImpl::set_collate(int copies)
172 collate->setEnabled(copies > 1);