[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/extragear/graphics/digikam/libs/widgets/graphicsview
From: Andi Clemens <andi.clemens () gmx ! net>
Date: 2010-11-18 16:39:09
Message-ID: 20101118163909.4BC13AC8A0 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1198491 by aclemens:
code polish
M +2 -0 graphicsdimgitem.cpp
M +44 -1 itemvisibilitycontroller.cpp
--- branches/extragear/graphics/digikam/libs/widgets/graphicsview/graphicsdimgitem.cpp \
#1198490:1198491 @@ -61,7 +61,9 @@
void CachedPixmaps::clear()
{
foreach (const CachedPixmapKey& key, keys)
+ {
QPixmapCache::remove(key.key);
+ }
keys.clear();
}
--- branches/extragear/graphics/digikam/libs/widgets/graphicsview/itemvisibilitycontroller.cpp \
#1198490:1198491 @@ -222,7 +222,9 @@
animationGroup = 0; // the same pointer as animation
foreach (QObject *item, items)
+ {
disconnect(item);
+ }
items.clear();
}
@@ -310,8 +312,10 @@
void AnimationControl::moveAllTo(AnimationControl *other)
{
foreach (QObject *item, items)
+ {
moveTo(other, item);
}
+}
bool AnimationControl::hasItem(QObject *o) const
{
@@ -467,9 +471,12 @@
AnimationControl *ItemVisibilityController::ItemVisibilityControllerPriv::findInChildren(QObject \
*item) const {
foreach (AnimationControl *child, childControls)
+ {
if (child->hasItem(item))
+ {
return child;
-
+ }
+ }
return 0;
}
@@ -501,14 +508,18 @@
else if (child->animation == finishedAnimation && child->situation == \
AnimationControl::RemovingControl) {
foreach (QObject* item, child->items)
+ {
emit q->hiddenAndRemoved(item);
+ }
delete child;
it = childControls.erase(it);
}
else
+ {
++it;
}
}
+}
void ItemVisibilityController::ItemVisibilityControllerPriv::setVisible(bool v, bool \
immediately) {
@@ -518,12 +529,18 @@
if (control)
control->transitionToVisible(shallBeShown && visible, immediately);
foreach (AnimationControl* child, childControls)
+ {
if (child->situation == AnimationControl::IndependentControl)
+ {
child->transitionToVisible(shallBeShown && visible, immediately);
+ }
+ }
if (itemShallBeShown)
+ {
setItemVisible(itemShallBeShown, visible, immediately);
}
+}
void ItemVisibilityController::ItemVisibilityControllerPriv::setItemVisible(QObject \
*item, bool visible, bool immediately) {
@@ -604,7 +621,9 @@
d->control->clear();
foreach (AnimationControl *child, d->childControls)
+ {
child->clear();
+ }
d->childControls.clear();
d->visible = false;
@@ -616,7 +635,9 @@
if (d->control)
items = d->control->items;
foreach (AnimationControl *child, d->childControls)
+ {
items += child->items;
+ }
return items;
}
@@ -624,10 +645,16 @@
{
QList<QObject*> items;
if (d->control && d->control->hasVisibleItems(mode))
+ {
items = d->control->items;
+ }
foreach (AnimationControl *child, d->childControls)
+ {
if (child->hasVisibleItems(mode))
+ {
items += child->items;
+ }
+ }
return items;
}
@@ -649,10 +676,16 @@
bool ItemVisibilityController::hasVisibleItems(IncludeFadingOutMode mode) const
{
if (d->control && d->control->hasVisibleItems(mode))
+ {
return true;
+ }
foreach (AnimationControl* child, d->childControls)
+ {
if (child->hasVisibleItems(mode))
+ {
return true;
+ }
+ }
return false;
}
@@ -660,19 +693,27 @@
{
d->easingCurve = easing;
if (d->control)
+ {
d->control->setEasingCurve(easing);
+ }
foreach (AnimationControl* child, d->childControls)
+ {
child->setEasingCurve(easing);
}
+}
void ItemVisibilityController::setAnimationDuration(int msecs)
{
d->animationDuration = msecs;
if (d->control)
+ {
d->control->setAnimationDuration(msecs);
+ }
foreach (AnimationControl* child, d->childControls)
+ {
child->setAnimationDuration(msecs);
}
+}
void ItemVisibilityController::setShallBeShown(bool shallBeShown)
{
@@ -765,9 +806,11 @@
{
child->animationFinished();
foreach (QObject* item, child->items)
+ {
emit propertiesAssigned(item, d->control->state == Visible);
}
}
+ }
// if a child is now in main state, move again to main control
d->cleanupChildren(animation);
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic