// Quotes. Used for the various quotes. German, English, French,
// Danish, Polish, all either double or single.
-extern BufferView * current_view;
-
// codes used to read/write quotes to LyX files
static char const * const language_char = "esgpfa";
static char const * const side_char = "lr" ;
InsetQuotes::quote_side s,
InsetQuotes::quote_times t)
: language(l), side(s), times(t)
-{
-}
+{}
InsetQuotes::InsetQuotes(char c, BufferParams const & params)
: language(params.quotes_language), times(params.quotes_times)
{
// Decide whether left or right
- switch(c) {
+ switch (c) {
case ' ': case '(': case '{': case '[': case '-': case ':':
case LyXParagraph::META_HFILL:
case LyXParagraph::META_NEWLINE:
}
-string InsetQuotes::DispString() const
+string const InsetQuotes::DispString() const
{
string disp;
disp += quote_char[quote_index[side][language]];
if (times == InsetQuotes::DoubleQ)
disp += disp;
- if (lyxrc.font_norm == "iso8859-1")
+ if (lyxrc.font_norm_type == LyXRC::ISO_8859_1)
if (disp == "<<")
disp = '«';
else if (disp == ">>")
}
-int InsetQuotes::ascent(Painter &, LyXFont const & font) const
+int InsetQuotes::ascent(BufferView *, LyXFont const & font) const
{
return lyxfont::maxAscent(font);
}
-int InsetQuotes::descent(Painter &, LyXFont const & font) const
+int InsetQuotes::descent(BufferView *, LyXFont const & font) const
{
return lyxfont::maxDescent(font);
}
-int InsetQuotes::width(Painter &, LyXFont const & font) const
+int InsetQuotes::width(BufferView *, LyXFont const & font) const
{
string text = DispString();
int w = 0;
}
-LyXFont InsetQuotes::ConvertFont(LyXFont font)
+LyXFont const InsetQuotes::ConvertFont(LyXFont const & f) const
{
- /* quotes-insets cannot be latex of any kind */
+ LyXFont font(f);
+ // quotes-insets cannot be latex of any kind
font.setLatex(LyXFont::OFF);
return font;
}
-void InsetQuotes::draw(Painter & pain, LyXFont const & font,
- int baseline, float & x) const
+void InsetQuotes::draw(BufferView * bv, LyXFont const & font,
+ int baseline, float & x, bool) const
{
string text = DispString();
- pain.text(int(x), baseline, text, font);
- x += width(pain, font);
+ bv->painter().text(int(x), baseline, text, font);
+ x += width(bv, font);
}
{
lex.nextToken();
ParseString(lex.GetString());
+ lex.next();
+ string tmp(lex.GetString());
+ if (tmp != "\\end_inset")
+ lyxerr << "LyX Warning: Missing \\end_inset "
+ "in InsetQuotes::Read." << endl;
}
-int InsetQuotes::Latex(Buffer const *, ostream & os, bool /*fragile*/, bool) const
+extern bool use_babel;
+
+int InsetQuotes::Latex(Buffer const * buf, ostream & os,
+ bool /*fragile*/, bool) const
{
- string doclang =
- current_view->buffer()->GetLanguage();
+ string const doclang = buf->GetLanguage()->lang();
int quoteind = quote_index[side][language];
string qstr;
if (lyxrc.fontenc == "T1") {
qstr = latex_quote_t1[times][quoteind];
- }
- else if (doclang == "default") {
+#ifdef DO_USE_DEFAULT_LANGUAGE
+ } else if (doclang == "default") {
+#else
+ } else if (!use_babel) {
+#endif
qstr = latex_quote_ot1[times][quoteind];
- }
- else if (language == InsetQuotes::FrenchQ
+ } else if (language == InsetQuotes::FrenchQ
&& times == InsetQuotes::DoubleQ
&& doclang == "frenchb") {
if (side == InsetQuotes::LeftQ)
}
-int InsetQuotes::Ascii(Buffer const *, ostream & os) const
+int InsetQuotes::Ascii(Buffer const *, ostream & os, int) const
{
os << "\"";
return 0;
int InsetQuotes::DocBook(Buffer const *, ostream & os) const
{
- if(times == InsetQuotes::DoubleQ) {
+ if (times == InsetQuotes::DoubleQ) {
if (side == InsetQuotes::LeftQ)
os << "“";
else
{
char type = quote_char[quote_index[side][language]];
- if (current_view->buffer()->GetLanguage() == "default"
+ if (features.bufferParams().language->lang() == "default"
&& lyxrc.fontenc != "T1") {
if (times == InsetQuotes::SingleQ)
switch (type) {
}
-Inset * InsetQuotes::Clone() const
+Inset * InsetQuotes::Clone(Buffer const &) const
{
return new InsetQuotes(language, side, times);
}