From 779de95709fd77fe1748e7aec06fef3d7c700d9f Mon Sep 17 00:00:00 2001 From: Dekel Tsur Date: Mon, 16 Jul 2001 14:11:35 +0000 Subject: [PATCH] Generate an error dialog if there are unknown layouts. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@2247 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/ChangeLog | 5 +++++ src/buffer.C | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 3a6ad87ba2..c3bbb2f8e6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2001-07-13 Dekel Tsur + + * buffer.C (readLyXformat2): Generate an error dialog if there are + unknown layouts. + 2001-07-16 Juergen Vigna * sp_spell.C: always compile ISpell part. diff --git a/src/buffer.C b/src/buffer.C index f92beccb91..0260aac4a6 100644 --- a/src/buffer.C +++ b/src/buffer.C @@ -298,6 +298,7 @@ ErtComp ert_comp; } // anon +set unknown_layouts; // candidate for move to BufferView // (at least some parts in the beginning of the func) @@ -309,6 +310,7 @@ ErtComp ert_comp; // Returns false if "\the_end" is not read for formats >= 2.13. (Asger) bool Buffer::readLyXformat2(LyXLex & lex, Paragraph * par) { + unknown_layouts.clear(); #ifdef NO_LATEX ert_comp.contents.erase(); ert_comp.active = false; @@ -363,7 +365,20 @@ bool Buffer::readLyXformat2(LyXLex & lex, Paragraph * par) first_par = par; paragraph = first_par; - + + if (!unknown_layouts.empty()) { + string list; + for (set::const_iterator it = unknown_layouts.begin(); + it != unknown_layouts.end(); ++it) { + if (it != unknown_layouts.begin()) + list += ", "; + list += *it; + } + WriteAlert(_("Textclass Loading Error!"), + _("The following layouts are undefined:"), + list+"."); + } + return the_end_read; } @@ -505,6 +520,7 @@ Buffer::parseSingleLyXformat2Token(LyXLex & lex, Paragraph *& par, // layout not found // use default layout "Standard" (0) par->layout = 0; + unknown_layouts.insert(layoutname); } // Test whether the layout is obsolete. LyXLayout const & layout =