Author: jghali
Date: Tue Dec 12 12:12:28 2017
New Revision: 22246

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22246
Log:
use QScopedPointer in a few places to simplify code

Modified:
    trunk/Scribus/scribus/scribus.cpp

Modified: trunk/Scribus/scribus/scribus.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22246&path=/trunk/Scribus/scribus/scribus.cpp
==============================================================================
--- trunk/Scribus/scribus/scribus.cpp   (original)
+++ trunk/Scribus/scribus/scribus.cpp   Tue Dec 12 12:12:28 2017
@@ -5028,69 +5028,68 @@
 {
        ColorList UsedC;
        doc->getUsedColors(UsedC);
-       selectDialog *dia = new selectDialog(this, UsedC, doc->unitIndex());
-       if (dia->exec())
-       {
-               PageItem *currItem;
-               view->Deselect();
-               uint docItemsCount = doc->Items->count();
-               int docCurrentPage = doc->currentPageNumber();
-               doc->m_Selection->delaySignalsOn();
-               int range = dia->getSelectionRange();
-               for (uint a = 0; a < docItemsCount; ++a)
-               {
-                       currItem = doc->Items->at(a);
-                       if ((currItem->LayerID == doc->activeLayer()) && 
(!doc->layerLocked(currItem->LayerID)))
+       QScopedPointer<selectDialog> dia(new selectDialog(this, UsedC, 
doc->unitIndex()));
+       if (!dia->exec())
+               return;
+
+       PageItem *currItem;
+       view->Deselect();
+       uint docItemsCount = doc->Items->count();
+       int docCurrentPage = doc->currentPageNumber();
+       doc->m_Selection->delaySignalsOn();
+       int range = dia->getSelectionRange();
+       for (uint a = 0; a < docItemsCount; ++a)
+       {
+               currItem = doc->Items->at(a);
+               if ((currItem->LayerID == doc->activeLayer()) && 
(!doc->layerLocked(currItem->LayerID)))
+               {
+                       if ((range == 0) && (currItem->OwnPage != 
docCurrentPage))
+                               continue;
+                       if ((range == 2) && (currItem->OwnPage != -1))
+                               continue;
+                       if (dia->useAttributes())
                        {
-                               if ((range == 0) && (currItem->OwnPage != 
docCurrentPage))
+                               bool useType = false;
+                               bool useFill = false;
+                               bool useLine = false;
+                               bool useLWidth = false;
+                               bool usePrint = false;
+                               bool useLocked = false;
+                               bool useResize = false;
+                               dia->getUsedAttributes(useType, useFill, 
useLine, useLWidth, usePrint, useLocked, useResize);
+                               int Type = 0;
+                               QString Fill = "";
+                               QString Line = "";
+                               double LWidth = 0.0;
+                               bool Print = false;
+                               bool Locked = false;
+                               bool Resize = false;
+                               dia->getUsedAttributesValues(Type, Fill, Line, 
LWidth, Print, Locked, Resize);
+                               LWidth = LWidth / doc->unitRatio();
+                               if ((useType) && (Type != 
currItem->realItemType()))
                                        continue;
-                               if ((range == 2) && (currItem->OwnPage != -1))
+                               if ((useFill) && ((Fill != 
currItem->fillColor()) || (currItem->GrType != 0)))
                                        continue;
-                               if (dia->useAttributes())
-                               {
-                                       bool useType = false;
-                                       bool useFill = false;
-                                       bool useLine = false;
-                                       bool useLWidth = false;
-                                       bool usePrint = false;
-                                       bool useLocked = false;
-                                       bool useResize = false;
-                                       dia->getUsedAttributes(useType, 
useFill, useLine, useLWidth, usePrint, useLocked, useResize);
-                                       int Type = 0;
-                                       QString Fill = "";
-                                       QString Line = "";
-                                       double LWidth = 0.0;
-                                       bool Print = false;
-                                       bool Locked = false;
-                                       bool Resize = false;
-                                       dia->getUsedAttributesValues(Type, 
Fill, Line, LWidth, Print, Locked, Resize);
-                                       LWidth = LWidth / doc->unitRatio();
-                                       if ((useType) && (Type != 
currItem->realItemType()))
-                                               continue;
-                                       if ((useFill) && ((Fill != 
currItem->fillColor()) || (currItem->GrType != 0)))
-                                               continue;
-                                       if ((useLine) && (Line != 
currItem->lineColor()))
-                                               continue;
-                                       if ((useLWidth) && ((LWidth != 
currItem->lineWidth()) || (currItem->lineColor() == CommonStrings::None)))
-                                               continue;
-                                       if ((usePrint) && (Print != 
currItem->printEnabled()))
-                                               continue;
-                                       if ((useLocked) && (Locked != 
currItem->locked()))
-                                               continue;
-                                       if ((useResize) && (Resize != 
currItem->sizeLocked()))
-                                               continue;
-                                       doc->m_Selection->addItem(currItem);
-                               }
-                               else
-                                       doc->m_Selection->addItem(currItem);
+                               if ((useLine) && (Line != 
currItem->lineColor()))
+                                       continue;
+                               if ((useLWidth) && ((LWidth != 
currItem->lineWidth()) || (currItem->lineColor() == CommonStrings::None)))
+                                       continue;
+                               if ((usePrint) && (Print != 
currItem->printEnabled()))
+                                       continue;
+                               if ((useLocked) && (Locked != 
currItem->locked()))
+                                       continue;
+                               if ((useResize) && (Resize != 
currItem->sizeLocked()))
+                                       continue;
+                               doc->m_Selection->addItem(currItem);
                        }
-               }
-               doc->m_Selection->delaySignalsOff();
-               if (doc->m_Selection->count() > 1)
-                       doc->m_Selection->setGroupRect();
-               view->DrawNew();
-       }
-       delete dia;
+                       else
+                               doc->m_Selection->addItem(currItem);
+               }
+       }
+       doc->m_Selection->delaySignalsOff();
+       if (doc->m_Selection->count() > 1)
+               doc->m_Selection->setGroupRect();
+       view->DrawNew();
 }
 
 void ScribusMainWindow::SelectAll(bool docWideSelect)
@@ -6290,24 +6289,23 @@
        if (doc->appMode == modeEditClip)
                view->requestMode(submodeEndNodeEdit);
        QString currPageMasterPageName(doc->currentPage()->MPageNam);
-       PagePropertiesDialog *dia = new PagePropertiesDialog(this, doc);
-       if (dia->exec())
-       {
-               int orientation = dia->getPageOrientation();
-               double pageHeight = dia->getPageHeight();
-               double pageWidth = dia->getPageWidth();
-               QString pageSizeName = dia->getPrefsPageSizeName();
-               int lp=0;
-               if (doc->masterPageMode() && doc->pagePositioning() != 
singlePage)
-                       lp = dia->pageOrder();
-               doc->changePageProperties(dia->top(), dia->bottom(), 
dia->left(), dia->right(),
-                                                          pageHeight, 
pageWidth, pageHeight, pageWidth, orientation,
-                                                          pageSizeName, 
dia->getMarginPreset(), dia->getMoveObjects(), doc->currentPage()->pageNr(), 
lp);
-               if (!doc->masterPageMode() && dia->masterPage() != 
currPageMasterPageName)
-                       Apply_MasterPage(dia->masterPage(), 
doc->currentPage()->pageNr());
-               doc->updateEndnotesFrames();
-       }
-       delete dia;
+       QScopedPointer<PagePropertiesDialog> dia(new PagePropertiesDialog(this, 
doc));
+       if (!dia->exec())
+               return;
+
+       int orientation = dia->getPageOrientation();
+       double pageHeight = dia->getPageHeight();
+       double pageWidth = dia->getPageWidth();
+       QString pageSizeName = dia->getPrefsPageSizeName();
+       int lp=0;
+       if (doc->masterPageMode() && doc->pagePositioning() != singlePage)
+               lp = dia->pageOrder();
+       doc->changePageProperties(dia->top(), dia->bottom(), dia->left(), 
dia->right(),
+                                                       pageHeight, pageWidth, 
pageHeight, pageWidth, orientation,
+                                                       pageSizeName, 
dia->getMarginPreset(), dia->getMoveObjects(), doc->currentPage()->pageNr(), 
lp);
+       if (!doc->masterPageMode() && dia->masterPage() != 
currPageMasterPageName)
+               Apply_MasterPage(dia->masterPage(), 
doc->currentPage()->pageNr());
+       doc->updateEndnotesFrames();
 }
 
 void ScribusMainWindow::SetNewFont(const QString& nf)
