fix for vertical panels identifying top borders

--use also floating screen edge margin in order to identify
if the top or bottom borders of a vertical dock or panel
should be drawn
pull/27/head
Michail Vourlakos 3 years ago
parent 7ff8deb0b5
commit 57ec2b3851

@ -673,7 +673,7 @@ void Positioner::validateTopBottomBorders(QRect availableScreenRect, QRegion ava
if (availableScreenRect.top() != m_view->screenGeometry().top()) { if (availableScreenRect.top() != m_view->screenGeometry().top()) {
//! check top border //! check top border
int x = m_view->location() == Plasma::Types::LeftEdge ? m_view->screenGeometry().x() : m_view->screenGeometry().right(); int x = m_view->location() == Plasma::Types::LeftEdge ? m_view->screenGeometry().x() : m_view->screenGeometry().right() - edgeMargin + 1;
QRegion fitInRegion = QRect(x, availableScreenRect.y()-1, edgeMargin, 1); QRegion fitInRegion = QRect(x, availableScreenRect.y()-1, edgeMargin, 1);
QRegion subtracted = fitInRegion.subtracted(availableScreenRegion); QRegion subtracted = fitInRegion.subtracted(availableScreenRegion);
@ -690,7 +690,7 @@ void Positioner::validateTopBottomBorders(QRect availableScreenRect, QRegion ava
if (availableScreenRect.bottom() != m_view->screenGeometry().bottom()) { if (availableScreenRect.bottom() != m_view->screenGeometry().bottom()) {
//! check top border //! check top border
int x = m_view->location() == Plasma::Types::LeftEdge ? m_view->screenGeometry().x() : m_view->screenGeometry().right(); int x = m_view->location() == Plasma::Types::LeftEdge ? m_view->screenGeometry().x() : m_view->screenGeometry().right() - edgeMargin + 1;
QRegion fitInRegion = QRect(x, availableScreenRect.bottom()+1, edgeMargin, 1); QRegion fitInRegion = QRect(x, availableScreenRect.bottom()+1, edgeMargin, 1);
QRegion subtracted = fitInRegion.subtracted(availableScreenRegion); QRegion subtracted = fitInRegion.subtracted(availableScreenRegion);

Loading…
Cancel
Save