[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/kicker/kicker
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2005-06-09 19:15:36
Message-ID: 1118344536.320260.3950.nullmailer () svn ! kde ! org
[Download RAW message or body]
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);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic