]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetFootlike.cpp
Fix bug #12795
[lyx.git] / src / insets / InsetFootlike.cpp
index 05d2ba87173ac1fade4d569cef061be8c1b9a0fa..36fc9945b8bbf3be8bded8cc4f8156717d7e8bed 100644 (file)
 #include "Font.h"
 #include "MetricsInfo.h"
 
+#include "support/lstrings.h"
+
 #include <iostream>
 
 using namespace std;
 
 namespace lyx {
 
+using support::token;
 
 InsetFootlike::InsetFootlike(Buffer * buf)
-       : InsetCollapsable(buf)
+       : InsetCollapsible(buf)
 {}
 
 
-void InsetFootlike::metrics(MetricsInfo & mi, Dimension & dim) const
-{
-       FontInfo tmpfont = mi.base.font;
-       mi.base.font = mi.base.bv->buffer().params().getFont().fontInfo();
-       InsetCollapsable::metrics(mi, dim);
-       mi.base.font = tmpfont;
-}
-
-
-void InsetFootlike::draw(PainterInfo & pi, int x, int y) const
-{
-       FontInfo tmpfont = pi.base.font;
-       pi.base.font = pi.base.bv->buffer().params().getFont().fontInfo();
-       InsetCollapsable::draw(pi, x, y);
-       pi.base.font = tmpfont;
-}
-
-
 void InsetFootlike::write(ostream & os) const
 {
-       os << to_utf8(layoutName()) << "\n";
-       InsetCollapsable::write(os);
+       // The layoutName may contain a "InTitle" qualifier
+       os << to_utf8(token(layoutName(), char_type(':'), 0)) << "\n";
+       InsetCollapsible::write(os);
 }
 
 
 bool InsetFootlike::insetAllowed(InsetCode code) const
 {
-       if (code == FOOT_CODE || code == MARGIN_CODE || code == FLOAT_CODE
-               || code == LISTINGS_CODE)
+       if (code == FOOT_CODE || code == MARGIN_CODE || code == FLOAT_CODE)
                return false;
-       return InsetCollapsable::insetAllowed(code);
+       return InsetCollapsible::insetAllowed(code);
 }