position correctly vertical views

--use the way horizontal views are positioned
in order to fix vertical views positioning both
for docks and panels
pull/5/head
Michail Vourlakos 6 years ago
parent 67f0644b7f
commit 2be8ba0b06

@ -398,8 +398,8 @@ void Positioner::validateDockGeometry()
QRect Positioner::maximumNormalGeometry() QRect Positioner::maximumNormalGeometry()
{ {
int xPos = 0; int xPos = 0;
int yPos = 0; int yPos = m_view->screen()->geometry().y();;
int maxHeight = m_view->maxLength() * m_view->screen()->geometry().height(); int maxHeight = m_view->screen()->geometry().height();
int maxWidth = m_view->normalThickness(); int maxWidth = m_view->normalThickness();
QRect maxGeometry; QRect maxGeometry;
maxGeometry.setRect(0, 0, maxWidth, maxHeight); maxGeometry.setRect(0, 0, maxWidth, maxHeight);
@ -407,43 +407,11 @@ QRect Positioner::maximumNormalGeometry()
switch (m_view->location()) { switch (m_view->location()) {
case Plasma::Types::LeftEdge: case Plasma::Types::LeftEdge:
xPos = m_view->screen()->geometry().x(); xPos = m_view->screen()->geometry().x();
switch (m_view->alignment()) {
case Latte::Types::Top:
yPos = m_view->screen()->geometry().y();
break;
case Latte::Types::Center:
case Latte::Types::Justify:
yPos = qMax(m_view->screen()->geometry().center().y() - maxHeight / 2, m_view->screen()->geometry().y());
break;
case Latte::Types::Bottom:
yPos = m_view->screen()->geometry().bottom() - maxHeight + 1;
break;
}
maxGeometry.setRect(xPos, yPos, maxWidth, maxHeight); maxGeometry.setRect(xPos, yPos, maxWidth, maxHeight);
break; break;
case Plasma::Types::RightEdge: case Plasma::Types::RightEdge:
xPos = m_view->screen()->geometry().right() - maxWidth + 1; xPos = m_view->screen()->geometry().right() - maxWidth + 1;
switch (m_view->alignment()) {
case Latte::Types::Top:
yPos = m_view->screen()->geometry().y();
break;
case Latte::Types::Center:
case Latte::Types::Justify:
yPos = qMax(m_view->screen()->geometry().center().y() - maxHeight / 2, m_view->screen()->geometry().y());
break;
case Latte::Types::Bottom:
yPos = m_view->screen()->geometry().bottom() - maxHeight + 1;
break;
}
maxGeometry.setRect(xPos, yPos, maxWidth, maxHeight); maxGeometry.setRect(xPos, yPos, maxWidth, maxHeight);
break; break;
@ -498,7 +466,7 @@ void Positioner::updatePosition(QRect availableScreenRect)
break; break;
case Plasma::Types::RightEdge: case Plasma::Types::RightEdge:
if (m_view->behaveAsPlasmaPanel() && !m_view->mask().isNull()) { if (m_view->behaveAsPlasmaPanel()) {
position = {availableScreenRect.right() - cleanThickness + 1, position = {availableScreenRect.right() - cleanThickness + 1,
availableScreenRect.y() + length(availableScreenRect.height()) availableScreenRect.y() + length(availableScreenRect.height())
}; };
@ -509,7 +477,7 @@ void Positioner::updatePosition(QRect availableScreenRect)
break; break;
case Plasma::Types::LeftEdge: case Plasma::Types::LeftEdge:
if (m_view->behaveAsPlasmaPanel() && !m_view->mask().isNull()) { if (m_view->behaveAsPlasmaPanel()) {
position = {availableScreenRect.x(), availableScreenRect.y() + length(availableScreenRect.height())}; position = {availableScreenRect.x(), availableScreenRect.y() + length(availableScreenRect.height())};
} else { } else {
position = {availableScreenRect.x(), availableScreenRect.y()}; position = {availableScreenRect.x(), availableScreenRect.y()};

Loading…
Cancel
Save