Reduce calls to ShellCorona::screenForContainment
Just store some values instead of calling repeatedly without reason.
This commit is contained in:
parent
cc661dfdd6
commit
da190fa711
@ -170,14 +170,15 @@ void ContainmentInterface::setContainmentType(Plasma::Types::ContainmentType typ
|
|||||||
QVariantList ContainmentInterface::availableScreenRegion() const
|
QVariantList ContainmentInterface::availableScreenRegion() const
|
||||||
{
|
{
|
||||||
QRegion reg = QRect(0, 0, width(), height());
|
QRegion reg = QRect(0, 0, width(), height());
|
||||||
if (containment()->screen() > -1 && containment()->corona()) {
|
int screenId = screen();
|
||||||
reg = containment()->corona()->availableScreenRegion(containment()->screen());
|
if (screenId > -1 && containment()->corona()) {
|
||||||
|
reg = containment()->corona()->availableScreenRegion(screenId);
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariantList regVal;
|
QVariantList regVal;
|
||||||
foreach (QRect rect, reg.rects()) {
|
foreach (QRect rect, reg.rects()) {
|
||||||
//make it relative
|
//make it relative
|
||||||
QRect geometry = containment()->corona()->screenGeometry(containment()->screen());
|
QRect geometry = containment()->corona()->screenGeometry(screenId);
|
||||||
rect.moveTo(rect.topLeft() - geometry.topLeft());
|
rect.moveTo(rect.topLeft() - geometry.topLeft());
|
||||||
regVal << QVariant::fromValue(QRectF(rect));
|
regVal << QVariant::fromValue(QRectF(rect));
|
||||||
}
|
}
|
||||||
@ -188,10 +189,12 @@ QRect ContainmentInterface::availableScreenRect() const
|
|||||||
{
|
{
|
||||||
QRect rect(0, 0, width(), height());
|
QRect rect(0, 0, width(), height());
|
||||||
|
|
||||||
if (containment()->screen() > -1 && containment()->corona()) {
|
int screenId = screen();
|
||||||
rect = containment()->corona()->availableScreenRect(containment()->screen());
|
|
||||||
|
if (screenId > -1 && containment()->corona()) {
|
||||||
|
rect = containment()->corona()->availableScreenRect(screenId);
|
||||||
//make it relative
|
//make it relative
|
||||||
QRect geometry = containment()->corona()->screenGeometry(containment()->screen());
|
QRect geometry = containment()->corona()->screenGeometry(screenId);
|
||||||
rect.moveTo(rect.topLeft() - geometry.topLeft());
|
rect.moveTo(rect.topLeft() - geometry.topLeft());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user