From kde-commits Thu Jun 09 19:15:36 2005 From: =?utf-8?q?Aaron=20J=2E=20Seigo?= Date: Thu, 09 Jun 2005 19:15:36 +0000 To: kde-commits Subject: KDE/kdebase/kicker/kicker Message-Id: <1118344536.320260.3950.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=111834455204992 SVN commit 423809 by aseigo: speed up the remove all applets/buttons functions M +27 -3 core/containerarea.cpp M +1 -0 core/containerarea.h M +0 -5 core/containerarealayout.cpp M +1 -2 core/containerarealayout.h M +2 -7 ui/removeapplet_mnu.cpp M +2 -5 ui/removebutton_mnu.cpp --- trunk/KDE/kdebase/kicker/kicker/core/containerarea.cpp #423808:423809 @@ -722,11 +722,35 @@ m_containers.remove(a); m_layout->remove(a); a->deleteLater(); - a = 0; saveContainerConfig(true); resizeContents(); } +void ContainerArea::removeContainers(BaseContainer::List containers) +{ + if (isImmutable()) + { + return; + } + + m_layout->setEnabled(false); + + for (BaseContainer::List::const_iterator it = containers.constBegin(); + it != containers.constEnd(); + ++it) + { + BaseContainer* a = *it; + a->slotRemoved(_config); + m_containers.remove(a); + m_layout->remove(a); + a->deleteLater(); + } + + m_layout->setEnabled(true); + saveContainerConfig(true); + resizeContents(); +} + void ContainerArea::takeContainer(BaseContainer* a) { if (!a) @@ -1142,7 +1166,7 @@ a->setAppletId(createUniqueId(a->appletType())); addContainer(a, true); Kicker::the()->setInsertionPoint(QPoint()); - m_layout->updateContainerList(); + m_layout->updateFreeSpaceValues(); _dragMoveAC = 0; _dragIndicator->hide(); m_layout->setStretchEnabled(true); @@ -1328,7 +1352,7 @@ } addContainer(a, true); - m_layout->updateContainerList(); + m_layout->updateFreeSpaceValues(); } saveContainerConfig(); --- trunk/KDE/kdebase/kicker/kicker/core/containerarea.h #423808:423809 @@ -91,6 +91,7 @@ public slots: void resizeContents(int w, int h); void removeContainer(BaseContainer* a); + void removeContainers(BaseContainer::List containers); void takeContainer(BaseContainer* a); void setPosition(KPanelExtension::Position p); void setAlignment(KPanelExtension::Alignment a); --- trunk/KDE/kdebase/kicker/kicker/core/containerarealayout.cpp #423808:423809 @@ -443,11 +443,6 @@ } } -void ContainerAreaLayout::updateContainerList() -{ - updateFreeSpaceValues(); -} - void ContainerAreaLayout::updateFreeSpaceValues() { int freeSpace = --- trunk/KDE/kdebase/kicker/kicker/core/containerarealayout.h #423808:423809 @@ -90,7 +90,7 @@ void setOrientation(Orientation o) { m_orientation = o; } int heightForWidth(int w) const; int widthForHeight(int h) const; - void updateContainerList(); + void updateFreeSpaceValues(); void moveToFirstFreePosition(BaseContainer* a); void setStretchEnabled(bool enable); @@ -109,7 +109,6 @@ private: int moveContainerPushRecursive(ItemList::const_iterator it, int distance); int distanceToPreviousItem(ItemList::const_iterator it) const; - void updateFreeSpaceValues(); Orientation m_orientation; bool m_stretchEnabled; --- trunk/KDE/kdebase/kicker/kicker/ui/removeapplet_mnu.cpp #423808:423809 @@ -79,7 +79,7 @@ if (m_containers.count() > 1) { insertSeparator(); - insertItem(i18n("All"), this, SLOT(slotRemoveAll())); + insertItem(i18n("All"), this, SLOT(slotRemoveAll()), 0, id); } } @@ -93,10 +93,5 @@ void PanelRemoveAppletMenu::slotRemoveAll() { - for (BaseContainer::List::const_iterator it = m_containers.constBegin(); - it != m_containers.constEnd(); - ++it) - { - m_containerArea->removeContainer(*it); - } + m_containerArea->removeContainers(m_containers); } --- trunk/KDE/kdebase/kicker/kicker/ui/removebutton_mnu.cpp #423808:423809 @@ -89,7 +89,7 @@ if (containers.count() > 1) { insertSeparator(); - insertItem(i18n("All"), this, SLOT(slotRemoveAll())); + insertItem(i18n("All"), this, SLOT(slotRemoveAll()), 0, id); } } @@ -107,8 +107,5 @@ void PanelRemoveButtonMenu::slotRemoveAll() { - for (BaseContainer::Iterator it = containers.begin(); it != containers.end(); ++it) - { - containerArea->removeContainer(*it); - } + containerArea->removeContainers(containers); }