Pavel Sanda wrote:
hi,
translation of the following line of .po has no effect for me:
#: lib/layouts/stdlayouts.inc:73
msgid "--- Separate Environment ---"
Could you try this patch?
Abdel.
Index: src/BufferView.h
===================================================================
--- src/BufferView.h (revision 19003)
+++ src/BufferView.h (working copy)
@@ -242,7 +242,7 @@
std::string data)> updateDialog;
/// This signal is emitted when the layout at the cursor is changed.
- boost::signal<void(std::string layout)> layoutChanged;
+ boost::signal<void(docstring layout)> layoutChanged;
private:
///
Index: src/CutAndPaste.cpp
===================================================================
--- src/CutAndPaste.cpp (revision 19003)
+++ src/CutAndPaste.cpp (working copy)
@@ -423,7 +423,7 @@
// layouts
ParIterator end = par_iterator_end(in);
for (ParIterator it = par_iterator_begin(in); it != end; ++it) {
- string const name = it->layout()->name();
+ docstring const name = it->layout()->name();
bool hasLayout = tclass2.hasLayout(name);
if (hasLayout)
@@ -435,7 +435,7 @@
docstring const s = bformat(
_("Layout had to be changed
from\n%1$s to %2$s\n"
"because of class conversion
from\n%3$s to %4$s"),
- from_utf8(name), from_utf8(it->layout()->name()),
+ name, it->layout()->name(),
from_utf8(tclass1.name()), from_utf8(tclass2.name()));
// To warn the user that something had to be done.
errorlist.push_back(ErrorItem(_("Changed Layout"), s,
Index: src/factory.cpp
===================================================================
--- src/factory.cpp (revision 19003)
+++ src/factory.cpp (working copy)
@@ -228,7 +228,7 @@
return new
InsetTOC(InsetCommandParams("tableofcontents"));
case LFUN_ENVIRONMENT_INSERT:
- return new InsetEnvironment(params,
to_utf8(cmd.argument()));
+ return new InsetEnvironment(params, cmd.argument());
#if 0
case LFUN_LIST_INSERT:
@@ -491,7 +491,7 @@
inset.reset(new InsetInclude(p));
} else if (tmptok == "Environment") {
lex.next();
- inset.reset(new InsetEnvironment(buf.params(),
lex.getString()));
+ inset.reset(new InsetEnvironment(buf.params(),
lex.getDocString()));
} else if (tmptok == "ERT") {
inset.reset(new InsetERT(buf.params()));
} else if (tmptok == "listings") {
Index: src/frontends/LyXView.cpp
===================================================================
--- src/frontends/LyXView.cpp (revision 19003)
+++ src/frontends/LyXView.cpp (working copy)
@@ -68,7 +68,7 @@
using lyx::frontend::ControlCommandBuffer;
-string current_layout;
+docstring current_layout;
LyXView::LyXView(int id)
@@ -462,7 +462,7 @@
}
BOOST_ASSERT(work_area_);
- string const & layout = work_area_->bufferView().cursor().
+ docstring const & layout = work_area_->bufferView().cursor().
innerParagraph().layout()->name();
if (layout != current_layout) {
Index: src/frontends/qt4/QDocument.cpp
===================================================================
--- src/frontends/qt4/QDocument.cpp (revision 19003)
+++ src/frontends/qt4/QDocument.cpp (working copy)
@@ -852,7 +852,7 @@
if (toclevel != Layout::NOT_IN_TOC
&& (*cit)->labeltype == LABEL_COUNTER) {
item = new QTreeWidgetItem(numberingModule->tocTW);
- item->setText(0, qt_((*cit)->name()));
+ item->setText(0,
toqstr(translateIfPossible((*cit)->name())));
item->setText(1, (toclevel <= depth) ? yes : no);
item->setText(2, (toclevel <= toc) ? yes : no);
}
Index: src/frontends/qt4/QLToolbar.cpp
===================================================================
--- src/frontends/qt4/QLToolbar.cpp (revision 19003)
+++ src/frontends/qt4/QLToolbar.cpp (working copy)
@@ -81,11 +81,11 @@
}
-void QLayoutBox::set(string const & layout)
+void QLayoutBox::set(docstring const & layout)
{
TextClass const & tc = getTextClass(owner_);
- QString const & name = qt_(tc[layout]->name());
+ QString const & name = toqstr(translateIfPossible(tc[layout]->name()));
int i = 0;
for (; i < combo_->count(); ++i) {
@@ -116,7 +116,7 @@
for (; it != end; ++it) {
// ignore obsolete entries
if ((*it)->obsoleted_by().empty())
- combo_->addItem(qt_((*it)->name()));
+
combo_->addItem(toqstr(translateIfPossible((*it)->name())));
}
// needed to recalculate size hint
@@ -152,11 +152,9 @@
void QLayoutBox::selected(const QString & str)
{
- string const sel = fromqstr(str);
-
owner_.setFocus();
- layoutSelected(owner_, sel);
+ layoutSelected(owner_, qstring_to_ucs4(str));
}
Index: src/frontends/qt4/QLToolbar.h
===================================================================
--- src/frontends/qt4/QLToolbar.h (revision 19003)
+++ src/frontends/qt4/QLToolbar.h (working copy)
@@ -40,7 +40,7 @@
QLayoutBox(QToolBar *, GuiView &);
/// select the right layout in the combox.
- void set(std::string const & layout);
+ void set(docstring const & layout);
/// Populate the layout combox.
void update();
/// Erase the layout list.
Index: src/frontends/Toolbars.cpp
===================================================================
--- src/frontends/Toolbars.cpp (revision 19003)
+++ src/frontends/Toolbars.cpp (working copy)
@@ -292,7 +292,7 @@
}
-void Toolbars::setLayout(string const & layout)
+void Toolbars::setLayout(docstring const & layout)
{
if (layout_)
layout_->set(layout);
@@ -370,16 +370,15 @@
}
-void layoutSelected(LyXView & lv, string const & name)
+void layoutSelected(LyXView & lv, docstring const & name)
{
TextClass const & tc = lv.buffer()->params().getTextClass();
TextClass::const_iterator it = tc.begin();
TextClass::const_iterator const end = tc.end();
for (; it != end; ++it) {
- string const & itname = (*it)->name();
- // Yes, the lyx::to_utf8(_()) is correct
- if (lyx::to_utf8(_(itname)) == name) {
+ docstring const & itname = (*it)->name();
+ if (translateIfPossible(itname) == name) {
FuncRequest const func(LFUN_LAYOUT, itname,
FuncRequest::TOOLBAR);
lv.dispatch(func);
Index: src/frontends/Toolbars.h
===================================================================
--- src/frontends/Toolbars.h (revision 19003)
+++ src/frontends/Toolbars.h (working copy)
@@ -37,7 +37,7 @@
public:
virtual ~LayoutBox() {}
/// Select the correct layout in the combox.
- virtual void set(std::string const & layout) = 0;
+ virtual void set(docstring const & layout) = 0;
/// Populate the layout combox.
virtual void update() = 0;
/// Erase the layout list.
@@ -108,7 +108,7 @@
void saveToolbarInfo();
/// Select the right layout in the combox.
- void setLayout(std::string const & layout);
+ void setLayout(docstring const & layout);
/** Populate the layout combox - returns whether we did a full
* update or not
@@ -155,7 +155,7 @@
};
/// Set the layout in the kernel when an entry has been selected
-void layoutSelected(LyXView & lv, std::string const & name);
+void layoutSelected(LyXView & lv, docstring const & name);
} // namespace lyx
Index: src/insets/InsetEnvironment.cpp
===================================================================
--- src/insets/InsetEnvironment.cpp (revision 19003)
+++ src/insets/InsetEnvironment.cpp (working copy)
@@ -27,8 +27,8 @@
InsetEnvironment::InsetEnvironment
- (BufferParams const & bp, string const & name)
- : InsetText(bp), layout_(bp.getTextClass()[name]),
name_(from_utf8(name))
+ (BufferParams const & bp, docstring const & name)
+ : InsetText(bp), layout_(bp.getTextClass()[name]), name_(name)
{
setAutoBreakRows(true);
setDrawFrame(true);
Index: src/insets/InsetEnvironment.h
===================================================================
--- src/insets/InsetEnvironment.h (revision 19003)
+++ src/insets/InsetEnvironment.h (working copy)
@@ -21,7 +21,7 @@
class InsetEnvironment : public InsetText {
public:
///
- InsetEnvironment(BufferParams const &, std::string const & name);
+ InsetEnvironment(BufferParams const &, docstring const & name);
///
docstring name() const { return name_; }
///
Index: src/LaTeXFeatures.cpp
===================================================================
--- src/LaTeXFeatures.cpp (revision 19003)
+++ src/LaTeXFeatures.cpp (working copy)
@@ -254,7 +254,7 @@
}
-void LaTeXFeatures::useLayout(string const & layoutname)
+void LaTeXFeatures::useLayout(docstring const & layoutname)
{
// Some code to avoid loops in dependency definition
static int level = 0;
@@ -262,15 +262,15 @@
if (level > maxlevel) {
lyxerr << "LaTeXFeatures::useLayout: maximum level of "
<< "recursion attained by layout "
- << layoutname << endl;
+ << to_utf8(layoutname) << endl;
return;
}
TextClass const & tclass = params_.getTextClass();
if (tclass.hasLayout(layoutname)) {
// Is this layout already in usedLayouts?
- list<string>::const_iterator cit = usedLayouts_.begin();
- list<string>::const_iterator end = usedLayouts_.end();
+ list<docstring>::const_iterator cit = usedLayouts_.begin();
+ list<docstring>::const_iterator end = usedLayouts_.end();
for (; cit != end; ++cit) {
if (layoutname == *cit)
return;
@@ -285,7 +285,7 @@
usedLayouts_.push_back(layoutname);
} else {
lyxerr << "LaTeXFeatures::useLayout: layout `"
- << layoutname << "' does not exist in this class"
+ << to_utf8(layoutname) << "' does not exist in this
class"
<< endl;
}
@@ -712,8 +712,8 @@
tcpreamble << tclass.preamble();
- list<string>::const_iterator cit = usedLayouts_.begin();
- list<string>::const_iterator end = usedLayouts_.end();
+ list<docstring>::const_iterator cit = usedLayouts_.begin();
+ list<docstring>::const_iterator end = usedLayouts_.end();
for (; cit != end; ++cit) {
tcpreamble << tclass[*cit]->preamble();
}
Index: src/LaTeXFeatures.h
===================================================================
--- src/LaTeXFeatures.h (revision 19003)
+++ src/LaTeXFeatures.h (working copy)
@@ -91,7 +91,7 @@
///
std::set<std::string> getEncodingSet(std::string const & doc_encoding)
const;
///
- void useLayout(std::string const & lyt);
+ void useLayout(docstring const & lyt);
///
Buffer const & buffer() const;
///
@@ -104,7 +104,7 @@
OutputParams const & runparams() const { return runparams_; }
private:
- std::list<std::string> usedLayouts_;
+ std::list<docstring> usedLayouts_;
/// Static preamble bits from the external material insets
typedef std::list<std::string> FeaturesList;
Index: src/Layout.cpp
===================================================================
--- src/Layout.cpp (revision 19003)
+++ src/Layout.cpp (working copy)
@@ -212,16 +212,16 @@
case LT_COPYSTYLE: // initialize with a known style
if (lexrc.next()) {
- string const style = subst(lexrc.getString(),
+ docstring const style =
subst(lexrc.getDocString(),
'_', ' ');
if (tclass.hasLayout(style)) {
- string const tmpname = name_;
+ docstring const tmpname = name_;
this->operator=(*tclass[style]);
name_ = tmpname;
} else {
lyxerr << "Cannot copy unknown style `"
- << style << "'\n"
+ << to_utf8(style) << "'\n"
<< "All layouts so far:"
<< endl;
TextClass::const_iterator it =
@@ -229,7 +229,7 @@
TextClass::const_iterator end =
tclass.end();
for (; it != end; ++it) {
- lyxerr << (*it)->name()
+ lyxerr << to_utf8((*it)->name())
<< endl;
}
@@ -241,16 +241,17 @@
case LT_OBSOLETEDBY: // replace with a known style
if (lexrc.next()) {
- string const style = lexrc.getString();
+ docstring const style = lexrc.getDocString();
if (tclass.hasLayout(style)) {
- string const tmpname = name_;
+ docstring const tmpname = name_;
this->operator=(*tclass[style]);
name_ = tmpname;
if (obsoleted_by().empty())
obsoleted_by_ = style;
} else {
- lyxerr << "Cannot replace with unknown
style `" << style << '\'' << endl;
+ lyxerr << "Cannot replace with unknown
style `"
+ << to_utf8(style) << '\'' <<
endl;
//lexrc.printError("Cannot replace with"
// " unknown style "
@@ -261,7 +262,7 @@
case LT_DEPENDSON:
if (lexrc.next())
- depends_on_ = lexrc.getString();
+ depends_on_ = lexrc.getDocString();
break;
case LT_MARGIN: // margin style definition.
@@ -797,33 +798,34 @@
}
-string const & Layout::name() const
+docstring const & Layout::name() const
{
return name_;
}
-void Layout::setName(string const & n)
+void Layout::setName(docstring const & n)
{
name_ = n;
}
-string const & Layout::obsoleted_by() const
+docstring const & Layout::obsoleted_by() const
{
return obsoleted_by_;
}
-string const & Layout::depends_on() const
+docstring const & Layout::depends_on() const
{
return depends_on_;
}
+
Layout * Layout::forCaption()
{
Layout * lay = new Layout();
- lay->name_ = "Caption";
+ lay->name_ = from_ascii("Caption");
lay->latexname_ = "caption";
lay->latextype = LATEX_COMMAND;
lay->optionalargs = 1;
Index: src/Layout.h
===================================================================
--- src/Layout.h (revision 19003)
+++ src/Layout.h (working copy)
@@ -188,13 +188,13 @@
///
void readSpacing(Lexer &);
///
- std::string const & name() const;
+ docstring const & name() const;
///
- void setName(std::string const & n);
+ void setName(docstring const & n);
///
- std::string const & obsoleted_by() const;
+ docstring const & obsoleted_by() const;
///
- std::string const & depends_on() const;
+ docstring const & depends_on() const;
///
std::string const & latexname() const { return latexname_; }
///
@@ -345,19 +345,19 @@
private:
/// Name of the layout/paragraph environment
- std::string name_;
+ docstring name_;
/** Name of an layout that has replaced this layout.
This is used to rename a layout, while keeping backward
compatibility
*/
- std::string obsoleted_by_;
+ docstring obsoleted_by_;
/** Name of an layout which preamble must come before this one
This is used when the preamble snippet uses macros defined in
another preamble
*/
- std::string depends_on_;
+ docstring depends_on_;
/// LaTeX name for environment
std::string latexname_;
Index: src/output_plaintext.cpp
===================================================================
--- src/output_plaintext.cpp (revision 19003)
+++ src/output_plaintext.cpp (working copy)
@@ -89,7 +89,7 @@
depth_type depth = par.params().depth();
// First write the layout
- string const & tmp = par.layout()->name();
+ string const tmp = to_utf8(par.layout()->name());
if (compare_ascii_no_case(tmp, "itemize") == 0) {
ltype = 1;
ltype_depth = depth + 1;
Index: src/Paragraph.cpp
===================================================================
--- src/Paragraph.cpp (revision 19003)
+++ src/Paragraph.cpp (working copy)
@@ -1110,7 +1110,7 @@
}
// First write the layout
- os << "\n\\begin_layout " << layout()->name() << '\n';
+ os << "\n\\begin_layout " << to_utf8(layout()->name()) << '\n';
params().write(os);
@@ -1640,8 +1640,7 @@
size_t const j = fmt.find('@', i + 1);
if (j != docstring::npos) {
docstring parent(fmt, i + 1, j - i - 1);
- // FIXME UNICODE
- docstring label = expandLabel(tclass[to_utf8(parent)],
bparams);
+ docstring label = expandLabel(tclass[parent], bparams);
fmt = docstring(fmt, 0, i) + label + docstring(fmt, j +
1, docstring::npos);
}
}
Index: src/tex2lyx/Context.cpp
===================================================================
--- src/tex2lyx/Context.cpp (revision 19003)
+++ src/tex2lyx/Context.cpp (working copy)
@@ -28,7 +28,7 @@
void begin_layout(ostream & os, Layout_ptr layout, TeXFont const & font,
TeXFont const & normalfont)
{
- os << "\n\\begin_layout " << layout->name() << "\n";
+ os << "\n\\begin_layout " << to_utf8(layout->name()) << "\n";
// FIXME: This is not enough for things like
// \\Huge par1 \\par par2
output_font_change(os, normalfont, font);
@@ -231,8 +231,8 @@
if (!extra_stuff.empty())
os << "extrastuff=[" << extra_stuff << "] ";
os << "textclass=" << textclass.name()
- << " layout=" << layout->name()
- << " parent_layout=" << parent_layout->name() << "] font=["
+ << " layout=" << to_utf8(layout->name())
+ << " parent_layout=" << to_utf8(parent_layout->name()) << "] font=["
<< font.size << ' ' << font.family << ' ' << font.series << ' '
<< font.shape << ']' << endl;
}
Index: src/tex2lyx/text.cpp
===================================================================
--- src/tex2lyx/text.cpp (revision 19003)
+++ src/tex2lyx/text.cpp (working copy)
@@ -1051,7 +1051,7 @@
}
if (!scrap || !context.new_layout_allowed ||
- !context.textclass.hasLayout("Scrap")) {
+ !context.textclass.hasLayout(from_ascii("Scrap"))) {
cerr << "Warning: Could not interpret '" << name
<< "'. Ignoring it." << endl;
return;
@@ -1064,7 +1064,8 @@
// noweb code chunks are implemented with a layout style in LyX they
// always must be in an own paragraph.
context.new_paragraph(os);
- Context newcontext(true, context.textclass, context.textclass["Scrap"]);
+ Context newcontext(true, context.textclass,
+ context.textclass[from_ascii("Scrap")]);
newcontext.check_layout(os);
os << name;
while (p.good()) {
Index: src/Text.cpp
===================================================================
--- src/Text.cpp (revision 19003)
+++ src/Text.cpp (working copy)
@@ -118,7 +118,7 @@
#endif
} else if (token == "\\begin_layout") {
lex.eatLine();
- string layoutname = lex.getString();
+ docstring layoutname = lex.getDocString();
font = Font(Font::ALL_INHERIT, bp.language);
change = Change(Change::UNCHANGED);
@@ -134,7 +134,7 @@
if (!hasLayout) {
errorList.push_back(ErrorItem(_("Unknown layout"),
bformat(_("Layout '%1$s' does not exist in textclass
'%2$s'\nTrying to use the default instead.\n"),
- from_utf8(layoutname), from_utf8(tclass.name())),
par.id(), 0, par.size()));
+ layoutname, from_utf8(tclass.name())), par.id(), 0,
par.size()));
layoutname = tclass.defaultLayoutName();
}
Index: src/Text.h
===================================================================
--- src/Text.h (revision 19003)
+++ src/Text.h (working copy)
@@ -81,10 +81,10 @@
/// set layout over selection
void setLayout(Buffer const & buffer, pit_type start, pit_type end,
- std::string const & layout);
+ docstring const & layout);
/// Set given layout to current cursor position.
/// FIXME: replace Cursor with DocIterator.
- void setLayout(Cursor & cur, std::string const & layout);
+ void setLayout(Cursor & cur, docstring const & layout);
/// what type of depth change to make
enum DEPTH_CHANGE {
Index: src/Text2.cpp
===================================================================
--- src/Text2.cpp (revision 19003)
+++ src/Text2.cpp (working copy)
@@ -358,7 +358,7 @@
void Text::setLayout(Buffer const & buffer, pit_type start, pit_type end,
- string const & layout)
+ docstring const & layout)
{
BOOST_ASSERT(start != end);
@@ -376,7 +376,7 @@
// set layout over selection and make a total rebreak of those paragraphs
-void Text::setLayout(Cursor & cur, string const & layout)
+void Text::setLayout(Cursor & cur, docstring const & layout)
{
BOOST_ASSERT(this == cur.text());
// special handling of new environment insets
@@ -385,7 +385,7 @@
Layout_ptr const & lyxlayout = params.getTextClass()[layout];
if (lyxlayout->is_environment) {
// move everything in a new environment inset
- LYXERR(Debug::DEBUG) << "setting layout " << layout << endl;
+ LYXERR(Debug::DEBUG) << "setting layout " << to_utf8(layout) <<
endl;
lyx::dispatch(FuncRequest(LFUN_LINE_BEGIN));
lyx::dispatch(FuncRequest(LFUN_LINE_END_SELECT));
lyx::dispatch(FuncRequest(LFUN_CUT));
Index: src/Text3.cpp
===================================================================
--- src/Text3.cpp (revision 19003)
+++ src/Text3.cpp (working copy)
@@ -90,7 +90,7 @@
using std::ostringstream;
-extern string current_layout;
+extern docstring current_layout;
namespace {
@@ -882,12 +882,12 @@
break;
case LFUN_SERVER_GET_LAYOUT:
- cur.message(from_utf8(cur.paragraph().layout()->name()));
+ cur.message(cur.paragraph().layout()->name());
break;
case LFUN_LAYOUT: {
- string layout = to_ascii(cmd.argument());
- LYXERR(Debug::INFO) << "LFUN_LAYOUT: (arg) " << layout << endl;
+ docstring layout = cmd.argument();
+ LYXERR(Debug::INFO) << "LFUN_LAYOUT: (arg) " << to_utf8(layout)
<< endl;
// Derive layout number from given argument (string)
// and current buffer's textclass (number)
@@ -898,7 +898,7 @@
// If the entry is obsolete, use the new one instead.
if (hasLayout) {
- string const & obs = tclass[layout]->obsoleted_by();
+ docstring const & obs = tclass[layout]->obsoleted_by();
if (!obs.empty())
layout = obs;
}
Index: src/TextClass.cpp
===================================================================
--- src/TextClass.cpp (revision 19003)
+++ src/TextClass.cpp (working copy)
@@ -18,9 +18,12 @@
#include "debug.h"
#include "Lexer.h"
#include "Counters.h"
+#include "gettext.h"
#include "Floating.h"
#include "FloatList.h"
+#include "frontends/alert.h"
+
#include "support/lstrings.h"
#include "support/lyxlib.h"
#include "support/filetools.h"
@@ -53,7 +56,7 @@
class LayoutNamesEqual : public std::unary_function<Layout_ptr, bool> {
public:
- LayoutNamesEqual(string const & name)
+ LayoutNamesEqual(docstring const & name)
: name_(name)
{}
bool operator()(Layout_ptr const & c) const
@@ -61,7 +64,7 @@
return c->name() == name_;
}
private:
- string name_;
+ docstring name_;
};
@@ -127,7 +130,7 @@
bool TextClass::do_readStyle(Lexer & lexrc, Layout & lay)
{
- LYXERR(Debug::TCLASS) << "Reading style " << lay.name() << endl;
+ LYXERR(Debug::TCLASS) << "Reading style " << to_utf8(lay.name()) <<
endl;
if (!lay.read(lexrc, *this)) {
// Resolve fonts
lay.resfont = lay.font;
@@ -136,7 +139,7 @@
lay.reslabelfont.realize(defaultfont());
return false; // no errors
}
- lyxerr << "Error parsing style `" << lay.name() << '\'' << endl;
+ lyxerr << "Error parsing style `" << to_utf8(lay.name()) << '\'' <<
endl;
return true;
}
@@ -271,8 +274,8 @@
case TC_DEFAULTSTYLE:
if (lexrc.next()) {
- string const name = subst(lexrc.getString(),
- '_', ' ');
+ docstring const name =
from_utf8(subst(lexrc.getString(),
+ '_', ' '));
defaultlayout_ = name;
}
break;
@@ -280,9 +283,15 @@
case TC_ENVIRONMENT:
case TC_STYLE:
if (lexrc.next()) {
- string const name = subst(lexrc.getString(),
- '_', ' ');
- if (hasLayout(name)) {
+ docstring const name =
from_utf8(subst(lexrc.getString(),
+ '_', ' '));
+ if (name.empty()) {
+ string s = "Could not read name for
style: `$$Token' "
+ + lexrc.getString() + " is
probably not valid UTF-8!";
+ lexrc.printError(s.c_str());
+ Layout lay;
+ error = do_readStyle(lexrc, lay);
+ } else if (hasLayout(name)) {
Layout * lay = operator[](name).get();
error = do_readStyle(lexrc, *lay);
} else {
@@ -313,11 +322,11 @@
case TC_NOSTYLE:
if (lexrc.next()) {
- string const style = subst(lexrc.getString(),
- '_', ' ');
+ docstring const style =
from_utf8(subst(lexrc.getString(),
+ '_', ' '));
if (!delete_layout(style))
lyxerr << "Cannot delete style `"
- << style << '\'' << endl;
+ << to_utf8(style) << '\'' <<
endl;
// lexrc.printError("Cannot delete style"
// " `$$Token'");
}
@@ -850,9 +859,9 @@
}
-bool TextClass::hasLayout(string const & n) const
+bool TextClass::hasLayout(docstring const & n) const
{
- string const name = (n.empty() ? defaultLayoutName() : n);
+ docstring const name = n.empty() ? defaultLayoutName() : n;
return find_if(layoutlist_.begin(), layoutlist_.end(),
LayoutNamesEqual(name))
@@ -861,7 +870,7 @@
-Layout_ptr const & TextClass::operator[](string const & name) const
+Layout_ptr const & TextClass::operator[](docstring const & name) const
{
BOOST_ASSERT(!name.empty());
@@ -871,12 +880,12 @@
LayoutNamesEqual(name));
if (cit == layoutlist_.end()) {
- lyxerr << "We failed to find the layout '" << name
+ lyxerr << "We failed to find the layout '" << to_utf8(name)
<< "' in the layout list. You MUST investigate!"
<< endl;
for (LayoutList::const_iterator it = layoutlist_.begin();
it != layoutlist_.end(); ++it)
- lyxerr << " " << it->get()->name() << endl;
+ lyxerr << " " << to_utf8(it->get()->name()) << endl;
// we require the name to exist
BOOST_ASSERT(false);
@@ -887,7 +896,7 @@
-bool TextClass::delete_layout(string const & name)
+bool TextClass::delete_layout(docstring const & name)
{
if (name == defaultLayoutName())
return false;
@@ -959,7 +968,7 @@
}
-string const & TextClass::defaultLayoutName() const
+docstring const & TextClass::defaultLayoutName() const
{
// This really should come from the actual layout... (Lgb)
return defaultlayout_;
Index: src/TextClass.h
===================================================================
--- src/TextClass.h (revision 19003)
+++ src/TextClass.h (working copy)
@@ -83,10 +83,10 @@
///
void readCounter(Lexer &);
///
- bool hasLayout(std::string const & name) const;
+ bool hasLayout(docstring const & name) const;
///
- Layout_ptr const & operator[](std::string const & vname) const;
+ Layout_ptr const & operator[](docstring const & vname) const;
/// Sees to that the textclass structure has been loaded
bool load(std::string const & path = std::string()) const;
@@ -104,7 +104,7 @@
/// Retrieve element of name s:
CharStyles::iterator charstyle(std::string const & s) const;
///
- std::string const & defaultLayoutName() const;
+ docstring const & defaultLayoutName() const;
///
Layout_ptr const & defaultLayout() const;
///
@@ -172,7 +172,7 @@
bool hasTocLevels() const;
private:
///
- bool delete_layout(std::string const &);
+ bool delete_layout(docstring const &);
///
bool do_readStyle(Lexer &, Layout &);
/// Layout file name
@@ -192,7 +192,7 @@
///
std::string class_header_;
///
- std::string defaultlayout_;
+ docstring defaultlayout_;
/// preamble text to support layout styles
docstring preamble_;
/// latex packages loaded by document class.