Author: jghali
Date: Sun Feb  6 22:18:26 2022
New Revision: 24923

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=24923
Log:
Refactor PageItem_TextFrame::setTextFrameHeight() to avoid some useless 
processing

Modified:
    branches/Version15x/Scribus/scribus/pageitem_textframe.cpp

Modified: branches/Version15x/Scribus/scribus/pageitem_textframe.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=24923&path=/branches/Version15x/Scribus/scribus/pageitem_textframe.cpp
==============================================================================
--- branches/Version15x/Scribus/scribus/pageitem_textframe.cpp  (original)
+++ branches/Version15x/Scribus/scribus/pageitem_textframe.cpp  Sun Feb  6 
22:18:26 2022
@@ -5845,33 +5845,33 @@
        if (textLayout.lines() <= 0)
                return;
 
-       if (m_nextBox == nullptr) // Vertical alignment is not used inside a 
text chain
-       {
-               textLayout.box()->moveTo(textLayout.box()->x(), 0);
-               double newHeight = textLayout.box()->naturalHeight();
-               newHeight += m_textDistanceMargins.bottom();
-
-               UndoTransaction undoTransaction;
-               if (UndoManager::undoEnabled())
-               {
-                       QString unitSuffix = 
unitGetStrFromIndex(m_Doc->unitIndex());
-                       int unitPrecision  = 
unitGetPrecisionFromIndex(m_Doc->unitIndex());
-                       double unitRatio   = m_Doc->unitRatio();
-                       QString owString  = QString::number(oldWidth * 
unitRatio, 'f', unitPrecision) + " " + unitSuffix;
-                       QString ohString  = QString::number(oldHeight * 
unitRatio, 'f', unitPrecision) + " " + unitSuffix;
-                       QString nwString  = QString::number(m_width * 
unitRatio, 'f', unitPrecision) + " " + unitSuffix;
-                       QString nhString  = QString::number(m_height * 
unitRatio, 'f', unitPrecision) + " " + unitSuffix;
-                       QString tooltip   = 
QString(Um::ResizeFromTo).arg(owString, ohString, nwString, nhString);
-                       undoTransaction = 
undoManager->beginTransaction(Um::Selection, Um::ITextFrame, Um::Resize, 
tooltip, Um::IResize);
-               }
-
-               setHeight(newHeight);
-
-               if (undoTransaction)
-                       undoTransaction.commit();
-       }
-
+       if (m_nextBox != nullptr) // Vertical alignment is not used inside a 
text chain
+               return;
+
+       textLayout.box()->moveTo(textLayout.box()->x(), 0);
+       double newHeight = textLayout.box()->naturalHeight();
+       newHeight += m_textDistanceMargins.bottom();
+
+       UndoTransaction undoTransaction;
+       if (UndoManager::undoEnabled())
+       {
+               QString unitSuffix = unitGetStrFromIndex(m_Doc->unitIndex());
+               int unitPrecision  = 
unitGetPrecisionFromIndex(m_Doc->unitIndex());
+               double unitRatio   = m_Doc->unitRatio();
+               QString owString  = QString::number(oldWidth * unitRatio, 'f', 
unitPrecision) + " " + unitSuffix;
+               QString ohString  = QString::number(oldHeight * unitRatio, 'f', 
unitPrecision) + " " + unitSuffix;
+               QString nwString  = QString::number(m_width * unitRatio, 'f', 
unitPrecision) + " " + unitSuffix;
+               QString nhString  = QString::number(m_height * unitRatio, 'f', 
unitPrecision) + " " + unitSuffix;
+               QString tooltip   = QString(Um::ResizeFromTo).arg(owString, 
ohString, nwString, nhString);
+               undoTransaction = undoManager->beginTransaction(Um::Selection, 
Um::ITextFrame, Um::Resize, tooltip, Um::IResize);
+       }
+
+       setHeight(newHeight);
        updateClip();
+
+       if (undoTransaction)
+               undoTransaction.commit();
+
        invalid = true;
        m_Doc->changed();
        m_Doc->regionsChanged()->update(QRect());


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to