]> git.lyx.org Git - lyx.git/blob - src/frontends/kde/printdlg.h
Move LaTeX and VC logs to GUI-I on xforms
[lyx.git] / src / frontends / kde / printdlg.h
1 /*
2  * printdlg.h
3  * (C) 2000 LyX Team
4  * John Levon, moz@compsoc.man.ac.uk
5  */ 
6  
7 #ifndef PRINTDLG_H
8 #define PRINTDLG_H
9
10
11 #include "dlg/printdlgdata.h"
12 #include "support/lstrings.h"
13 #include "lyxrc.h" 
14 #include "PrinterParams.h"
15 #include "FormPrint.h"
16
17 class PrintDialog : public PrintDialogData
18 {
19         Q_OBJECT
20 public:
21
22         PrintDialog(FormPrint *f, QWidget* parent = NULL, const char* name = NULL);
23         virtual ~PrintDialog();
24         
25         const char *getFrom() {
26                 return from->text();
27         }
28
29         const char *getTo() {
30                 return to->text();
31         }
32
33         PrinterParams::Target getTarget() {
34                 if (toprinter->isChecked())
35                         return PrinterParams::PRINTER;
36                 else
37                         return PrinterParams::FILE;
38         }
39
40         const char *getPrinter() {
41                 return printername->text();
42         }
43
44         const char *getFile() {
45                 return filename->text();
46         }
47         
48         PrinterParams::WhichPages getWhichPages() {
49                 if (oddpages->isChecked())
50                         return PrinterParams::ODD;
51                 else if (evenpages->isChecked())
52                         return PrinterParams::EVEN;
53                 else
54                         return PrinterParams::ALL;
55         }
56
57         bool getReverse() {
58                 return reverse->isChecked();
59         }
60
61         bool getSort() {
62                 return sort->isChecked();
63         }
64
65         const char *getCount() {
66                 return count->text();
67         }
68
69         void setTarget(PrinterParams::Target t) {
70                 toprinter->setChecked(t==PrinterParams::PRINTER);
71                 tofile->setChecked(t!=PrinterParams::PRINTER);
72         }
73          
74         void setPrinter(const char *name) {
75                 printername->setText(name);
76         } 
77  
78         void setFile(const char *name) {
79                 filename->setText(name);
80         }        
81  
82         void setWhichPages(PrinterParams::WhichPages wp) {
83                 switch (wp) {
84                         case PrinterParams::ALL:
85                                 allpages->setChecked(true);
86                                 break;
87                         case PrinterParams::EVEN:
88                                 evenpages->setChecked(true);
89                                 break;
90                         case PrinterParams::ODD:
91                                 oddpages->setChecked(true);
92                                 break;
93                 }
94         }
95  
96         void setReverse(bool on) {
97                 reverse->setChecked(on);
98         }
99  
100         void setSort(bool on) {
101                 sort->setChecked(on);
102         }
103          
104         void setCount(int num) {
105                 count->setText(tostr(num).c_str());
106                 sort->setEnabled(num > 1);
107         }
108
109         void setFrom(const char *text) {
110                 from->setText(text);
111         }
112
113         void setTo(const char *text) {
114                 to->setText(text);
115         }
116
117 protected slots:
118         void clickedCancel() {
119                 form_->close();
120                 hide();
121         }
122  
123         void clickedPrint() {
124                 form_->print(); 
125                 form_->close();
126                 hide();
127         }
128
129         /// open up the browser to select ps file 
130         void clickedBrowse();
131         
132         /// validate and change collate status
133         void changedCount(const char *text);
134  
135 private:
136         FormPrint *form_;
137 };
138 #endif // PRINTDLG_H