3 * Copyright 2001 the LyX Team
4 * Read the file COPYING
6 * \author John Levon <moz@compsoc.man.ac.uk>
12 #pragma implementation
15 #include "ControlInclude.h"
19 #include "QIncludeDialog.h"
23 #include <qlineedit.h>
24 #include <qpushbutton.h>
25 #include <qcheckbox.h>
26 #include <qradiobutton.h>
28 typedef Qt2CB<ControlInclude, Qt2DB<QIncludeDialog> > base_class;
30 QInclude::QInclude(ControlInclude & c)
31 : base_class(c, _("Include"))
36 void QInclude::build_dialog()
38 dialog_.reset(new QIncludeDialog(this));
40 bc().setOK(dialog_->okPB);
41 bc().setCancel(dialog_->closePB);
42 bc().addReadOnly(dialog_->filenameED);
43 bc().addReadOnly(dialog_->browsePB);
44 bc().addReadOnly(dialog_->typesetCB);
45 bc().addReadOnly(dialog_->visiblespaceCB);
46 bc().addReadOnly(dialog_->includeRB);
47 bc().addReadOnly(dialog_->inputRB);
48 bc().addReadOnly(dialog_->verbatimRB);
52 void QInclude::update_contents()
54 if (controller().params().noload) {
55 dialog_->filenameED->setText("");
56 dialog_->typesetCB->setChecked(false);
57 dialog_->visiblespaceCB->setChecked(false);
58 dialog_->visiblespaceCB->setEnabled(false);
59 dialog_->includeRB->setChecked(true);
63 dialog_->filenameED->setText(controller().params().cparams.getContents().c_str());
65 string const cmdname = controller().params().cparams.getCmdName();
68 dialog_->typesetCB->setChecked(controller().params().noload);
70 dialog_->visiblespaceCB->setChecked(false);
71 dialog_->visiblespaceCB->setEnabled(false);
73 if (cmdname == "input")
74 dialog_->inputRB->setChecked(true);
75 else if (cmdname == "include")
76 dialog_->includeRB->setChecked(true);
77 else if (!cmdname.empty()) {
78 dialog_->verbatimRB->setChecked(true);
79 dialog_->visiblespaceCB->setChecked(cmdname == "verbatiminput*");
80 dialog_->visiblespaceCB->setEnabled(true);
84 dialog_->includeRB->setChecked(true);
88 void QInclude::apply()
90 controller().params().noload = dialog_->typesetCB->isChecked();
92 controller().params().cparams.
93 setContents(dialog_->filenameED->text().latin1());
95 if (dialog_->inputRB->isChecked())
96 controller().params().flag = InsetInclude::INPUT;
97 else if (dialog_->includeRB->isChecked())
98 controller().params().flag = InsetInclude::INCLUDE;
100 if (dialog_->visiblespaceCB->isChecked())
101 controller().params().flag = InsetInclude::VERBAST;
103 controller().params().flag = InsetInclude::VERB;
108 void QInclude::browse()
110 ControlInclude::Type type;
112 if (dialog_->includeRB->isChecked())
113 type = ControlInclude::INCLUDE;
114 else if (dialog_->inputRB->isChecked())
115 type = ControlInclude::INPUT;
117 type = ControlInclude::VERBATIM;
119 string const & name = controller().Browse(dialog_->filenameED->text().latin1(), type);
121 dialog_->filenameED->setText(name.c_str());
125 void QInclude::load()
128 string const file(dialog_->filenameED->text().latin1());
130 controller().load(file);
135 bool QInclude::isValid()
137 return !string(dialog_->filenameED->text().latin1()).empty();