]> git.lyx.org Git - lyx.git/blobdiff - src/insets/insetbox.C
The speed patch: redraw only rows that have changed
[lyx.git] / src / insets / insetbox.C
index 27d41f401456529a5d9e74c749ba90fd855bee91..9440fc5283d330a3f09aef35a2dcbdbc45f5416b 100644 (file)
@@ -156,14 +156,19 @@ void InsetBox::setButtonLabel()
 void InsetBox::metrics(MetricsInfo & m, Dimension & dim) const
 {
        MetricsInfo mi = m;
-       mi.base.textwidth = params_.width.inPixels(m.base.textwidth);
+       if (params_.inner_box || params_.special != "width")
+               mi.base.textwidth = params_.width.inPixels(m.base.textwidth);
        InsetCollapsable::metrics(mi, dim);
-       //if (params_.inner_box && isOpen())
-       //      dim.wid = mi.base.textwidth;
        dim_ = dim;
 }
 
 
+bool InsetBox::forceDefaultParagraphs(idx_type) const
+{
+       return !params_.inner_box;
+}
+
+
 bool InsetBox::showInsetDialog(BufferView * bv) const
 {
        InsetBoxMailer(const_cast<InsetBox &>(*this)).showDialog(bv);
@@ -210,6 +215,13 @@ bool InsetBox::getStatus(LCursor & cur, FuncRequest const & cmd,
        case LFUN_INSET_DIALOG_UPDATE:
                flag.enabled(true);
                return true;
+       case LFUN_BREAKPARAGRAPH:
+               if (params_.inner_box) {
+                       return InsetCollapsable::getStatus(cur, cmd, flag);
+               } else {
+                       flag.enabled(false);
+                       return true;
+               }
 
        default:
                return InsetCollapsable::getStatus(cur, cmd, flag);