3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
15 #include "PrinterParams.h"
16 #include "ControlPrint.h"
17 #include "qt_helpers.h"
20 #include "QLPrintDialog.h"
23 #include <qlineedit.h>
24 #include <qcheckbox.h>
25 #include <qradiobutton.h>
27 #include <qpushbutton.h>
30 typedef Qt2CB<ControlPrint, Qt2DB<QLPrintDialog> > base_class;
34 : base_class(_("LyX: Print Document"))
39 void QPrint::build_dialog()
41 dialog_.reset(new QLPrintDialog(this));
43 bcview().setOK(dialog_->printPB);
44 bcview().setCancel(dialog_->closePB);
48 void QPrint::update_contents()
50 PrinterParams & pp = controller().params();
52 // only reset params if a different buffer
53 if (!pp.file_name.empty() && pp.file_name == fromqstr(dialog_->fileED->text()))
56 dialog_->printerED->setText(toqstr(pp.printer_name));
57 dialog_->fileED->setText(toqstr(pp.file_name));
59 dialog_->printerRB->setChecked(true);
60 if (pp.target == PrinterParams::FILE)
61 dialog_->fileRB->setChecked(true);
63 dialog_->reverseCB->setChecked(pp.reverse_order);
65 dialog_->copiesSB->setValue(pp.count_copies);
67 dialog_->oddCB->setChecked(pp.odd_pages);
68 dialog_->evenCB->setChecked(pp.even_pages);
70 dialog_->collateCB->setChecked(pp.sorted_copies);
73 dialog_->allRB->setChecked(true);
77 dialog_->rangeRB->setChecked(true);
80 s.setNum(pp.from_page);
81 dialog_->fromED->setText(s);
83 dialog_->toED->setText(s);
89 PrinterParams::Target t = PrinterParams::PRINTER;
90 if (dialog_->fileRB->isChecked())
91 t = PrinterParams::FILE;
93 PrinterParams const pp(t,
94 fromqstr(dialog_->printerED->text()),
95 fromqstr(dialog_->fileED->text()),
96 dialog_->allRB->isChecked(),
97 dialog_->fromED->text().toUInt(),
98 dialog_->toED->text().toUInt(),
99 dialog_->oddCB->isChecked(),
100 dialog_->evenCB->isChecked(),
101 dialog_->copiesSB->text().toUInt(),
102 dialog_->collateCB->isChecked(),
103 dialog_->reverseCB->isChecked());
105 controller().params() = pp;