]> git.lyx.org Git - features.git/commitdiff
Singlerow rendering (better) fix for insets
authorMartin Vermeer <martin.vermeer@hut.fi>
Sat, 31 Dec 2005 11:40:33 +0000 (11:40 +0000)
committerMartin Vermeer <martin.vermeer@hut.fi>
Sat, 31 Dec 2005 11:40:33 +0000 (11:40 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10693 a592a061-630c-0410-9148-cb99ea01b6c8

src/ChangeLog
src/insets/ChangeLog
src/insets/insetcollapsable.C
src/text3.C

index 58d78eb6d2f5692bc8353d95126c416e9aeb3a2a..0120f0400ec01da81926e962de9a5ce21efff0e2 100644 (file)
@@ -1,3 +1,8 @@
+2005-12-31  Martin Vermeer  <martin.vermeer@hut.fi>
+
+       * text3.C (dispatch): Force refresh if typing into inset changes its
+                             metrics
+
 2005-12-30  Martin Vermeer  <martin.vermeer@hut.fi>
 
        * RowList_fwd.h:
index d92960c25f34047f1fd5ff3b211f625d9048c266..0b7df590d731762df4788d0d43731a0cfe45a5da 100644 (file)
@@ -1,10 +1,15 @@
+2005-12-31  Martin Vermeer  <martin.vermeer@hut.fi>
+
+       * insetcollapsable.C (metrics): reverse patch of 2005-12-16 because
+       of better fix in text3.C.
+
 2005-12-12  Georg Baum  <Georg.Baum@post.rwth-aachen.de>
 
        * insetbase.h (noFontChange): refine documentation
 
 2005-12-16  Martin Vermeer  <martin.vermeer@hut.fi>
 
-       * insetcollapsable.C: fix "turds" when changing openinlined_
+       * insetcollapsable.C (metrics): fix "turds" when changing openinlined_
 
 2005-12-05  Martin Vermeer  <martin.vermeer@hut.fi>
 
index 7d39be20b645f692aa720113a0470bfc59750fea..11b02bb1d2ec8ea154d7b57d51967ad2f766898f 100644 (file)
@@ -138,10 +138,7 @@ void InsetCollapsable::metrics(MetricsInfo & mi, Dimension & dim) const
                dim = dimensionCollapsed();
                if (status() == Open) {
                        InsetText::metrics(mi, textdim_);
-                       bool oldopeninlined = openinlined_;
                        openinlined_ = (textdim_.wid + dim.wid <= mi.base.textwidth);
-                       if (openinlined_ != oldopeninlined)
-                               InsetText::metrics(mi, textdim_);
                        if (openinlined_) {
                                dim.wid += textdim_.wid;
                                dim.des = max(dim.des - textdim_.asc + dim.asc, textdim_.des);
index 8ac5424993c15219c572dc29ca345968a66c886e..bf9f099d7cc5f1a0df8eb519e20edc43ced8f1e2 100644 (file)
@@ -308,8 +308,8 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
        // Signals that a full-screen update is required
        bool needsUpdate = !(lyxaction.funcHasFlag(cmd.action, 
                LyXAction::NoUpdate) || singleParUpdate);
-       // Remember the old paragraph metric
-       Dimension olddim = cur.paragraph().dim();
+       // Remember the old paragraph metric (_outer_ paragraph!)
+       Dimension olddim = cur.bottom().paragraph().dim();
 
        switch (cmd.action) {
 
@@ -1531,8 +1531,8 @@ void LyXText::dispatch(LCursor & cur, FuncRequest & cmd)
 
        if (singleParUpdate)
                // Inserting characters does not change par height
-               if (cur.paragraph().dim().asc == olddim.asc
-                && cur.paragraph().dim().des == olddim.des) {
+               if (cur.bottom().paragraph().dim().height() 
+                   == olddim.height()) {
                        // if so, update _only_ this paragraph
                        cur.bv().update(Update::SinglePar | Update::Force);
                } else