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)
38 PrintDlgImpl::~PrintDlgImpl()
40 // no need to delete child widgets, Qt does it all for us
43 const char * PrintDlgImpl::getFrom() {
44 return fromPage->text();
47 const char * PrintDlgImpl::getTo() {
48 return toPage->text();
51 PrinterParams::Target PrintDlgImpl::getTarget() {
52 if (toPrinter->isChecked())
53 return PrinterParams::PRINTER;
55 return PrinterParams::FILE;
59 const char * PrintDlgImpl::getPrinter() {
60 return printerName->text();
63 const char * PrintDlgImpl::getFile() {
64 return fileName->text();
67 PrinterParams::WhichPages PrintDlgImpl::getWhichPages() {
68 if (oddPages->isChecked())
69 return PrinterParams::ODD;
70 else if (evenPages->isChecked())
71 return PrinterParams::EVEN;
73 return PrinterParams::ALL;
76 bool PrintDlgImpl::getReverse() {
77 return reverse->isChecked();
80 bool PrintDlgImpl::getSort() {
81 return collate->isChecked();
84 const char * PrintDlgImpl::getCount() {
85 return copies->text();
88 void PrintDlgImpl::setTarget(PrinterParams::Target t) {
89 toPrinter->setChecked(t==PrinterParams::PRINTER);
90 toFile->setChecked(t!=PrinterParams::PRINTER);
93 void PrintDlgImpl::setPrinter(const char * name) {
94 printerName->setText(name);
97 void PrintDlgImpl::setFile(const char * name) {
98 fileName->setText(name);
101 void PrintDlgImpl::setWhichPages(PrinterParams::WhichPages wp) {
103 case PrinterParams::ALL:
104 allPages->setChecked(true);
106 case PrinterParams::EVEN:
107 evenPages->setChecked(true);
109 case PrinterParams::ODD:
110 oddPages->setChecked(true);
115 void PrintDlgImpl::setReverse(bool on) {
116 reverse->setChecked(on);
119 void PrintDlgImpl::setSort(bool on) {
120 collate->setChecked(on);
123 void PrintDlgImpl::setCount(int num) {
124 copies->setValue(num);
125 collate->setEnabled(num > 1);
128 void PrintDlgImpl::setFrom(const char * text) {
129 fromPage->setText(text);
132 void PrintDlgImpl::setTo(const char * text) {
133 toPage->setText(text);
136 void PrintDlgImpl::browse_file()
138 QString d( OnlyPath(tostr(fileName->text())).c_str() );
139 QString s( QFileDialog::getOpenFileName( d, "PostScript Files (*.ps)", this ) );
141 fileName->setText(s);
144 void PrintDlgImpl::print()
151 void PrintDlgImpl::cancel_adaptor()
157 void PrintDlgImpl::set_collate(int copies)
159 collate->setEnabled(copies > 1);