From kde-commits Wed Jun 30 21:15:25 2010 From: Marco Martin Date: Wed, 30 Jun 2010 21:15:25 +0000 To: kde-commits Subject: KDE/kdebase/workspace/plasma/desktop/shell Message-Id: <20100630211525.594CFAC8E2 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=127793199201131 SVN commit 1144804 by mart: disable the proper shadow borders M +33 -29 panelview.cpp --- trunk/KDE/kdebase/workspace/plasma/desktop/shell/panelview.cpp #1144803:1144804 @@ -227,7 +227,7 @@ m_shadow->setElementPrefix("shadow"); - adjustMargins(); + adjustMargins(geometry()); } bool isValid() const @@ -235,6 +235,33 @@ return m_valid; } + void adjustMargins(const QRect &geo) + { + QRect screenRect = Kephal::ScreenUtils::screenGeometry(m_panel->screen()); + + Plasma::FrameSvg::EnabledBorders enabledBorders = Plasma::FrameSvg::AllBorders; + + if (geo.left() <= screenRect.left()) { + enabledBorders ^= Plasma::FrameSvg::LeftBorder; + } + if (geo.top() <= screenRect.top()) { + enabledBorders ^= Plasma::FrameSvg::TopBorder; + } + if (geo.bottom() >= screenRect.bottom()) { + enabledBorders ^= Plasma::FrameSvg::BottomBorder; + } + if (geo.right() >= screenRect.right()) { + enabledBorders ^= Plasma::FrameSvg::RightBorder; + } + + m_shadow->setEnabledBorders(enabledBorders); + + qreal left, top, right, bottom; + + m_shadow->getMargins(left, top, right, bottom); + setContentsMargins(left, top, right, bottom); + } + protected: bool event(QEvent *event) { @@ -249,7 +276,7 @@ void resizeEvent(QResizeEvent *event) { m_shadow->resizeFrame(event->size()); - adjustMargins(); + adjustMargins(geometry()); } void paintEvent(QPaintEvent *e) @@ -259,32 +286,7 @@ m_shadow->paintFrame(&p, e->rect(), e->rect()); } - void adjustMargins() - { - QRect screenRect = Kephal::ScreenUtils::screenGeometry(m_panel->screen()); - QRect geo = geometry(); - Plasma::FrameSvg::EnabledBorders enabledBorders = Plasma::FrameSvg::AllBorders; - - if (geo.left() <= screenRect.left()) { - enabledBorders ^= Plasma::FrameSvg::LeftBorder; - } - if (geo.top() <= screenRect.top()) { - enabledBorders ^= Plasma::FrameSvg::TopBorder; - } - if (geo.bottom() >= screenRect.bottom()) { - enabledBorders ^= Plasma::FrameSvg::BottomBorder; - } - if (geo.right() >= screenRect.right()) { - enabledBorders ^= Plasma::FrameSvg::RightBorder; - } - - qreal left, top, right, bottom; - - m_shadow->getMargins(left, top, right, bottom); - setContentsMargins(left, top, right, bottom); - } - private: Plasma::FrameSvg *m_shadow; PanelView *m_panel; @@ -472,7 +474,8 @@ KWindowSystem::setOnAllDesktops(m_shadowWindow->winId(), true); m_shadowWindow->setSvg(containment()->property("shadowPath").toString()); int left, right, top, bottom; - m_shadowWindow->getContentsMargins(&left, &right, &top, &bottom); + m_shadowWindow->adjustMargins(geometry()); + m_shadowWindow->getContentsMargins(&left, &top, &right, &bottom); m_shadowWindow->setGeometry(geometry().adjusted(-left, -top, right, bottom)); if (m_shadowWindow->isValid()) { m_shadowWindow->show(); @@ -750,7 +753,8 @@ setGeometry(geom); if (m_shadowWindow) { int left, right, top, bottom; - m_shadowWindow->getContentsMargins(&left, &right, &top, &bottom); + m_shadowWindow->adjustMargins(geometry()); + m_shadowWindow->getContentsMargins(&left, &top, &right, &bottom); m_shadowWindow->setGeometry(geometry().adjusted(-left, -top, right, bottom)); } }