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 <qcombobox.h>
28 typedef Qt2CB<ControlInclude, Qt2DB<QIncludeDialog> > base_class;
31 : base_class(_("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_->typeCO);
50 void QInclude::update_contents()
52 if (controller().params().noload) {
53 dialog_->filenameED->setText("");
54 dialog_->typesetCB->setChecked(false);
55 dialog_->visiblespaceCB->setChecked(false);
56 dialog_->visiblespaceCB->setEnabled(false);
57 //dialog_->typeCO->setEnabled(true);
61 dialog_->filenameED->setText(controller().params().cparams.getContents().c_str());
63 string const cmdname = controller().params().cparams.getCmdName();
66 dialog_->typesetCB->setChecked(controller().params().noload);
68 dialog_->visiblespaceCB->setChecked(false);
69 dialog_->visiblespaceCB->setEnabled(false);
71 if (cmdname == "input")
72 dialog_->typeCO->setCurrentItem(1);
73 else if (!cmdname.empty()) {
74 dialog_->typeCO->setCurrentItem(2);
75 dialog_->visiblespaceCB->setChecked(cmdname == "verbatiminput*");
76 dialog_->visiblespaceCB->setEnabled(true);
78 else dialog_->typeCO->setCurrentItem(0);
83 void QInclude::apply()
85 controller().params().noload = dialog_->typesetCB->isChecked();
87 controller().params().cparams.
88 setContents(dialog_->filenameED->text().latin1());
90 int const item = dialog_->typeCO->currentItem();
92 controller().params().flag = InsetInclude::INPUT;
94 controller().params().flag = InsetInclude::INCLUDE;
96 if (dialog_->visiblespaceCB->isChecked())
97 controller().params().flag = InsetInclude::VERBAST;
99 controller().params().flag = InsetInclude::VERB;
104 void QInclude::browse()
106 ControlInclude::Type type;
108 int const item = dialog_->typeCO->currentItem();
110 type = ControlInclude::INCLUDE;
112 type = ControlInclude::INPUT;
114 type = ControlInclude::VERBATIM;
116 string const & name = controller().Browse(dialog_->filenameED->text().latin1(), type);
118 dialog_->filenameED->setText(name.c_str());
122 void QInclude::load()
125 string const file(dialog_->filenameED->text().latin1());
127 controller().load(file);
132 bool QInclude::isValid()
134 return !string(dialog_->filenameED->text().latin1()).empty();