[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: =?utf-8?q?=5Bcalligra=5D_words/part=3A_Cleanup?=
From: Sebastian Sauer <sebastian.sauer () kdab ! com>
Date: 2011-04-30 17:40:18
Message-ID: 20110430174018.8E94BA60A6 () git ! kde ! org
[Download RAW message or body]
Git commit 5901d49e98a122fd5e7cd930690311abcdc3baa9 by Sebastian Sauer.
Committed on 30/04/2011 at 19:39.
Pushed by sebsauer into branch 'master'.
Cleanup
M +0 -1 words/part/KWDLoader.cpp
M +0 -2 words/part/KWOdfLoader.cpp
M +0 -1 words/part/KWOdfSharedLoadingData.cpp
M +1 -186 words/part/frames/KWTextFrameSet.cpp
M +0 -60 words/part/frames/KWTextFrameSet.h
http://commits.kde.org/calligra/5901d49e98a122fd5e7cd930690311abcdc3baa9
diff --git a/words/part/KWDLoader.cpp b/words/part/KWDLoader.cpp
index a4c2ee6..db4ed1d 100644
--- a/words/part/KWDLoader.cpp
+++ b/words/part/KWDLoader.cpp
@@ -439,7 +439,6 @@ void KWDLoader::loadFrameSet(const KoXmlElement &framesetElem)
type = KWord::OtherTextFrameSet; break;
}
KWTextFrameSet *fs = new KWTextFrameSet(m_document, type);
- fs->setAllowLayout(false);
fs->setName(fsname);
fs->setPageStyle(styleForFS);
fill(fs, framesetElem);
diff --git a/words/part/KWOdfLoader.cpp b/words/part/KWOdfLoader.cpp
index 9780a9f..96bb775 100644
--- a/words/part/KWOdfLoader.cpp
+++ b/words/part/KWOdfLoader.cpp
@@ -211,7 +211,6 @@ bool KWOdfLoader::load(KoOdfReadStore &odfStore)
KoTextShapeData textShapeData;
if (hasMainText) {
KWTextFrameSet *mainFs = new KWTextFrameSet(m_document, \
KWord::MainTextFrameSet);
- mainFs->setAllowLayout(false);
mainFs->setPageStyle(m_document->pageManager()->pageStyle("Standard"));
m_document->addFrameSet(mainFs);
textShapeData.setDocument(mainFs->document(), false);
@@ -313,7 +312,6 @@ void KWOdfLoader::loadHeaderFooterFrame(KoOdfLoadingContext \
&context, const KWPa {
KWTextFrameSet *fs = new KWTextFrameSet(m_document, fsType);
fs->setPageStyle(pageStyle);
- fs->setAllowLayout(false);
m_document->addFrameSet(fs);
kDebug(32001) << "KWOdfLoader::loadHeaderFooterFrame localName=" << \
elem.localName() << " type=" << fs->name();
diff --git a/words/part/KWOdfSharedLoadingData.cpp \
b/words/part/KWOdfSharedLoadingData.cpp index 0ee8284..40a5066 100644
--- a/words/part/KWOdfSharedLoadingData.cpp
+++ b/words/part/KWOdfSharedLoadingData.cpp
@@ -77,7 +77,6 @@ void KWOdfSharedLoadingData::shapeInserted(KoShape *shape, const \
KoXmlElement &e fs = dynamic_cast<KWTextFrameSet*>(previous->frameSet());
if (fs == 0) {
fs = new KWTextFrameSet(m_loader->document());
- fs->setAllowLayout(false);
fs->setName(m_loader->document()->uniqueFrameSetName(shape->name()));
m_loader->document()->addFrameSet(fs);
}
diff --git a/words/part/frames/KWTextFrameSet.cpp \
b/words/part/frames/KWTextFrameSet.cpp index e1b0162..1596e5b 100644
--- a/words/part/frames/KWTextFrameSet.cpp
+++ b/words/part/frames/KWTextFrameSet.cpp
@@ -48,13 +48,9 @@
KWTextFrameSet::KWTextFrameSet(KWDocument *kwordDocument, KWord::TextFrameSetType \
type) : KWFrameSet(KWord::TextFrameSet)
, m_document(new QTextDocument())
- , m_layoutTriggered(false)
- , m_allowLayoutRequests(true)
- , m_frameOrderDirty(true)
, m_textFrameSetType(type)
, m_pageManager(kwordDocument->pageManager())
, m_kwordDocument(kwordDocument)
- , m_requestedUpdateTextLayout(false)
, m_rootAreaProvider(new KWRootAreaProvider(this))
{
Q_ASSERT(m_kwordDocument);
@@ -185,166 +181,6 @@ void KWTextFrameSet::setupFrame(KWFrame *frame)
#endif
}
-void KWTextFrameSet::updateTextLayout()
-{
- kDebug(32001);
-#if 0
- if (! m_allowLayoutRequests) {
- m_requestedUpdateTextLayout = true;
- return;
- }
- KWTextDocumentLayout *lay = \
dynamic_cast<KWTextDocumentLayout*>(m_document->documentLayout());
- if (lay) {
- // Don't schedule the layout what would wait with the layout till the \
eventloop kicks
- // in what sucks performance-wise. So, start the layouting right away.
- lay->scheduleLayout();
- //lay->relayout();
- }
-#else
- Q_ASSERT(false);
-#endif
-}
-
-void KWTextFrameSet::requestMoreFrames(qreal textHeight)
-{
-#if 0
- if (frameCount() == 0)
- return; // there is no way we can get more frames anyway.
- KWFrame *lastFrame = frames()[frameCount()-1];
-
- if (KWord::isHeaderFooter(this)) {
- KWFrame *frame = frames().first();
- frame->setMinimumFrameHeight(frame->minimumFrameHeight() + textHeight + \
1E-6);
- //kDebug(32001)<<"Header/Footer \
frameSet="<<this<<"lastFrame="<<lastFrame<<"allowLayout="<<allowLayout()<<"textHeight="<<textHeight;
- if (allowLayout())
- emit decorationFrameResize(this);
- } else if (textHeight == 0.0 || lastFrame->frameBehavior() == \
KWord::AutoCreateNewFrameBehavior) { // textHeight==0 means a \
new-page-request
- //kDebug(32001)<<"AutoCreateNewFrameBehavior \
frameSet="<<this<<"lastFrame="<<lastFrame<<"ReconnectNewFrame="<<(lastFrame->newFrameBehavior() \
== KWord::ReconnectNewFrame)<<"textHeight="<<textHeight;
- if (lastFrame->newFrameBehavior() == KWord::ReconnectNewFrame)
- emit moreFramesNeeded(this);
- } else if (lastFrame->frameBehavior() == KWord::AutoExtendFrameBehavior
- && lastFrame->canAutoGrow() && qAbs(textHeight) > 2) {
- // enlarge last shape
- KoShape *shape = lastFrame->shape();
- if (shape->isGeometryProtected()) { // don't alter a locked shape.
- requestMoreFrames(0);
- return;
- }
-
- QSizeF size = shape->size();
- QPointF orig = shape->absolutePosition(KoFlake::TopLeftCorner);
- shape->setSize(QSizeF(size.width(), size.height() + textHeight + 1E-6));
- shape->setAbsolutePosition(orig, KoFlake::TopLeftCorner);
- shape->update(QRectF(0.0, size.height(), size.width(), textHeight + 1E-6));
- lastFrame->allowToGrow();
-
- //kDebug(32001)<<"AutoExtendFrameBehavior \
frameSet="<<this<<"lastFrame="<<lastFrame<<"size="<<size<<"orig="<<orig<<"textHeight="<<textHeight;;
- }
-#else
- Q_ASSERT(false);
-#endif
-}
-
-void KWTextFrameSet::spaceLeft(qreal excessHeight)
-{
-#if 0
- Q_ASSERT(excessHeight >= 0);
- if (m_frames.count() == 0)
- return;
- if (KWord::isHeaderFooter(this)) {
- KWFrame *frame = frames().first();
- kDebug(32001) <<"KWTextFrameSet::spaceLeft" << frame->minimumFrameHeight() \
<< excessHeight;
- frame->setMinimumFrameHeight(frame->minimumFrameHeight() - excessHeight);
- emit decorationFrameResize(this);
- return;
- }
- //kDebug(32001) <<"KWTextFrameSet::spaceLeft" << excessHeight;
- QList<KWFrame*>::Iterator iter = --m_frames.end();
- do {
- KWFrame *tf = *iter;
- if (tf) {
- if (tf && tf->frameBehavior() == KWord::AutoExtendFrameBehavior) {
- tf->autoShrink(tf->shape()->size().height() - excessHeight);
- tf->allowToGrow();
- }
- return;
- }
- --iter;
- } while (iter != m_frames.begin());
-#else
- Q_ASSERT(false);
-#endif
-}
-
-void KWTextFrameSet::framesEmpty(int emptyFrames)
-{
-#if 0
- //kDebug(32001) <<"KWTextFrameSet::framesEmpty" << emptyFrames;
- if (m_pageManager == 0) // be lazy; just refuse to delete frames if we don't \
know which are on which page
- return;
- if (KWord::isHeaderFooter(this)) // then we are deleted by the frameManager
- return;
- QList<KWFrame*> myFrames = m_frames; // make a copy so we can do a removeFrame \
without worries
- QList<KWFrame*>::Iterator deleteFrom = myFrames.end();
- QList<KWFrame*>::Iterator iter = --myFrames.end();
- KWPage page;
- bool deleteSome = false;
- do {
- if ((*iter)->isCopy())
- continue;
- KWPage pageForFrame = m_pageManager->page((*iter)->shape());
- if (!page.isValid()) { // first loop
- page = pageForFrame;
- } else if (page != pageForFrame) { // all frames on the page (of this FS) \
are empty.
- deleteFrom = iter;
- ++deleteFrom;
- page = pageForFrame;
- deleteSome = true;
- }
- if (--emptyFrames < 0)
- break;
- } while (iter-- != myFrames.begin());
-
- if (!deleteSome)
- return;
-
- iter = --myFrames.end();
- do { // remove all frames from end till last empty page
- if (*iter == *m_frames.begin())
- break;
- removeFrame(*iter);
- delete(*iter)->shape();
- } while (iter-- != deleteFrom);
-#else
- Q_ASSERT(false);
-#endif
-}
-
-void KWTextFrameSet::setAllowLayout(bool allow)
-{
- kDebug(32001) << "allow=" << allow << "m_allowLayoutRequests=" << \
m_allowLayoutRequests;
- if (allow == m_allowLayoutRequests)
- return;
- m_allowLayoutRequests = allow;
- if (m_allowLayoutRequests && m_requestedUpdateTextLayout) {
- m_requestedUpdateTextLayout = false;
-#if 0
- KWTextDocumentLayout *lay = \
dynamic_cast<KWTextDocumentLayout*>(m_document->documentLayout());
- if (lay)
- lay->scheduleLayout();
-#else
- #ifdef __GNUC__
- #warning FIXME: port to textlayout-rework
- #endif
-#endif
- }
-}
-
-bool KWTextFrameSet::allowLayout() const
-{
- return m_allowLayoutRequests;
-}
-
void KWTextFrameSet::setPageStyle(const KWPageStyle &style)
{
kDebug () << "frameSet=" << this << "frameSetType=" << \
KWord::frameSetTypeName(textFrameSetType()) << "pageStyleName=" << style.name() << \
"pageStyleIsValid=" << style.isValid(); @@ -363,29 +199,10 @@ const KWPageStyle& \
KWTextFrameSet::pageStyle() const return m_pageStyle;
}
-void KWTextFrameSet::sortFrames()
-{
#if 0
- // optimize to not sort more than needed
- if (!m_frames.isEmpty() && (m_frameOrderDirty || m_textFrameSetType == \
KWord::OtherTextFrameSet)) {
- KWFrame *first = m_frames.first();
- qSort(m_frames.begin(), m_frames.end(), sortTextFrames);
- if (m_frames[0] != first) { // that means it needs to be re-layouted
- KoTextShapeData *tsd = \
qobject_cast<KoTextShapeData*>(m_frames[0]->shape()->userData());
- if (tsd)
- tsd->foul();
- }
- }
- m_frameOrderDirty = false;
-#else
- Q_ASSERT(false);
-#endif
-}
-
// static returns true if frame1 comes before frame2
bool KWTextFrameSet::sortTextFrames(const KWFrame *f1, const KWFrame *f2)
{
-#if 0
if (!f1 && f2) // copy always come after textframe
return false;
if (f1 && !f2) // copy always come after textframe
@@ -455,8 +272,6 @@ bool KWTextFrameSet::sortTextFrames(const KWFrame *f1, const \
KWFrame *f2) if (frame1->shape()->boundingRect().top() > boundsF2.top())
return false;
#endif
-#else
- Q_ASSERT(false);
-#endif
return true;
}
+#endif
diff --git a/words/part/frames/KWTextFrameSet.h b/words/part/frames/KWTextFrameSet.h
index a92bff8..bd462ac 100644
--- a/words/part/frames/KWTextFrameSet.h
+++ b/words/part/frames/KWTextFrameSet.h
@@ -38,7 +38,6 @@ class KWTextFrame;
*/
class KWORD_EXPORT KWTextFrameSet : public KWFrameSet
{
- Q_OBJECT
public:
/**
* Constructor with a type of text specified
@@ -63,24 +62,6 @@ public:
return m_rootAreaProvider;
}
- /**
- * Sets the flag if this frameset is allowed to automaticall do layout of the \
textdata.
- * A text will do layouting of the text when the content changes, but also when \
frames
- * are moved.
- * When lots of changes are made it may be faster to disable layouts for a \
little while.
- * @param allow if false; text will no longer be layouted until enabled again. \
If true,
- * schedule a layout.
- * @see allowLayout
- */
- void setAllowLayout(bool allow);
-
- /**
- * Returns if we are allowed to layout the text in this frame.
- * @return if we are allowed to layout the text in this frame.
- * @see setAllowLayout()
- */
- bool allowLayout() const;
-
/// return the pageManager for this frameSet
KWPageManager* pageManager() {
return m_pageManager;
@@ -93,60 +74,19 @@ public:
void setPageStyle(const KWPageStyle &style);
const KWPageStyle& pageStyle() const;
-signals:
-#if 0
- /**
- * Emitted when the frameset finished layout and found that there is more
- * text than will fit in the frameset.
- * Signal will be emitted only when the policy of the last frame allows it.
- */
- void moreFramesNeeded(KWTextFrameSet *fs);
- /// emitted when a decorating frame, like a header or a footer, wants to be \
resized.
- void decorationFrameResize(KWTextFrameSet *fs);
- /// emitted when all the text is fully layouted
- void layoutDone();
-#endif
-
protected:
friend class TestTextFrameSorting;
friend class TestTextFrameManagement;
void setupFrame(KWFrame *frame);
- /**
- * Call this to make it known that the text we want to layout needs more space \
to be shown fully.
- * This will resize the frame, or emit a moreFramesNeeded signal based on the \
settings.
- * @param textHeight the height of the text we could not fit.
- */
- void requestMoreFrames(qreal textHeight);
-
- /// called by the KWTextDocumentLayout to mark that the frame is bigger then the \
text in it.
- void spaceLeft(qreal excessHeight);
- /// called by the KWTextDocumentLayout to mark that there are frames not in use \
because the text is too short.
- void framesEmpty(int emptyFrames);
- /**
- * Schedules a followup schedule run.
- * This method is used to 'chunk' layout runs. It will followup where the last \
stopped.
- * Calling this multiple times will make sure the relayout() is only called \
ones.
- */
- void scheduleLayout();
-
- void sortFrames();
-
-private slots:
- void updateTextLayout();
private:
QTextDocument *m_document;
- bool m_layoutTriggered, m_allowLayoutRequests, m_frameOrderDirty;
KWord::TextFrameSetType m_textFrameSetType;
KWPageManager *m_pageManager;
KWDocument *m_kwordDocument;
KWPageStyle m_pageStyle; // the page Style this frameset is associated with.
- bool m_requestedUpdateTextLayout;
KWRootAreaProvider *m_rootAreaProvider;
-
- // return true if frame1 is sorted before frame2
- static bool sortTextFrames(const KWFrame *frame1, const KWFrame *frame2);
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic