X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2Finsetnote.C;h=da3c39bfd6449a9f938261ad331b4db4b86358aa;hb=4a5b7a5952ad2381fcdf4830511293e184c7c5a1;hp=f5d7fc8ca5fa5a1e5ababfdefec7c160e624902a;hpb=b60c06df7e3e2f9da35aead443e0b3fb82a3f544;p=lyx.git diff --git a/src/insets/insetnote.C b/src/insets/insetnote.C index f5d7fc8ca5..da3c39bfd6 100644 --- a/src/insets/insetnote.C +++ b/src/insets/insetnote.C @@ -17,38 +17,67 @@ #include "insetnote.h" #include "gettext.h" #include "lyxfont.h" +#include "language.h" +#include "buffer.h" #include "BufferView.h" #include "lyxtext.h" #include "insets/insettext.h" #include "support/LOstream.h" +#include "support/lstrings.h" #include "debug.h" using std::ostream; -InsetNote::InsetNote() - : InsetCollapsable() + +void InsetNote::init() { LyXFont font(LyXFont::ALL_SANE); font.decSize(); - font.decSize(); font.setColor(LColor::note); setLabelFont(font); - setAutoCollapse(true); - + setBackgroundColor(LColor::notebg); setLabel(_("note")); setInsetName("Note"); } +InsetNote::InsetNote() + : InsetCollapsable() +{ + init(); +} + + +InsetNote::InsetNote(InsetNote const & in, bool same_id) + : InsetCollapsable(in, same_id) +{ + init(); +} + + Inset * InsetNote::clone(Buffer const &, bool same_id) const { - InsetNote * result = new InsetNote; - result->inset.init(&inset, same_id); + return new InsetNote(*const_cast(this), same_id); +} + - result->collapsed_ = collapsed_; - if (same_id) - result->id_ = id_; - return result; +// This constructor is used for reading old InsetInfo +InsetNote::InsetNote(Buffer const * buf, string const & contents, + bool collapsed) + : InsetCollapsable(collapsed) +{ + init(); + + Paragraph * par = inset.paragraph(); + LyXFont font(LyXFont::ALL_INHERIT, buf->params.language); + + // Since XForms doesn't support RTL, we can assume that old notes + // in RTL documents are written in English. + if (font.language()->RightToLeft()) + font.setLanguage(default_language); + + lyx::pos_type pos = 0; + buf->insertStringAsLines(par, pos, font, strip(contents, '\n')); } @@ -60,8 +89,6 @@ string const InsetNote::editMessage() const void InsetNote::write(Buffer const *buf, ostream & os) const { - //os << getInsetName() << "\n"; - os << "Info\n"; + os << getInsetName() << "\n"; InsetCollapsable::write(buf, os); } -