-autocollapse property to extendergroup: if it's on when the group collapses/expands theextenderItem collapses/expands as well (default false)
-isGroupcollapsed/setGroupCollapsed to unform APi with ExtenderItem svn path=/trunk/KDE/kdelibs/; revision=1066229
This commit is contained in:
parent
763ac6b862
commit
b521f3e158
@ -114,8 +114,38 @@ void ExtenderGroup::setAutoHide(bool autoHide)
|
||||
}
|
||||
}
|
||||
|
||||
bool ExtenderGroup::isAutoCollapse() const
|
||||
{
|
||||
return d->autoCollapse;
|
||||
}
|
||||
|
||||
void ExtenderGroup::setAutoCollapse(bool collapse)
|
||||
{
|
||||
d->autoCollapse = collapse;
|
||||
if (collapse) {
|
||||
setCollapsed(d->collapsed);
|
||||
}
|
||||
}
|
||||
|
||||
bool ExtenderGroup::isGroupCollapsed() const
|
||||
{
|
||||
return d->collapsed;
|
||||
}
|
||||
|
||||
void ExtenderGroup::setGroupCollapsed(bool collapsed)
|
||||
{
|
||||
if (collapsed) {
|
||||
collapseGroup();
|
||||
} else {
|
||||
expandGroup();
|
||||
}
|
||||
}
|
||||
|
||||
void ExtenderGroup::expandGroup()
|
||||
{
|
||||
if (d->autoCollapse) {
|
||||
setCollapsed(false);
|
||||
}
|
||||
if (d->collapsed == false) {
|
||||
return;
|
||||
}
|
||||
@ -134,6 +164,9 @@ void ExtenderGroup::expandGroup()
|
||||
|
||||
void ExtenderGroup::collapseGroup()
|
||||
{
|
||||
if (d->autoCollapse) {
|
||||
setCollapsed(true);
|
||||
}
|
||||
if (d->collapsed == true) {
|
||||
return;
|
||||
}
|
||||
@ -155,7 +188,8 @@ ExtenderGroupPrivate::ExtenderGroupPrivate(ExtenderGroup *group)
|
||||
: q(group),
|
||||
svg(new Svg(group)),
|
||||
collapsed(true),
|
||||
autoHide(true)
|
||||
autoHide(true),
|
||||
autoCollapse(true)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -51,6 +51,8 @@ class PLASMA_EXPORT ExtenderGroup : public ExtenderItem
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(bool autoHide READ autoHide WRITE setAutoHide)
|
||||
Q_PROPERTY(bool groupCollapsed READ isGroupCollapsed WRITE setGroupCollapsed)
|
||||
Q_PROPERTY(bool autoCollapse READ isAutoCollapse WRITE setAutoCollapse)
|
||||
|
||||
public:
|
||||
/**
|
||||
@ -72,11 +74,35 @@ class PLASMA_EXPORT ExtenderGroup : public ExtenderItem
|
||||
bool autoHide() const;
|
||||
|
||||
/**
|
||||
* @param autoHide whether or not this item hides itself if less then 2 items belong to this group.
|
||||
* @param autoHide whether or not this item hides itself if less then 2 items belong to this group. The default value is true.
|
||||
*/
|
||||
void setAutoHide(bool autoHide);
|
||||
|
||||
/**
|
||||
* @return if the group is collapsed
|
||||
* @since 4.4
|
||||
*/
|
||||
bool isGroupCollapsed() const;
|
||||
|
||||
/**
|
||||
* @return whether or not this item collapses itself when the group gets collapsed
|
||||
* @since 4.4
|
||||
*/
|
||||
bool isAutoCollapse() const;
|
||||
|
||||
/**
|
||||
* @param autoCollapse whether or not this item collapses itself when the group gets collapsed, the default value is false
|
||||
* @since 4.4
|
||||
*/
|
||||
void setAutoCollapse(bool collapse);
|
||||
|
||||
public Q_SLOTS:
|
||||
/**
|
||||
* expands or collapses this group
|
||||
* @since 4.4
|
||||
*/
|
||||
void setGroupCollapsed(bool collapsed);
|
||||
|
||||
/**
|
||||
* Expands this group to show all ExtenderItems that are contained in this group.
|
||||
*/
|
||||
|
@ -198,6 +198,7 @@ void ExtenderItem::setWidget(QGraphicsItem *widget)
|
||||
widget->setPos(QPointF(d->bgLeft + d->dragLeft, panelSize.height() + d->bgTop));
|
||||
d->widget = widget;
|
||||
d->updateSizeHints();
|
||||
d->widget->setVisible(!d->collapsed);
|
||||
}
|
||||
|
||||
QGraphicsItem *ExtenderItem::widget() const
|
||||
|
@ -41,6 +41,7 @@ class ExtenderGroupPrivate
|
||||
Plasma::Svg *svg;
|
||||
bool collapsed;
|
||||
bool autoHide;
|
||||
bool autoCollapse;
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user