-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()
|
void ExtenderGroup::expandGroup()
|
||||||
{
|
{
|
||||||
|
if (d->autoCollapse) {
|
||||||
|
setCollapsed(false);
|
||||||
|
}
|
||||||
if (d->collapsed == false) {
|
if (d->collapsed == false) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -134,6 +164,9 @@ void ExtenderGroup::expandGroup()
|
|||||||
|
|
||||||
void ExtenderGroup::collapseGroup()
|
void ExtenderGroup::collapseGroup()
|
||||||
{
|
{
|
||||||
|
if (d->autoCollapse) {
|
||||||
|
setCollapsed(true);
|
||||||
|
}
|
||||||
if (d->collapsed == true) {
|
if (d->collapsed == true) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -155,7 +188,8 @@ ExtenderGroupPrivate::ExtenderGroupPrivate(ExtenderGroup *group)
|
|||||||
: q(group),
|
: q(group),
|
||||||
svg(new Svg(group)),
|
svg(new Svg(group)),
|
||||||
collapsed(true),
|
collapsed(true),
|
||||||
autoHide(true)
|
autoHide(true),
|
||||||
|
autoCollapse(true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,6 +51,8 @@ class PLASMA_EXPORT ExtenderGroup : public ExtenderItem
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(bool autoHide READ autoHide WRITE setAutoHide)
|
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:
|
public:
|
||||||
/**
|
/**
|
||||||
@ -72,11 +74,35 @@ class PLASMA_EXPORT ExtenderGroup : public ExtenderItem
|
|||||||
bool autoHide() const;
|
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);
|
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:
|
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.
|
* 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));
|
widget->setPos(QPointF(d->bgLeft + d->dragLeft, panelSize.height() + d->bgTop));
|
||||||
d->widget = widget;
|
d->widget = widget;
|
||||||
d->updateSizeHints();
|
d->updateSizeHints();
|
||||||
|
d->widget->setVisible(!d->collapsed);
|
||||||
}
|
}
|
||||||
|
|
||||||
QGraphicsItem *ExtenderItem::widget() const
|
QGraphicsItem *ExtenderItem::widget() const
|
||||||
|
@ -41,6 +41,7 @@ class ExtenderGroupPrivate
|
|||||||
Plasma::Svg *svg;
|
Plasma::Svg *svg;
|
||||||
bool collapsed;
|
bool collapsed;
|
||||||
bool autoHide;
|
bool autoHide;
|
||||||
|
bool autoCollapse;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user