mirror of
https://github.com/KDE/latte-dock.git
synced 2025-03-10 04:58:16 +03:00
Left/RightEdge calculations for availableScrRegion
--preparing the infrastructure calculations in order to publish to Plasma 5.18 and greater the availableScreenRectagle and availableScreenRegion that Latte leaves free in current running screens.
This commit is contained in:
parent
4b1580c0bd
commit
0458d53ec9
@ -603,6 +603,67 @@ QRegion Corona::availableScreenRegionWithCriteria(int id,
|
||||
|
||||
break;
|
||||
|
||||
case Plasma::Types::LeftEdge:
|
||||
if (view->behaveAsPlasmaPanel()) {
|
||||
available -= view->geometry();
|
||||
} else {
|
||||
QRect realGeometry;
|
||||
int realHeight = view->maxLength() * view->height();
|
||||
|
||||
switch (view->alignment()) {
|
||||
case Latte::Types::Top:
|
||||
realGeometry = QRect(view->x(), view->y(),
|
||||
realThickness, realHeight);
|
||||
break;
|
||||
|
||||
case Latte::Types::Center:
|
||||
case Latte::Types::Justify:
|
||||
realGeometry = QRect(view->x(), qMax(view->geometry().y(), view->geometry().center().y() - realHeight / 2),
|
||||
realThickness, realHeight);
|
||||
break;
|
||||
|
||||
case Latte::Types::Bottom:
|
||||
realGeometry = QRect(view->x(), view->geometry().bottom() - realHeight + 1,
|
||||
realThickness, realHeight);
|
||||
break;
|
||||
}
|
||||
|
||||
available -= realGeometry;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case Plasma::Types::RightEdge:
|
||||
if (view->behaveAsPlasmaPanel()) {
|
||||
available -= view->geometry();
|
||||
} else {
|
||||
QRect realGeometry;
|
||||
int realHeight = view->maxLength() * view->height();
|
||||
int realX = view->geometry().right() - realThickness + 1;
|
||||
|
||||
switch (view->alignment()) {
|
||||
case Latte::Types::Top:
|
||||
realGeometry = QRect(realX, view->y(),
|
||||
realThickness, realHeight);
|
||||
break;
|
||||
|
||||
case Latte::Types::Center:
|
||||
case Latte::Types::Justify:
|
||||
realGeometry = QRect(realX, qMax(view->geometry().y(), view->geometry().center().y() - realHeight / 2),
|
||||
realThickness, realHeight);
|
||||
break;
|
||||
|
||||
case Latte::Types::Bottom:
|
||||
realGeometry = QRect(realX, view->geometry().bottom() - realHeight + 1,
|
||||
realThickness, realHeight);
|
||||
break;
|
||||
}
|
||||
|
||||
available -= realGeometry;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
//! bypass clang warnings
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user