@@ -7786,42 +7784,44 @@
 void ScribusMainWindow::ApplyMasterPage()
 {
        Q_ASSERT(!doc->masterPageMode());
-       ApplyMasterPageDialog *dia = new ApplyMasterPageDialog(this);
+
+       QScopedPointer<ApplyMasterPageDialog> dia(new 
ApplyMasterPageDialog(this));
        dia->setup(doc, doc->currentPage()->MPageNam);
-       if (dia->exec())
-       {
-               QString masterPageName = dia->getMasterPageName();
-               int pageSelection = dia->getPageSelection(); //0=current, 
1=even, 2=odd, 3=all
-               if (pageSelection==0) //current page only
-                       Apply_MasterPage(masterPageName, 
doc->currentPage()->pageNr(), false);
+       if (!dia->exec())
+               return;
+
+       QString masterPageName = dia->getMasterPageName();
+       int pageSelection = dia->getPageSelection(); //0=current, 1=even, 
2=odd, 3=all
+       if (pageSelection == 0) //current page only
+               Apply_MasterPage(masterPageName, doc->currentPage()->pageNr(), 
false);
+       else
+       {
+               int startPage, endPage;
+               if (dia->usingRange())
+               {
+                       startPage = dia->getFromPage()-1; //Pages start from 0, 
not 1
+                       endPage = dia->getToPage();
+               }
                else
                {
-                       int startPage, endPage;
-                       if (dia->usingRange())
-                       {
-                               startPage=dia->getFromPage()-1; //Pages start 
from 0, not 1
-                               endPage=dia->getToPage();
-                       }
+                       startPage = pageSelection==1 ? 1 : 0; //if even, 
startPage is 1 (real page 2)
+                       endPage = doc->DocPages.count();
+               }
+               for (int pageNum = startPage; pageNum < endPage; ++pageNum)// 
+=pageStep)
+               {
+                       //Increment by 1 and not 2 even for even/odd 
application as user
+                       //can select to eg apply to even pages with a single 
odd page selected
+                       if (pageSelection == 1 && (pageNum %2 != 0)) //Even, 
%2!=0 as 1st page is numbered 0
+                               Apply_MasterPage(masterPageName, pageNum, 
false);
                        else
-                       {
-                               startPage = pageSelection==1 ? 1 : 0; //if 
even, startPage is 1 (real page 2)
-                               endPage=doc->DocPages.count();
-                       }
-                       for (int pageNum = startPage; pageNum < endPage; 
++pageNum)// +=pageStep)
-                       {
-                               //Increment by 1 and not 2 even for even/odd 
application as user
-                               //can select to eg apply to even pages with a 
single odd page selected
-                               if (pageSelection==1 && pageNum%2!=0) //Even, 
%2!=0 as 1st page is numbered 0
-                                       Apply_MasterPage(masterPageName, 
pageNum, false);
-                               else
-                               if (pageSelection==2 && pageNum%2==0) //Odd, 
%2==0 as 1st page is numbered 0
-                                       Apply_MasterPage(masterPageName, 
pageNum, false);
-                               else
-                               if (pageSelection==3) //All
-                                       Apply_MasterPage(masterPageName, 
pageNum, false);
-                       }
-               }
-       }
+                       if (pageSelection == 2 && (pageNum %2 == 0)) //Odd, 
%2==0 as 1st page is numbered 0
+                               Apply_MasterPage(masterPageName, pageNum, 
false);
+                       else
+                       if (pageSelection == 3) //All
+                               Apply_MasterPage(masterPageName, pageNum, 
false);
+               }
+       }
+
        view->reformPages();
        view->DrawNew();
        pagePalette->Rebuild();
@@ -7829,7 +7829,6 @@
        // Otherwise setupPage() will apply guides to current page, doesn't 
need that, 
        // Apply_MasterPage() has already done it
        guidePalette->setupPage(false);
-       delete dia;
 }
 
 void ScribusMainWindow::Apply_MasterPage(QString pageName, int pageNumber, 
bool reb)
@@ -9386,23 +9385,22 @@
 
        ColorList UsedC;
        doc->getUsedColors(UsedC);
-       replaceColorsDialog *dia2 = new replaceColorsDialog(this, 
doc->PageColors, UsedC);
-       if (dia2->exec())
-       {
-               ResourceCollection colorrsc;
-               colorrsc.mapColors(dia2->replaceMap);
-               PrefsManager::replaceToolColors(doc->itemToolPrefs(), 
colorrsc.colors());
-               doc->replaceNamedResources(colorrsc);
-               doc->replaceLineStyleColors(dia2->replaceMap);
-               doc->recalculateColors();
-               doc->recalcPicturesRes();
-               requestUpdate(reqColorsUpdate | reqLineStylesUpdate);
-               m_styleManager->updateColorList();
-               if (!doc->m_Selection->isEmpty())
-                       doc->m_Selection->itemAt(0)->emitAllToGUI();
-               view->DrawNew();
-       }
-       delete dia2;
+       QScopedPointer<replaceColorsDialog> dia2(new replaceColorsDialog(this, 
doc->PageColors, UsedC));
+       if (!dia2->exec())
+               return;
+
+       ResourceCollection colorrsc;
+       colorrsc.mapColors(dia2->replaceMap);
+       PrefsManager::replaceToolColors(doc->itemToolPrefs(), 
colorrsc.colors());
+       doc->replaceNamedResources(colorrsc);
+       doc->replaceLineStyleColors(dia2->replaceMap);
+       doc->recalculateColors();
+       doc->recalcPicturesRes();
+       requestUpdate(reqColorsUpdate | reqLineStylesUpdate);
+       m_styleManager->updateColorList();
+       if (!doc->m_Selection->isEmpty())
+               doc->m_Selection->itemAt(0)->emitAllToGUI();
+       view->DrawNew();
 }
 
 void ScribusMainWindow::updateGUIAfterPagesChanged()


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

Reply via email to