[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    =?utf-8?q?=5Bcalligra=5D_words/part=3A_Made_hide/show_headers/fo?=
From:       Sebastian Sauer <sebastian.sauer () kdab ! com>
Date:       2011-04-30 17:08:44
Message-ID: 20110430170844.C8AADA60A4 () git ! kde ! org
[Download RAW message or body]

Git commit ea4edae7447f5b49099c8d8b3c3ad76c025d6239 by Sebastian Sauer.
Committed on 30/04/2011 at 19:01.
Pushed by sebsauer into branch 'master'.

Made hide/show headers/footers work again as expected.
BUG:272005

M  +13   -17   words/part/KWDocument.cpp     
M  +3    -2    words/part/KWPageManager.cpp     
M  +7    -0    words/part/frames/KWFrameLayout.cpp     

http://commits.kde.org/calligra/ea4edae7447f5b49099c8d8b3c3ad76c025d6239

diff --git a/words/part/KWDocument.cpp b/words/part/KWDocument.cpp
index df4e724..44c9cd3 100644
--- a/words/part/KWDocument.cpp
+++ b/words/part/KWDocument.cpp
@@ -370,9 +370,6 @@ void KWDocument::relayout()
         if (tfs == 0) continue;
         if (tfs->textFrameSetType() != KWord::MainTextFrameSet) continue;
 
-        // we switch to the interaction tool to avoid crashes if the tool was \
                editing a frame.
-        KoToolManager::instance()->switchToolRequested(KoInteractionTool_ID);
-
         QSet<KWPage> coveredPages;
         QList<int> coveredPageNumbers;
         foreach (KWFrame *frame, tfs->frames()) {
@@ -396,32 +393,27 @@ void KWDocument::relayout()
 
         kDebug(32001) << "coveredPageNumbers=" << coveredPageNumbers;
     }
-#else
 #endif
 
-#if 0
-    PageProcessingQueue *ppq = pageQueue();
-    foreach (const KWPage &page, pageManager()->pages())
-        ppq->addPage(page);
-#else
+    // we switch to the interaction tool to avoid crashes if the tool was editing a \
frame. +    KoToolManager::instance()->switchToolRequested(KoInteractionTool_ID);
+
     // remove header/footer frames that are not visible.
     m_frameLayout.cleanupHeadersFooters();
+
     // re-layout the pages
-    foreach (const KWPage &page, pageManager()->pages()) {
-        m_frameLayout.layoutFramesOnPage(page.pageNumber());
+    foreach (const KWPage &page, m_pageManager.pages()) {
+        m_frameLayout.createNewFramesForPage(page.pageNumber());
     }
 
-    /*
     foreach (KWFrameSet *fs, m_frameSets) {
         KWTextFrameSet *tfs = dynamic_cast<KWTextFrameSet*>(fs);
         if (!tfs)
             continue;
         KoTextDocumentLayout *lay = \
dynamic_cast<KoTextDocumentLayout*>(tfs->document()->documentLayout());  \
                Q_ASSERT(lay);
-        lay->layout();
+        lay->scheduleLayout();
     }
-    */
-#endif
 }
 
 void KWDocument::addFrameSet(KWFrameSet *fs)
@@ -836,11 +828,12 @@ void KWDocument::endOfLoading() // called by both oasis and \
oldxml  
     // remove header/footer frames that are not visible.
 //     m_frameLayout.cleanupHeadersFooters();
-#if 1
+
     foreach (const KWPage &page, m_pageManager.pages()) {
         m_frameLayout.createNewFramesForPage(page.pageNumber());
     }
-#endif
+
+#if 0
     foreach (KWFrameSet *fs, m_frameSets) {
         KWTextFrameSet *tfs = dynamic_cast<KWTextFrameSet*>(fs);
         if (!tfs)
@@ -860,6 +853,7 @@ void KWDocument::endOfLoading() // called by both oasis and \
oldxml  }
         tfs->setAllowLayout(true);
     }
+#endif
 
     foreach (KWFrameSet *fs, m_frameSets) {
         KWTextFrameSet *tfs = dynamic_cast<KWTextFrameSet*>(fs);
@@ -958,12 +952,14 @@ void KWDocument::requestMoreSpace(KWTextFrameSet *fs)
 void KWDocument::updateHeaderFooter(KWTextFrameSet *tfs)
 {
     // find all pages that have the page style set and re-layout them.
+    kDebug(32001);
     Q_ASSERT(tfs->pageStyle().isValid());
     updatePagesForStyle(tfs->pageStyle());
 }
 
 void KWDocument::updatePagesForStyle(const KWPageStyle &style)
 {
+    kDebug(32001);
     PageProcessingQueue *ppq = pageQueue();
     foreach (KWPage page, pageManager()->pages()) {
         if (page.pageStyle() == style) {
diff --git a/words/part/KWPageManager.cpp b/words/part/KWPageManager.cpp
index 06fd8ca..bb3d0ac 100644
--- a/words/part/KWPageManager.cpp
+++ b/words/part/KWPageManager.cpp
@@ -342,8 +342,9 @@ void KWPageManager::removePage(int pageNumber)
 
 void KWPageManager::removePage(const KWPage &page)
 {
-    if (!page.isValid())
-        return;
+    Q_ASSERT(page.isValid());
+    kDebug() << page.pageNumber();
+
     const int removedPageNumber = page.pageNumber();
     const int offset = page.pageSide() == KWPage::PageSpread ? 2 : 1;
     d->pages.remove(d->pageNumbers[removedPageNumber]);
diff --git a/words/part/frames/KWFrameLayout.cpp \
b/words/part/frames/KWFrameLayout.cpp index d557ad8..221118a 100644
--- a/words/part/frames/KWFrameLayout.cpp
+++ b/words/part/frames/KWFrameLayout.cpp
@@ -75,6 +75,7 @@ void KWFrameLayout::createNewFramesForPage(int pageNumber)
             createCopyFrame(fs, page);
         }
     }
+else kDebug(32001) << "Nooooo HeaderTextFrame";
     if (shouldHaveHeaderOrFooter(pageNumber, false, &origin)) {
         allHFTypes.removeAll(origin);
         KWTextFrameSet *fs = getOrCreate(origin, page);
@@ -83,6 +84,7 @@ void KWFrameLayout::createNewFramesForPage(int pageNumber)
             createCopyFrame(fs, page);
         }
     }
+else kDebug(32001) << "Nooooo FooterTextFrame";
 
     //kDebug(32001) <<"createNewFramesForPage" << pageNumber << "TextFrameSetType=" \
<< KWord::frameSetTypeName(origin);  
@@ -601,6 +603,7 @@ void KWFrameLayout::setup()
 {
     if (m_setup)
         return;
+kDebug();
 
     KWTextFrameSet *oldMainText = m_maintext;
     m_maintext = 0;
@@ -682,6 +685,7 @@ void KWFrameLayout::cleanupHeadersFooters()
         switch (tfs->textFrameSetType()) {
         case KWord::OddPagesHeaderTextFrameSet:
             if (frameSets.oddHeaders) {
+kDebug()<<"remove oddHeaders frameSets";
                 emit removedFrameSet(frameSets.oddHeaders);
                 delete frameSets.oddHeaders;
             }
@@ -689,6 +693,7 @@ void KWFrameLayout::cleanupHeadersFooters()
             break;
         case KWord::EvenPagesHeaderTextFrameSet:
             if (frameSets.evenHeaders) {
+kDebug()<<"remove evenHeaders frameSets";
                 emit removedFrameSet(frameSets.evenHeaders);
                 delete frameSets.evenHeaders;
             }
@@ -696,6 +701,7 @@ void KWFrameLayout::cleanupHeadersFooters()
             break;
         case KWord::OddPagesFooterTextFrameSet:
             if (frameSets.oddFooters) {
+kDebug()<<"remove oddFooters frameSets";
                 emit removedFrameSet(frameSets.oddFooters);
                 delete frameSets.oddFooters;
             }
@@ -703,6 +709,7 @@ void KWFrameLayout::cleanupHeadersFooters()
             break;
         case KWord::EvenPagesFooterTextFrameSet:
             if (frameSets.evenFooters) {
+kDebug()<<"remove evenFooters frameSets";
                 emit removedFrameSet(frameSets.evenFooters);
                 delete frameSets.evenFooters;
             }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic