]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetnote.C
Make it compile when USE_BOOST_FORMAT is unset
[lyx.git] / src / insets / insetnote.C
index cb62aea19f42c78cc4da249281ddf2655e9f6bbc..f81d9b64b78b07617ceb1084ae61a5a8d5f49f38 100644 (file)
@@ -1,11 +1,11 @@
-/* This file is part of
- * ======================================================
- * 
- *           LyX, The Document Processor
- *      
- *          Copyright 1998 The LyX Team.
+/**
+ * \file insetnote.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * ======================================================
+ * \author Angus Leeming
+ *
+ * Full author contact details are available in file CREDITS
  */
 
 #include <config.h>
@@ -17,6 +17,7 @@
 #include "insetnote.h"
 #include "gettext.h"
 #include "lyxfont.h"
+#include "language.h"
 #include "buffer.h"
 #include "BufferView.h"
 #include "lyxtext.h"
 
 using std::ostream;
 
+
 void InsetNote::init()
 {
        LyXFont font(LyXFont::ALL_SANE);
        font.decSize();
        font.setColor(LColor::note);
        setLabelFont(font);
-
-       setAutoCollapse(false);
-       setBackgroundColor(LColor::note);
-
+       setBackgroundColor(LColor::notebg);
        setLabel(_("note"));
        setInsetName("Note");
 }
 
 
-InsetNote::InsetNote()
-       : InsetCollapsable()
+InsetNote::InsetNote(BufferParams const & bp)
+       : InsetCollapsable(bp)
 {
        init();
 }
 
 
-InsetNote::InsetNote(Buffer const * buf, string const & contents, 
+InsetNote::InsetNote(InsetNote const & in, bool same_id)
+       : InsetCollapsable(in, same_id)
+{
+       init();
+}
+
+
+Inset * InsetNote::clone(Buffer const &, bool same_id) const
+{
+       return new InsetNote(*const_cast<InsetNote *>(this), same_id);
+}
+
+
+// This constructor is used for reading old InsetInfo
+InsetNote::InsetNote(Buffer const * buf, string const & contents,
                     bool collapsed)
-       : InsetCollapsable(collapsed)
+       : InsetCollapsable(buf->params, collapsed)
 {
        init();
 
        Paragraph * par = inset.paragraph();
-       Paragraph::size_type pos = 0;
-       buf->insertStringAsLines(par, pos, LyXFont(LyXFont::ALL_INHERIT), 
-                                strip(contents, '\n'));
+       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, rtrim(contents, "\n"));
 }
 
 
-string const InsetNote::editMessage() const 
+string const InsetNote::editMessage() const
 {
        return _("Opened Note Inset");
 }