/** * \file GuiIndex.cpp * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Angus Leeming * \author Martin Vermeer * \author Jürgen Spitzmüller * * Full author contact details are available in file CREDITS. */ #include #include "GuiIndex.h" #include "qt_helpers.h" #include "Buffer.h" #include "BufferParams.h" #include "FuncRequest.h" #include "IndicesList.h" #include using namespace std; namespace lyx { namespace frontend { GuiIndex::GuiIndex(GuiView & lv) : GuiDialog(lv, "index", qt_("Index Entry Settings")) { setupUi(this); connect(buttonBox, SIGNAL(clicked(QAbstractButton *)), this, SLOT(slotButtonBox(QAbstractButton *))); connect(indicesCO, SIGNAL(activated(int)), this, SLOT(change_adaptor())); bc().setPolicy(ButtonPolicy::NoRepeatedApplyReadOnlyPolicy); bc().setOK(buttonBox->button(QDialogButtonBox::Ok)); bc().setCancel(buttonBox->button(QDialogButtonBox::Cancel)); } void GuiIndex::change_adaptor() { changed(); } void GuiIndex::updateContents() { typedef IndicesList::const_iterator const_iterator; IndicesList const & indiceslist = buffer().params().indiceslist(); docstring const cur_index = params_.index; indicesCO->clear(); const_iterator const begin = indiceslist.begin(); const_iterator const end = indiceslist.end(); for (const_iterator it = begin; it != end; ++it) indicesCO->addItem(toqstr(it->index()), QVariant(toqstr(it->shortcut()))); int const pos = indicesCO->findData(toqstr(cur_index)); indicesCO->setCurrentIndex(pos); } void GuiIndex::applyView() { QString const index = indicesCO->itemData( indicesCO->currentIndex()).toString(); params_.index = qstring_to_ucs4(index); } bool GuiIndex::initialiseParams(string const & sdata) { InsetIndex::string2params(sdata, params_); return true; } void GuiIndex::clearParams() { params_ = InsetIndexParams(); } void GuiIndex::dispatchParams() { dispatch(FuncRequest(getLfun(), InsetIndex::params2string(params_))); } Dialog * createGuiIndex(GuiView & lv) { return new GuiIndex(lv); } } // namespace frontend } // namespace lyx #include "moc_GuiIndex.cpp"