From aff3907ec63d631a2e5911c5760f94111731db92 Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Wed, 20 Jan 2010 22:28:42 +0000 Subject: [PATCH] Fix output of formatted counters. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33122 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/layouts/stdcounters.inc | 16 ++++++++-------- src/Counters.cpp | 16 +++++++--------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/lib/layouts/stdcounters.inc b/lib/layouts/stdcounters.inc index d6e43bed3c..a31b3525be 100644 --- a/lib/layouts/stdcounters.inc +++ b/lib/layouts/stdcounters.inc @@ -11,32 +11,32 @@ Counter part End Counter chapter - PrettyFormat "Chapter \arabic{chapter}" + PrettyFormat "Chapter ##" End Counter section Within chapter - PrettyFormat "Section \arabic{section}" + PrettyFormat "Section ##" End Counter subsection Within section - PrettyFormat "Section \arabic{subsection}" + PrettyFormat "Section ##" End Counter subsubsection Within subsection - PrettyFormat "Section \arabic{subsubsection}" + PrettyFormat "Section ##" End Counter paragraph Within subsubsection - PrettyFormat "Paragraph \arabic{paragraph}" + PrettyFormat "Paragraph ##" End Counter subparagraph Within paragraph - PrettyFormat "Paragraph \arabic{subparagraph}" + PrettyFormat "Paragraph ##" End Counter enumi @@ -65,9 +65,9 @@ Counter listing End Counter equation - PrettyFormat "Equation \arabic{equation}" + PrettyFormat "Equation ##" End Counter footnote - PrettyFormat "Footnote \arabic{footnote}" + PrettyFormat "Footnote ##" End diff --git a/src/Counters.cpp b/src/Counters.cpp index c8e82ca393..d6865d107d 100644 --- a/src/Counters.cpp +++ b/src/Counters.cpp @@ -545,21 +545,19 @@ docstring Counters::counterLabel(docstring const & format, } -docstring Counters::prettyCounter(docstring const & counter, +docstring Counters::prettyCounter(docstring const & name, string const & lang) const { - CounterList::const_iterator it = counterList_.find(counter); + CounterList::const_iterator it = counterList_.find(name); if (it == counterList_.end()) return from_ascii("??"); Counter const & ctr = it->second; + + docstring const value = theCounter(name, lang); docstring const & format = ctr.prettyFormat(); - // FIXME We need to "flatten" the format to get proper output, - // but doing so will take a bit of work. - if (true || format.empty()) { - docstring cntrname = translateIfPossible(counter, lang); - return cntrname + " " + theCounter(counter, lang); - } - return counterLabel(format, lang); + if (format.empty()) + return value; + return subst(format, from_ascii("##"), value); } -- 2.39.2