3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
9 * Full author contact details are available in file CREDITS.
15 #include "ControlCommand.h"
16 #include "qt_helpers.h"
18 #include "QNomenclDialog.h"
21 #include "ButtonController.h"
24 #include <QPushButton>
32 typedef QController<ControlCommand, QView<QNomenclDialog> > nomencl_base_class;
35 QNomencl::QNomencl(Dialog & parent, docstring const & title)
36 : nomencl_base_class(parent, title)
41 void QNomencl::build_dialog()
43 dialog_.reset(new QNomenclDialog(this));
45 bcview().setOK(dialog_->okPB);
46 bcview().setCancel(dialog_->closePB);
47 bcview().addReadOnly(dialog_->symbolED);
48 bcview().addReadOnly(dialog_->descriptionTE);
49 bcview().addReadOnly(dialog_->prefixED);
53 void QNomencl::update_contents()
55 dialog_->prefixED->setText(toqstr(controller().params()["prefix"]));
56 dialog_->symbolED->setText(toqstr(controller().params()["symbol"]));
57 QString description = toqstr(controller().params()["description"]);
58 description.replace("\\\\","\n");
59 dialog_->descriptionTE->setPlainText(description);
61 bc().valid(isValid());
65 void QNomencl::apply()
67 controller().params()["prefix"] = qstring_to_ucs4(dialog_->prefixED->text());
68 controller().params()["symbol"] = qstring_to_ucs4(dialog_->symbolED->text());
69 QString description = dialog_->descriptionTE->toPlainText();
70 description.replace('\n',"\\\\");
71 controller().params()["description"] = qstring_to_ucs4(description);
75 bool QNomencl::isValid()
77 QString const description = dialog_->descriptionTE->toPlainText();
78 return !dialog_->symbolED->text().isEmpty() && !description.isEmpty();
81 } // namespace frontend