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 "QIncludeDialog.h"
16 #include "ControlInclude.h"
22 #include <qlineedit.h>
23 #include <qpushbutton.h>
24 #include <qcheckbox.h>
25 #include <qradiobutton.h>
27 typedef Qt2CB<ControlInclude, Qt2DB<QIncludeDialog> > base_class;
29 QInclude::QInclude(ControlInclude & c)
30 : base_class(c, _("Include"))
35 void QInclude::build_dialog()
37 dialog_.reset(new QIncludeDialog(this));
39 bc().setOK(dialog_->okPB);
40 bc().setCancel(dialog_->closePB);
41 bc().addReadOnly(dialog_->filenameED);
42 bc().addReadOnly(dialog_->browsePB);
43 bc().addReadOnly(dialog_->typesetCB);
44 bc().addReadOnly(dialog_->visiblespaceCB);
45 bc().addReadOnly(dialog_->includeRB);
46 bc().addReadOnly(dialog_->inputRB);
47 bc().addReadOnly(dialog_->verbatimRB);
51 void QInclude::update_contents()
53 if (controller().params().noload) {
54 dialog_->filenameED->setText("");
55 dialog_->typesetCB->setChecked(false);
56 dialog_->visiblespaceCB->setChecked(false);
57 dialog_->visiblespaceCB->setEnabled(false);
58 dialog_->includeRB->setChecked(true);
62 dialog_->filenameED->setText(controller().params().cparams.getContents().c_str());
64 string const cmdname = controller().params().cparams.getCmdName();
67 dialog_->typesetCB->setChecked(controller().params().noload);
69 dialog_->visiblespaceCB->setChecked(false);
70 dialog_->visiblespaceCB->setEnabled(false);
72 if (cmdname == "input")
73 dialog_->inputRB->setChecked(true);
74 else if (cmdname == "include")
75 dialog_->includeRB->setChecked(true);
76 else if (!cmdname.empty()) {
77 dialog_->verbatimRB->setChecked(true);
78 dialog_->visiblespaceCB->setChecked(cmdname == "verbatiminput*");
79 dialog_->visiblespaceCB->setEnabled(true);
83 dialog_->includeRB->setChecked(true);
87 void QInclude::apply()
89 controller().params().noload = dialog_->typesetCB->isChecked();
91 controller().params().cparams.
92 setContents(dialog_->filenameED->text().latin1());
94 if (dialog_->inputRB->isChecked())
95 controller().params().flag = InsetInclude::INPUT;
96 else if (dialog_->includeRB->isChecked())
97 controller().params().flag = InsetInclude::INCLUDE;
99 if (dialog_->visiblespaceCB->isChecked())
100 controller().params().flag = InsetInclude::VERBAST;
102 controller().params().flag = InsetInclude::VERB;
107 void QInclude::browse()
109 ControlInclude::Type type;
111 if (dialog_->includeRB->isChecked())
112 type = ControlInclude::INCLUDE;
113 else if (dialog_->inputRB->isChecked())
114 type = ControlInclude::INPUT;
116 type = ControlInclude::VERBATIM;
118 string const & name = controller().Browse(dialog_->filenameED->text().latin1(), type);
120 dialog_->filenameED->setText(name.c_str());
124 void QInclude::load()
127 string const file(dialog_->filenameED->text().latin1());
129 controller().load(file);
134 bool QInclude::isValid()
136 return !string(dialog_->filenameED->text().latin1()).empty();