[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.5/kdebase/workspace/plasma/netbook/shell
From:       Marco Martin <notmart () gmail ! com>
Date:       2010-06-30 21:58:54
Message-ID: 20100630215854.A353CAC8E3 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1144818 by mart:

backport shadow sizing fix


 M  +31 -29    plasmaapp.cpp  


--- branches/KDE/4.5/kdebase/workspace/plasma/netbook/shell/plasmaapp.cpp #1144817:1144818
@@ -238,7 +238,7 @@
 
         m_shadow->setElementPrefix("shadow");
 
-        adjustMargins();
+        adjustMargins(geometry());
     }
 
     bool isValid() const
@@ -246,6 +246,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)
     {
@@ -263,7 +290,7 @@
     {
         m_shadow->resizeFrame(event->size());
 
-        adjustMargins();
+        adjustMargins(geometry());
     }
 
     void paintEvent(QPaintEvent* e)
@@ -275,32 +302,6 @@
         m_shadow->paintFrame(&p);
     }
 
-    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;
     NetView *m_panel;
@@ -482,7 +483,8 @@
         KWindowSystem::setOnAllDesktops(m_shadowWindow->winId(), true);
         m_shadowWindow->setSvg(m_controlBar->containment()->property("shadowPath").toString());
         int left, right, top, bottom;
-        m_shadowWindow->getContentsMargins(&left, &right, &top, &bottom);
+        m_shadowWindow->adjustMargins(m_controlBar->geometry());
+        m_shadowWindow->getContentsMargins(&left, &top, &right, &bottom);
         m_shadowWindow->setMinimumSize(-1, -1);
         m_shadowWindow->setMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
         m_shadowWindow->setGeometry(m_controlBar->geometry().adjusted(-left, -top, right, bottom));
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic