Author: jghali
Date: Thu May 21 17:36:59 2020
New Revision: 23822

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23822
Log:
Some code simplification thanks to PageItemIterator

Modified:
    trunk/Scribus/scribus/ui/prefs_pdfexport.cpp
    trunk/Scribus/scribus/ui/tabpdfoptions.cpp

Modified: trunk/Scribus/scribus/ui/prefs_pdfexport.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23822&path=/trunk/Scribus/scribus/ui/prefs_pdfexport.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/prefs_pdfexport.cpp        (original)
+++ trunk/Scribus/scribus/ui/prefs_pdfexport.cpp        Thu May 21 17:36:59 2020
@@ -9,6 +9,7 @@
 #include <QAbstractItemView>
 
 #include "iconmanager.h"
+#include "pageitemiterator.h"
 #include "prefsstructs.h"
 #include "scribuscore.h"
 #include "scribusdoc.h"
@@ -293,53 +294,13 @@
        fontEmbeddingCombo->setEmbeddingMode(prefsData->pdfPrefs.FontEmbedding);
        if (m_doc != nullptr && exportingPDF)
        {
-//     Build a list of all Fonts used in Annotations;
-               PageItem *pgit;
-               QList<PageItem*> allItems;
-               for (auto it = m_doc->FrameItems.begin(); it != 
m_doc->FrameItems.end(); ++it)
-               {
-                       PageItem *currItem = it.value();
-                       if (currItem->isGroup())
-                               allItems = currItem->getAllChildren();
-                       else
-                               allItems.append(currItem);
-                       for (int ii = 0; ii < allItems.count(); ii++)
-                       {
-                               pgit = allItems.at(ii);
-                               if (((pgit->itemType() == PageItem::TextFrame) 
|| (pgit->itemType() == PageItem::PathText)) && (pgit->isAnnotation()) && 
(pgit->itemText.length() > 0))
-                                       
AnnotationFonts.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(),
 "");
-                       }
-                       allItems.clear();
-               }
-               for (int a = 0; a < m_doc->MasterItems.count(); ++a)
-               {
-                       PageItem *currItem = m_doc->MasterItems.at(a);
-                       if (currItem->isGroup())
-                               allItems = currItem->getAllChildren();
-                       else
-                               allItems.append(currItem);
-                       for (int ii = 0; ii < allItems.count(); ii++)
-                       {
-                               pgit = allItems.at(ii);
-                               if (((pgit->itemType() == PageItem::TextFrame) 
|| (pgit->itemType() == PageItem::PathText)) && (pgit->isAnnotation()) && 
(pgit->itemText.length() > 0))
-                                       
AnnotationFonts.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(),
 "");
-                       }
-                       allItems.clear();
-               }
-               for (int a = 0; a < m_doc->DocItems.count(); ++a)
-               {
-                       PageItem *currItem = m_doc->DocItems.at(a);
-                       if (currItem->isGroup())
-                               allItems = currItem->getAllChildren();
-                       else
-                               allItems.append(currItem);
-                       for (int ii = 0; ii < allItems.count(); ii++)
-                       {
-                               pgit = allItems.at(ii);
-                               if (((pgit->itemType() == PageItem::TextFrame) 
|| (pgit->itemType() == PageItem::PathText)) && (pgit->isAnnotation()) && 
(pgit->itemText.length() > 0))
-                                       
AnnotationFonts.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(),
 "");
-                       }
-                       allItems.clear();
+               //      Build a list of all Fonts used in Annotations;
+               int pageItOptions = PageItemIterator::IterateInGroups | 
PageItemIterator::IterateInDocItems | PageItemIterator::IterateInMasterItems | 
PageItemIterator::IterateInFrameItems;
+               for (PageItemIterator it(m_doc, pageItOptions); *it; ++it)
+               {
+                       PageItem *currItem = *it;
+                       if (((currItem->itemType() == PageItem::TextFrame) || 
(currItem->itemType() == PageItem::PathText)) && (currItem->isAnnotation()) && 
(currItem->itemText.length() > 0))
+                               
AnnotationFonts.insert(currItem->itemText.defaultStyle().charStyle().font().replacementName(),
 QString());
                }
                toSubsetButton->setEnabled(false);
                fromSubsetButton->setEnabled(false);

Modified: trunk/Scribus/scribus/ui/tabpdfoptions.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23822&path=/trunk/Scribus/scribus/ui/tabpdfoptions.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/tabpdfoptions.cpp  (original)
+++ trunk/Scribus/scribus/ui/tabpdfoptions.cpp  Thu May 21 17:36:59 2020
@@ -34,18 +34,17 @@
 #include <QToolButton>
 #include <QVBoxLayout>
 
-
-#include "ui/createrange.h"
+#include "iconmanager.h"
+#include "pageitemiterator.h"
 #include "pdfoptions.h"
 #include "prefsmanager.h"
+#include "scconfig.h"
 #include "scribuscore.h"
 #include "scribusview.h"
-#include "scconfig.h"
+#include "ui/createrange.h"
+#include "ui/scrspinbox.h"
 #include "units.h"
 #include "usertaskstructs.h"
-#include "ui/scrspinbox.h"
-#include "iconmanager.h"
-#include "scribuscore.h"
 #include "util.h"
 
 TabPDFOptions::TabPDFOptions(QWidget* parent, PDFOptions & Optionen,
@@ -389,67 +388,17 @@
        FromSubset->setEnabled(false); // Will be enabled when user select a 
font in appropriate list
 
 //     Build a list of all Fonts used in Annotations;
-       PageItem *pgit;
-       QList<PageItem*> allItems;
-       for (QHash<int, PageItem*>::iterator it = m_Doc->FrameItems.begin(); it 
!= m_Doc->FrameItems.end(); ++it)
-       {
-               PageItem *currItem = it.value();
-               if (currItem->isGroup())
-                       allItems = currItem->getAllChildren();
-               else
-                       allItems.append(currItem);
-               for (int ii = 0; ii < allItems.count(); ii++)
-               {
-                       pgit = allItems.at(ii);
-                       if (((pgit->itemType() == PageItem::TextFrame) || 
(pgit->itemType() == PageItem::PathText)) && (pgit->isAnnotation()))
-                       {
-                               int annotType  = pgit->annotation().Type();
-                               bool mustEmbed = ((annotType >= 
Annotation::Button) && (annotType <= Annotation::Listbox) && (annotType != 
Annotation::Checkbox));
-                               if (pgit->itemText.length() > 0 || mustEmbed)
-                                       
m_annotationFonts.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(),
 "");
-                       }
-               }
-               allItems.clear();
-       }
-       for (int a = 0; a < m_Doc->MasterItems.count(); ++a)
-       {
-               PageItem *currItem = m_Doc->MasterItems.at(a);
-               if (currItem->isGroup())
-                       allItems = currItem->getAllChildren();
-               else
-                       allItems.append(currItem);
-               for (int ii = 0; ii < allItems.count(); ii++)
-               {
-                       pgit = allItems.at(ii);
-                       if (((pgit->itemType() == PageItem::TextFrame) || 
(pgit->itemType() == PageItem::PathText)) && (pgit->isAnnotation()))
-                       {
-                               int annotType  = pgit->annotation().Type();
-                               bool mustEmbed = ((annotType >= 
Annotation::Button) && (annotType <= Annotation::Listbox) && (annotType != 
Annotation::Checkbox));
-                               if (pgit->itemText.length() > 0 || mustEmbed)
-                                       
m_annotationFonts.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(),
 "");
-                       }
-               }
-               allItems.clear();
-       }
-       for (int a = 0; a < m_Doc->DocItems.count(); ++a)
-       {
-               PageItem *currItem = m_Doc->DocItems.at(a);
-               if (currItem->isGroup())
-                       allItems = currItem->getAllChildren();
-               else
-                       allItems.append(currItem);
-               for (int ii = 0; ii < allItems.count(); ii++)
-               {
-                       pgit = allItems.at(ii);
-                       if (((pgit->itemType() == PageItem::TextFrame) || 
(pgit->itemType() == PageItem::PathText)) && (pgit->isAnnotation()))
-                       {
-                               int annotType  = pgit->annotation().Type();
-                               bool mustEmbed = ((annotType >= 
Annotation::Button) && (annotType <= Annotation::Listbox) && (annotType != 
Annotation::Checkbox));
-                               if (pgit->itemText.length() > 0 || mustEmbed)
-                                       
m_annotationFonts.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(),
 "");
-                       }
-               }
-               allItems.clear();
+       int pageItOptions = PageItemIterator::IterateInGroups | 
PageItemIterator::IterateInDocItems | PageItemIterator::IterateInMasterItems | 
PageItemIterator::IterateInFrameItems;
+       for (PageItemIterator it(m_Doc, pageItOptions); *it; ++it)
+       {
+               PageItem *currItem = *it;
+               if (((currItem->itemType() == PageItem::TextFrame) || 
(currItem->itemType() == PageItem::PathText)) && (currItem->isAnnotation()))
+               {
+                       int annotType  = currItem->annotation().Type();
+                       bool mustEmbed = ((annotType >= Annotation::Button) && 
(annotType <= Annotation::Listbox) && (annotType != Annotation::Checkbox));
+                       if (currItem->itemText.length() > 0 || mustEmbed)
+                               
m_annotationFonts.insert(currItem->itemText.defaultStyle().charStyle().font().replacementName(),
 QString());
+               }
        }
        ToSubset->setEnabled(false);
        FromSubset->setEnabled(false);


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

Reply via email to