#include <config.h>
#include "GuiBibitem.h"
-#include "ControlCommand.h"
+
#include "qt_helpers.h"
-#include "FuncRequest.h"
#include "insets/InsetCommand.h"
-#include <QCloseEvent>
#include <QLineEdit>
#include <QPushButton>
namespace frontend {
-GuiBibitem::GuiBibitem(LyXView & lv)
- : GuiDialog(lv, "bibitem"), Controller(this), params_("bibitem")
+GuiBibitem::GuiBibitem(QWidget * parent) : InsetParamsWidget(parent)
{
setupUi(this);
- setViewTitle(_("Bibliography Entry Settings"));
- setController(this, false);
-
- connect(okPB, SIGNAL(clicked()), this, SLOT(slotOK()));
- connect(closePB, SIGNAL(clicked()), this, SLOT(slotClose()));
connect(keyED, SIGNAL(textChanged(QString)),
- this, SLOT(change_adaptor()));
+ this, SIGNAL(changed()));
connect(labelED, SIGNAL(textChanged(QString)),
- this, SLOT(change_adaptor()));
-
- bc().setPolicy(ButtonPolicy::OkCancelReadOnlyPolicy);
- bc().setOK(okPB);
- bc().setCancel(closePB);
- bc().addReadOnly(keyED);
- bc().addReadOnly(labelED);
-}
-
-
-void GuiBibitem::change_adaptor()
-{
- changed();
-}
-
-
-void GuiBibitem::closeEvent(QCloseEvent *e)
-{
- slotClose();
- e->accept();
+ this, SIGNAL(changed()));
+ connect(literalCB, SIGNAL(clicked()),
+ this, SIGNAL(changed()));
}
-void GuiBibitem::updateContents()
+void GuiBibitem::paramsToDialog(Inset const * inset)
{
- keyED->setText(toqstr(params_["key"]));
- labelED->setText(toqstr(params_["label"]));
+ InsetCommand const * ic = static_cast<InsetCommand const *>(inset);
+ InsetCommandParams const & params = ic->params();
+ keyED->setText(toqstr(params["key"]));
+ labelED->setText(toqstr(params["label"]));
+ literalCB->setChecked(params["literal"] == "true");
}
-void GuiBibitem::applyView()
+docstring GuiBibitem::dialogToParams() const
{
- params_["key"] = qstring_to_ucs4(keyED->text());
- params_["label"] = qstring_to_ucs4(labelED->text());
+ InsetCommandParams params(insetCode());
+ params["key"] = qstring_to_ucs4(keyED->text());
+ params["label"] = qstring_to_ucs4(labelED->text());
+ params["literal"] = literalCB->isChecked()
+ ? from_ascii("true") : from_ascii("false");
+ return from_utf8(InsetCommand::params2string(params));
}
-bool GuiBibitem::isValid()
+bool GuiBibitem::checkWidgets(bool readonly) const
{
+ keyED->setReadOnly(readonly);
+ labelED->setReadOnly(readonly);
+ if (!InsetParamsWidget::checkWidgets())
+ return false;
return !keyED->text().isEmpty();
}
-
-bool GuiBibitem::initialiseParams(std::string const & data)
-{
- // The name passed with LFUN_INSET_APPLY is also the name
- // used to identify the mailer.
- InsetCommandMailer::string2params("bibitem", data, params_);
- return true;
-}
-
-
-void GuiBibitem::dispatchParams()
-{
- std::string const lfun = InsetCommandMailer::params2string("bibitem", params_);
- dispatch(FuncRequest(getLfun(), lfun));
-}
-
-
-Dialog * createGuiBibitem(LyXView & lv) { return new GuiBibitem(lv); }
-
-
} // namespace frontend
} // namespace lyx
-#include "GuiBibitem_moc.cpp"
+#include "moc_GuiBibitem.cpp"