r22939 by jghali - #15650: Footnote frame incorrectly sized when re-opening document
scribus-commit
scribus-commit at lists.scribus.net
Sat Apr 13 12:07:59 UTC 2019
Author: jghali
Date: Sat Apr 13 12:07:59 2019
New Revision: 22939
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22939
Log:
#15650: Footnote frame incorrectly sized when re-opening document
Modified:
trunk/Scribus/scribus/pageitem_noteframe.cpp
Modified: trunk/Scribus/scribus/pageitem_noteframe.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22939&path=/trunk/Scribus/scribus/pageitem_noteframe.cpp
==============================================================================
--- trunk/Scribus/scribus/pageitem_noteframe.cpp (original)
+++ trunk/Scribus/scribus/pageitem_noteframe.cpp Sat Apr 13 12:07:59 2019
@@ -1,5 +1,7 @@
+
+#include <cmath>
+
#include "pageitem_noteframe.h"
-
#include "appmodes.h"
#include "pageitem.h"
@@ -10,8 +12,7 @@
#include "util.h"
#include "util_text.h"
-
-#include <cmath>
+#include "text/boxes.h"
PageItem_NoteFrame::PageItem_NoteFrame(NotesStyle *nStyle, ScribusDoc *doc, double x, double y, double w, double h, double w2, const QString& fill, const QString& outline)
: PageItem_TextFrame(doc, x, y, w, h, w2, fill, outline)
@@ -105,7 +106,7 @@
oldWidth = m_width;
oldRot = m_rotation;
oldXpos = m_xPos;
- m_yPos = oldYpos =m_masterFrame->yPos() + m_masterFrame->height();
+ m_yPos = oldYpos = m_masterFrame->yPos() + m_masterFrame->height();
textFlowModeVal = TextFlowUsesFrameShape;
setColumns(1);
@@ -206,8 +207,10 @@
{
if (frameOverflows())
{
- //increase height while text don`t fit in frame
- double maxH = m_Doc->currentPage()->height() - m_xPos;
+ // Increase height while text don`t fit in frame
+ double maxH = m_Doc->currentPage()->height() - m_yPos;
+ if (maxH <= 0)
+ maxH = m_Doc->currentPage()->height();
while (frameOverflows())
{
oldHeight = m_height += 8;
@@ -218,8 +221,8 @@
break;
}
}
- double hackValue = 0.5;
- oldHeight = m_height = ceil(maxY) + m_textDistanceMargins.bottom() + hackValue;
+ textLayout.box()->moveTo(textLayout.box()->x(), 0);
+ oldHeight = m_height = textLayout.box()->naturalHeight() + m_textDistanceMargins.bottom();
updateConstants();
updateClip();
invalid = true;
More information about the scribus-commit
mailing list