mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 13:31:49 +00:00
Unicode: Avoid another from_utf8(to_utf8()) roundtrip
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15854 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
d78c8a0b0b
commit
1354f4b6d6
@ -1175,9 +1175,9 @@ string LCursor::currentState()
|
||||
}
|
||||
|
||||
|
||||
string LCursor::getPossibleLabel()
|
||||
docstring LCursor::getPossibleLabel()
|
||||
{
|
||||
return inMathed() ? "eq:" : text()->getPossibleLabel(*this);
|
||||
return inMathed() ? from_ascii("eq:") : text()->getPossibleLabel(*this);
|
||||
}
|
||||
|
||||
|
||||
|
@ -289,7 +289,7 @@ public:
|
||||
/// display an error message
|
||||
void errorMessage(docstring const & msg) const;
|
||||
///
|
||||
std::string getPossibleLabel();
|
||||
docstring getPossibleLabel();
|
||||
|
||||
/// moves position somehow up or down
|
||||
bool goUpDown(bool up);
|
||||
|
@ -322,7 +322,7 @@ public:
|
||||
///
|
||||
double spacing(Buffer const & buffer, Paragraph const & par) const;
|
||||
/// make a suggestion for a label
|
||||
std::string getPossibleLabel(LCursor & cur) const;
|
||||
docstring getPossibleLabel(LCursor & cur) const;
|
||||
/// is this paragraph right-to-left?
|
||||
bool isRTL(Buffer const &, Paragraph const & par) const;
|
||||
///
|
||||
|
15
src/text.C
15
src/text.C
@ -2355,7 +2355,7 @@ string LyXText::currentState(LCursor & cur)
|
||||
}
|
||||
|
||||
|
||||
string LyXText::getPossibleLabel(LCursor & cur) const
|
||||
docstring LyXText::getPossibleLabel(LCursor & cur) const
|
||||
{
|
||||
pit_type pit = cur.pit();
|
||||
|
||||
@ -2369,7 +2369,7 @@ string LyXText::getPossibleLabel(LCursor & cur) const
|
||||
}
|
||||
}
|
||||
|
||||
string name = layout->latexname();
|
||||
docstring name = from_ascii(layout->latexname());
|
||||
|
||||
// for captions, we want the abbreviation of the float type
|
||||
if (layout->labeltype == LABEL_SENSITIVE) {
|
||||
@ -2378,26 +2378,25 @@ string LyXText::getPossibleLabel(LCursor & cur) const
|
||||
InsetBase * const in = &cur[i].inset();
|
||||
if (in->lyxCode() == InsetBase::FLOAT_CODE
|
||||
|| in->lyxCode() == InsetBase::WRAP_CODE) {
|
||||
name = to_utf8(in->getInsetName());
|
||||
name = in->getInsetName();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
string text = name.substr(0, 3);
|
||||
docstring text = name.substr(0, 3);
|
||||
if (name == "theorem")
|
||||
text = "thm"; // Create a correct prefix for prettyref
|
||||
text = from_ascii("thm"); // Create a correct prefix for prettyref
|
||||
|
||||
text += ':';
|
||||
if (layout->latextype == LATEX_PARAGRAPH || lyxrc.label_init_length < 0)
|
||||
text.erase();
|
||||
|
||||
// FIXME UNICODE
|
||||
string par_text = to_utf8(pars_[pit].asString(cur.buffer(), false));
|
||||
docstring par_text = pars_[pit].asString(cur.buffer(), false);
|
||||
for (int i = 0; i < lyxrc.label_init_length; ++i) {
|
||||
if (par_text.empty())
|
||||
break;
|
||||
string head;
|
||||
docstring head;
|
||||
par_text = split(par_text, head, ' ');
|
||||
// Is it legal to use spaces in labels ?
|
||||
if (i > 0)
|
||||
|
@ -1105,8 +1105,7 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
|
||||
InsetCommandParams p("label");
|
||||
// Try to generate a valid label
|
||||
p["name"] = (cmd.argument().empty()) ?
|
||||
// FIXME UNICODE
|
||||
from_utf8(cur.getPossibleLabel()) :
|
||||
cur.getPossibleLabel() :
|
||||
cmd.argument();
|
||||
string const data = InsetCommandMailer::params2string("label", p);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user