fix bug in drawing of quotes

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@181 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Lars Gullik Bjønnes 1999-10-07 19:15:53 +00:00
parent 35584afc11
commit 457cfb113a
2 changed files with 10 additions and 14 deletions

View File

@ -1,3 +1,10 @@
1999-10-07 Lars Gullik Bjønnes <larsbj@lyx.org>
* src/insets/insetquotes.C (Draw): Simplified a gread deal. This
also fixes a bug. It is not allowed to do tricks with std::strings
like: string a("hei"); &a[e]; this will not give what you
think... Any reason for the complexity in this func?
1999-10-06 Asger Alstrup Nielsen <alstrup@diku.dk> 1999-10-06 Asger Alstrup Nielsen <alstrup@diku.dk>
* Updated README and INSTALL a bit, mostly to check that my * Updated README and INSTALL a bit, mostly to check that my

View File

@ -138,8 +138,7 @@ string InsetQuotes::DispString() const
{ {
string disp; string disp;
disp += quote_char[quote_index[side][language]]; disp = quote_char[quote_index[side][language]];
if (times == InsetQuotes::DoubleQ) if (times == InsetQuotes::DoubleQ)
disp += disp; disp += disp;
@ -196,18 +195,8 @@ void InsetQuotes::Draw(LyXFont font, LyXScreen & scr,
{ {
string text = DispString(); string text = DispString();
for (string::size_type i = 0; i < text.length(); ++i) { scr.drawString(font, text, baseline, int(x));
if (text[i] == ' ') x += Width(font);
x += font.width('i');
else if (i == text.length()-1 || text[i] != text[i+1]) {
scr.drawString(font, &text[i], baseline, int(x));
x += font.width(text[i]);
} else {
scr.drawString(font, &text[i+1], baseline, int(x));
x += font.width(',');
}
}
} }