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

List:       kde-commits
Subject:    KDE/kdelibs/plasma/extenders
From:       Marco Martin <notmart () gmail ! com>
Date:       2010-10-11 15:46:24
Message-ID: 20101011154624.1ABD8AC7E4 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1184857 by mart:

FEATURE: new feature in the theme: use a "grouped" prefix for items in a group and \
"root" prefix for non grouped ones. still fallsback to the old one if either those \
prefixes don't exist or the root one doesn't have a "stacked" appearance


 M  +27 -0     extenderitem.cpp  


--- trunk/KDE/kdelibs/plasma/extenders/extenderitem.cpp #1184856:1184857
@@ -97,6 +97,19 @@
         m_iconSize = qMax(size.height(), (qreal) fm.height());
     }
 
+    void setBackgroundPrefix(const QString &string)
+    {
+        if (string.isEmpty() || m_background->hasElementPrefix(string)) {
+            m_background->setElementPrefix(string);
+            update();
+        }
+    }
+
+    const QString backgroundPrefix() const
+    {
+        return m_background->prefix();
+    }
+
 protected:
     void resizeEvent(QGraphicsSceneResizeEvent *)
     {
@@ -108,6 +121,7 @@
 
 private:
     FrameSvg *m_background;
+    QString m_prefix;
     qreal m_iconSize;
 };
 
@@ -329,6 +343,12 @@
 {
     Q_ASSERT(extender);
 
+    if (extender->appearance() != Extender::NoBorders) {
+        d->toolbox->setBackgroundPrefix("root");
+    } else {
+        d->toolbox->setBackgroundPrefix(QString());
+    }
+
     //themeChanged() has to now that by now, we're no longer dragging, even though \
the QDrag has not  //been entirely finished.
     d->dragStarted = false;
@@ -429,6 +449,7 @@
     d->group = group;
 
     if (group) {
+        d->toolbox->setBackgroundPrefix("grouped");
         config().writeEntry("group", group->name());
         //TODO: move to another extender if the group we set is actually detached.
         if (group->extender() != extender()) {
@@ -437,6 +458,12 @@
         }
         group->d->addItemToGroup(this, pos);
     } else {
+        if (d->extender->appearance() != Extender::NoBorders) {
+            d->toolbox->setBackgroundPrefix("root");
+        } else {
+            d->toolbox->setBackgroundPrefix(QString());
+        }
+        d->toolbox->setBackgroundPrefix(QString());
         if (oldGroup) {
             oldGroup->d->removeItemFromGroup(this);
         }


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

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