Author: jghali
Date: Thu Oct 10 12:20:57 2019
New Revision: 23254

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23254
Log:
Add function to Selection class for adding multiple items at once

Modified:
    trunk/Scribus/scribus/selection.cpp
    trunk/Scribus/scribus/selection.h

Modified: trunk/Scribus/scribus/selection.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23254&path=/trunk/Scribus/scribus/selection.cpp
==============================================================================
--- trunk/Scribus/scribus/selection.cpp (original)
+++ trunk/Scribus/scribus/selection.cpp Thu Oct 10 12:20:57 2019
@@ -210,6 +210,35 @@
        return false;
 }
 
+bool Selection::addItems(const QList<PageItem *> items)
+{
+       if (items.isEmpty())
+               return false;
+
+       QList< QPointer<PageItem> > toAdd;
+       toAdd.reserve(items.count());
+       for (int i = 0; i < items.count(); ++i)
+       {
+               PageItem* item = items.at(i);
+               if (m_SelList.contains(item))
+                       continue;
+               toAdd.append(item);
+               item->setSelected(true);
+       }
+
+       if (toAdd.count() <= 0)
+               return false;
+
+       m_SelList.append(toAdd);
+       if (m_isGUISelection)
+       {
+               m_sigSelectionChanged = true;
+               m_sigSelectionIsMultiple = true;
+       }
+       sendSignals();
+       return true;
+}
+
 bool Selection::prependItem(PageItem *item, bool /*doEmit*/)
 {
        if (item == nullptr)

Modified: trunk/Scribus/scribus/selection.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=23254&path=/trunk/Scribus/scribus/selection.h
==============================================================================
--- trunk/Scribus/scribus/selection.h   (original)
+++ trunk/Scribus/scribus/selection.h   Thu Oct 10 12:20:57 2019
@@ -78,6 +78,13 @@
                 * @return If the item was added
                 */
                bool addItem(PageItem *item, bool ignoreGUI=false);
+               /**
+                * @brief Add items to the selection. 
+                * If its added to a GUI selection selection and its item 0, 
its connected to the GUI too
+                * @param item Item to add
+                * @return If any item was added
+                */
+               bool addItems(QList<PageItem *> items);
                /**
                 * @brief Prepend an item to the selection. 
                 * If its added to a GUI selection selection and its item 0, 
its connected to the GUI too


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

Reply via email to