position kwinedgehelper properly after startup

BUG:448433
FIXED-IN:0.10.8
pull/27/head
Michail Vourlakos 3 years ago
parent 2cf8e80df9
commit ea88cb57a3

@ -7,6 +7,7 @@
// local // local
#include "../view.h" #include "../view.h"
#include "../positioner.h"
// Qt // Qt
#include <QDebug> #include <QDebug>
@ -41,6 +42,8 @@ ScreenEdgeGhostWindow::ScreenEdgeGhostWindow(Latte::View *view) :
setColor(m_showColor); setColor(m_showColor);
connect(m_latteView->positioner(), &Latte::ViewPart::Positioner::slideOffsetChanged, this, &ScreenEdgeGhostWindow::updateGeometry);
//! this timer is used in order to avoid fast enter/exit signals during first //! this timer is used in order to avoid fast enter/exit signals during first
//! appearing after edge activation //! appearing after edge activation
m_delayedMouseTimer.setSingleShot(true); m_delayedMouseTimer.setSingleShot(true);
@ -95,12 +98,12 @@ void ScreenEdgeGhostWindow::updateGeometry()
if (m_latteView->formFactor() == Plasma::Types::Horizontal) { if (m_latteView->formFactor() == Plasma::Types::Horizontal) {
int leftF = qMax(m_latteView->screenGeometry().left(), m_latteView->absoluteGeometry().left() - lengthDifference); int leftF = qMax(m_latteView->screenGeometry().left(), m_latteView->absoluteGeometry().left() - lengthDifference);
int rightF = qMin(m_latteView->screenGeometry().right(), m_latteView->absoluteGeometry().right() + lengthDifference); int rightF = qMax(m_latteView->screenGeometry().left(), qMin(m_latteView->screenGeometry().right(), m_latteView->absoluteGeometry().right() + lengthDifference));
newGeometry.setLeft(leftF); newGeometry.setLeft(leftF);
newGeometry.setRight(rightF); newGeometry.setRight(rightF);
} else { } else {
int topF = qMax(m_latteView->screenGeometry().top(), m_latteView->absoluteGeometry().top() - lengthDifference); int topF = qMax(m_latteView->screenGeometry().top(), m_latteView->absoluteGeometry().top() - lengthDifference);
int bottomF = qMin(m_latteView->screenGeometry().bottom(), m_latteView->absoluteGeometry().bottom() + lengthDifference); int bottomF = qMax(m_latteView->screenGeometry().top(), qMin(m_latteView->screenGeometry().bottom(), m_latteView->absoluteGeometry().bottom() + lengthDifference));
newGeometry.setTop(topF); newGeometry.setTop(topF);
newGeometry.setBottom(bottomF); newGeometry.setBottom(bottomF);
} }

Loading…
Cancel
Save