lyx_view_->updateCompletion(false, false);
}
- lyx_view_->restartCursor();
+ if (lyx_view_)
+ lyx_view_->restartCursor();
}
}
-void loadTextClass(string const & name)
+void loadTextClass(string const & name, string const & buf_path)
{
- pair<bool, TextClassIndex> const tc_pair =
+ pair<bool, textclass_type> const tc_pair =
textclasslist.numberOfClass(name);
if (!tc_pair.first) {
return;
}
- TextClassIndex const tc = tc_pair.second;
+ textclass_type const tc = tc_pair.second;
- if (!textclasslist[tc].load()) {
+ if (!textclasslist[tc].load(buf_path)) {
docstring s = bformat(_("The document class %1$s."
"could not be loaded."),
from_utf8(textclasslist[tc].name()));
Buffer * buffer = lyx_view_->buffer();
- TextClassIndex oldClass = buffer->params().textClassIndex();
+ TextClassPtr oldClass = buffer->params().getTextClassPtr();
Cursor & cur = view()->cursor();
cur.recordUndoFullDocument();
case LFUN_LAYOUT_MODULES_CLEAR: {
BOOST_ASSERT(lyx_view_);
Buffer * buffer = lyx_view_->buffer();
- TextClassIndex oldClass = buffer->params().textClassIndex();
+ TextClassPtr oldClass = buffer->params().getTextClassPtr();
view()->cursor().recordUndoFullDocument();
buffer->params().clearLayoutModules();
buffer->params().makeTextClass();
case LFUN_LAYOUT_MODULE_ADD: {
BOOST_ASSERT(lyx_view_);
Buffer * buffer = lyx_view_->buffer();
- TextClassIndex oldClass = buffer->params().textClassIndex();
+ TextClassPtr oldClass = buffer->params().getTextClassPtr();
view()->cursor().recordUndoFullDocument();
buffer->params().addLayoutModule(argument);
buffer->params().makeTextClass();
BOOST_ASSERT(lyx_view_);
Buffer * buffer = lyx_view_->buffer();
- loadTextClass(argument);
+ loadTextClass(argument, buffer->filePath());
- pair<bool, TextClassIndex> const tc_pair =
+ pair<bool, textclass_type> const tc_pair =
textclasslist.numberOfClass(argument);
if (!tc_pair.first)
break;
- TextClassIndex const old_class = buffer->params().baseClass();
- TextClassIndex const new_class = tc_pair.second;
+ textclass_type const old_class = buffer->params().getBaseClass();
+ textclass_type const new_class = tc_pair.second;
if (old_class == new_class)
// nothing to do
break;
//Save the old, possibly modular, layout for use in conversion.
- TextClassIndex oldClass = buffer->params().textClassIndex();
+ TextClassPtr oldClass = buffer->params().getTextClassPtr();
view()->cursor().recordUndoFullDocument();
buffer->params().setBaseClass(new_class);
buffer->params().makeTextClass();
case LFUN_LAYOUT_RELOAD: {
BOOST_ASSERT(lyx_view_);
Buffer * buffer = lyx_view_->buffer();
- TextClassIndex oldClass = buffer->params().textClassIndex();
- TextClassIndex const tc = buffer->params().baseClass();
+ TextClassPtr oldClass = buffer->params().getTextClassPtr();
+ textclass_type const tc = buffer->params().getBaseClass();
textclasslist.reset(tc);
buffer->params().setBaseClass(tc);
buffer->params().makeTextClass();
}
case LFUN_TEXTCLASS_LOAD:
- loadTextClass(argument);
+ loadTextClass(argument, lyx_view_->buffer()->filePath());
break;
case LFUN_LYXRC_APPLY: {
}
-void LyXFunc::updateLayout(TextClassIndex const & oldlayout,
+void LyXFunc::updateLayout(TextClassPtr const & oldlayout,
Buffer * buffer)
{
lyx_view_->message(_("Converting document to new document class..."));
StableDocIterator backcur(view()->cursor());
ErrorList & el = buffer->errorList("Class Switch");
cap::switchBetweenClasses(
- oldlayout, buffer->params().textClassIndex(),
+ oldlayout, buffer->params().getTextClassPtr(),
static_cast<InsetText &>(buffer->inset()), el);
view()->setCursor(backcur.asDocIterator(&(buffer->inset())));