]> git.lyx.org Git - lyx.git/blob - src/frontends/kde/printdlg.C
More preference work from Angus
[lyx.git] / src / frontends / kde / printdlg.C
1 /*
2  * printdlg.C
3  * (C) 2000, LyX Team
4  * John Levon, moz@compsoc.man.ac.uk
5  */
6
7 #include "printdlgdata.h"
8 #include "printdlg.h"
9 #include "support/lstrings.h"
10 #include "support/filetools.h"
11
12 #include <qtooltip.h>
13 #include <kfiledialog.h>
14
15 #include <gettext.h>
16 #include <cstring>
17
18 #define Inherited PrintDialogData
19
20 PrintDialog::PrintDialog(FormPrint *f, QWidget* parent, const char * name)
21         : PrintDialogData(parent, name), form_(f)
22 {
23         setCaption(name); 
24         QToolTip::add(allpages, _("Print every page"));
25         QToolTip::add(oddpages, _("Print odd-numbered pages only"));
26         QToolTip::add(evenpages, _("Print even-numbered pages only"));
27         QToolTip::add(from, _("Print from page number")); 
28         QToolTip::add(to, _("Print to page number")); 
29         QToolTip::add(reverse, _("Print in reverse order (last page first)"));
30         QToolTip::add(count, _("Number of copies to print"));
31         QToolTip::add(sort, _("Collate multiple copies"));
32         QToolTip::add(printername, _("Printer name"));
33         QToolTip::add(filename, _("Output filename"));
34         QToolTip::add(browse, _("Select output filename"));
35 }
36
37 PrintDialog::~PrintDialog()
38 {
39 }
40
41 void PrintDialog::clickedBrowse()
42 {
43         // FIXME: move into utility class later, accept URLs etc.
44
45         KFileDialog filedlg(OnlyPath(filename->text()).c_str(), "*.ps|PostScript Files (*.ps)", this, 0, true, false);
46
47         if (filedlg.exec() == QDialog::Accepted)
48                 filename->setText(filedlg.selectedFile().data());
49 }
50
51 void PrintDialog::changedCount(const char *text)
52 {
53         if (strcmp("",text) && strToInt(text) == 0) {
54                 count->setText("1");
55                 return;
56         }
57
58         sort->setEnabled(strToInt(text) > 1);
59 }