* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#include "frontends/alert.h"
#include "support/convert.h"
-#include "support/lyxalgo.h"
#include "support/gettext.h"
#include "support/lstrings.h"
+#include "support/lyxalgo.h"
using namespace std;
using namespace lyx::support;
"it will be changed to %2$s."), new_label, label));
}
+ buffer().undo().beginUndoGroup();
setParam("name", label);
if (updaterefs) {
Buffer::References & refs = buffer().references(old_label);
Buffer::References::iterator it = refs.begin();
Buffer::References::iterator end = refs.end();
- for (; it != end; ++it)
+ for (; it != end; ++it) {
+ buffer().undo().recordUndo(it->second);
it->first->setParam("reference", label);
+ }
}
+ buffer().undo().endUndoGroup();
// We need an update of the Buffer reference cache. This is achieved by
- // updateLabel().
- lyx::updateLabels(buffer());
+ // updateLabels().
+ buffer().updateLabels();
}
ParamInfo const & InsetLabel::findInfo(string const & /* cmdName */)
{
static ParamInfo param_info_;
- if (param_info_.empty()) {
+ if (param_info_.empty())
param_info_.add("name", ParamInfo::LATEX_REQUIRED);
- }
return param_info_;
}
}
-void InsetLabel::addToToc(ParConstIterator const & cpit) const
+void InsetLabel::addToToc(DocIterator const & cpit)
{
docstring const & label = getParam("name");
Toc & toc = buffer().tocBackend().toc("label");
Buffer::References::const_iterator it = refs.begin();
Buffer::References::const_iterator end = refs.end();
for (; it != end; ++it) {
- ParConstIterator const ref_pit(it->second);
+ DocIterator const ref_pit(it->second);
toc.push_back(TocItem(ref_pit, 1, it->first->screenLabel()));
}
}
case LFUN_INSET_MODIFY: {
InsetCommandParams p(LABEL_CODE);
// FIXME UNICODE
- InsetCommandMailer::string2params("label", to_utf8(cmd.argument()), p);
+ InsetCommand::string2params("label", to_utf8(cmd.argument()), p);
if (p.getCmdName().empty()) {
cur.noUpdate();
break;
}
- updateCommand(p["name"]);
+ if (p["name"] != params()["name"])
+ updateCommand(p["name"]);
break;
}