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

List:       kde-commits
Subject:    KDE/kdebase/workspace/plasma/applets
From:       Marco Martin <notmart () gmail ! com>
Date:       2008-06-04 19:34:58
Message-ID: 1212608098.766968.26225.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 816766 by mart:

icon plasmoid uses the new ConstrainedSquare aspect ratio and uses a
layout to resize the icon, this makes the code a little bit simpler
patch by Loïc Marteau
also update the other icon based plasmoids to behave in the same way
also adap


 M  +8 -4      devicenotifier/devicenotifier.cpp  
 M  +12 -7     icon/icon.cpp  
 M  +9 -17     kickoff/applet/applet.cpp  
 M  +9 -17     kickoff/simpleapplet/simpleapplet.cpp  
 M  +10 -5     trash/trash.cpp  


--- trunk/KDE/kdebase/workspace/plasma/applets/devicenotifier/devicenotifier.cpp \
#816765:816766 @@ -168,7 +168,14 @@
         m_icon = new Plasma::Icon(KIcon("computer"), QString(), this);
     }
     connect(m_icon, SIGNAL(clicked()), this, SLOT(onClickNotifier()));
-    m_icon->resize(m_icon->sizeFromIconSize(IconSize(KIconLoader::Small)));
+
+    setAspectRatioMode(Plasma::ConstrainedSquare);
+
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
+    layout->setSpacing(0);
+
+    layout->addItem(m_icon);
 }
 
 DeviceNotifier::~DeviceNotifier()
@@ -213,9 +220,6 @@
         }
     }
 
-    if (m_icon && constraints & Plasma::SizeConstraint) {
-        m_icon->resize(geometry().size());
-    }
  }
 
 void DeviceNotifier::paintInterface(QPainter *p, const QStyleOptionGraphicsItem \
                *option, const QRect &rect)
--- trunk/KDE/kdebase/workspace/plasma/applets/icon/icon.cpp #816765:816766
@@ -24,6 +24,7 @@
 #include <QGraphicsItem>
 #include <QEvent>
 #include <QMimeData>
+#include <QGraphicsLinearLayout>
 
 #include <KGlobalSettings>
 #include <KDebug>
@@ -61,6 +62,12 @@
 
 void IconApplet::init()
 {
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
+    layout->setSpacing(0);
+
+    layout->addItem(m_icon);
+
     KConfigGroup cg = config();
 
     if (!m_url.isValid()) {
@@ -70,6 +77,8 @@
 
     registerAsDragHandle(m_icon);
 
+    setAspectRatioMode(Plasma::ConstrainedSquare);
+
     // we do this right away since we may have our config
     // read shortly by the containment. usually applets don't need
     // this, but desktop icons requires some hacks.
@@ -138,14 +147,14 @@
             connect(m_icon, SIGNAL(activated()), this, SLOT(openUrl()));
             m_icon->setText(m_text);
             //FIXME TOOL TIP MANAGER
-	    //m_icon->setToolTip(Plasma::ToolTipData());
+            //m_icon->setToolTip(Plasma::ToolTipData());
             m_icon->setDrawBackground(true);
         } else {
             //in the panel the icon behaves like a button
             connect(m_icon, SIGNAL(clicked()), this, SLOT(openUrl()));
             m_icon->setText(QString());
-	    //FIXME PORT TO TOOL TIP MANAGER
-	    /*Plasma::ToolTipData data;
+            //FIXME PORT TO TOOL TIP MANAGER
+            /*Plasma::ToolTipData data;
             data.mainText = m_text;
             data.subText = m_genericName;
             data.image = m_icon->icon().pixmap(IconSize(KIconLoader::Desktop));
@@ -153,10 +162,6 @@
             m_icon->setDrawBackground(false);
         }
     }
-
-    if (constraints & Plasma::SizeConstraint) {
-        m_icon->resize(geometry().size());
-    }
 }
 
 QList<QAction*> IconApplet::contextualActions()
--- trunk/KDE/kdebase/workspace/plasma/applets/kickoff/applet/applet.cpp \
#816765:816766 @@ -28,6 +28,7 @@
 #include <QCheckBox>
 #include <QVBoxLayout>
 #include <QLabel>
+#include <QGraphicsLinearLayout>
 
 // KDE
 #include <KIcon>
@@ -89,12 +90,20 @@
 
 void LauncherApplet::init()
 {
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
+    layout->setSpacing(0);
+
+    layout->addItem(d->icon);
+
     if (KService::serviceByStorageId("kde4-kmenuedit.desktop")) {
         QAction* menueditor = new QAction(i18n("Menu Editor"), this);
         d->actions.append(menueditor);
         connect(menueditor, SIGNAL(triggered(bool)), this, SLOT(startMenuEditor()));
     }
 
+    setAspectRatioMode(Plasma::ConstrainedSquare);
+
     Q_ASSERT( ! d->switcher );
     d->switcher = new QAction(i18n("Switch to Classic Menu Style"), this);
     d->switcher->setVisible(immutability() == Plasma::Mutable);
@@ -114,26 +123,9 @@
             //setMinimumSize(d->icon->sizeFromIconSize(IconSize(KIconLoader::Desktop)));
  } else {
             //setMinimumSize(d->icon->sizeFromIconSize(IconSize(KIconLoader::Small)));
                
-
-            //restore the maximum sizes tweaked in sizeconstraints
-            if (formFactor() == Plasma::Horizontal ) {
-                setMaximumHeight(INT_MAX);
-            } else if (formFactor() == Plasma::Vertical) {
-                setMaximumWidth(INT_MAX);
-            }
         }
     }
 
-    if (constraints & Plasma::SizeConstraint) {
-        if (formFactor() == Plasma::Horizontal ) {
-            setMaximumWidth(contentsRect().height());
-        } else if (formFactor() == Plasma::Vertical) {
-            setMaximumHeight(contentsRect().width());
-        }
-
-        d->icon->resize(contentsRect().size());
-    }
-
     if (constraints & Plasma::ImmutableConstraint) {
         d->switcher->setVisible(immutability() == Plasma::Mutable);
     }
--- trunk/KDE/kdebase/workspace/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp \
#816765:816766 @@ -29,6 +29,7 @@
 #include <QMetaObject>
 #include <QMetaEnum>
 #include <QPointer>
+#include <QGraphicsLinearLayout>
 
 // KDE
 #include <KIcon>
@@ -163,6 +164,12 @@
 
 void MenuLauncherApplet::init()
 {
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
+    layout->setSpacing(0);
+
+    layout->addItem(d->icon);
+
     KConfigGroup cg = config();
 
     {
@@ -180,6 +187,8 @@
     //d->icon->setIcon(KIcon(cg.readEntry("icon","start-here-kde")));
     //setMinimumContentSize(d->icon->iconSize()); //setSize(d->icon->iconSize())
 
+    setAspectRatioMode(Plasma::ConstrainedSquare);
+
     Kickoff::UrlItemLauncher::addGlobalHandler(Kickoff::UrlItemLauncher::ExtensionHandler,"desktop",new \
                Kickoff::ServiceItemHandler);
     Kickoff::UrlItemLauncher::addGlobalHandler(Kickoff::UrlItemLauncher::ProtocolHandler, \
"leave", new Kickoff::LeaveItemHandler);  
@@ -207,26 +216,9 @@
             //setMinimumContentSize(d->icon->sizeFromIconSize(IconSize(KIconLoader::Desktop)));
  } else {
             //setMinimumContentSize(d->icon->sizeFromIconSize(IconSize(KIconLoader::Small)));
                
-
-            //restore the maximum sizes tweaked in sizeconstraints
-            if (formFactor() == Plasma::Horizontal ) {
-                setMaximumHeight(INT_MAX);
-            } else if (formFactor() == Plasma::Vertical) {
-                setMaximumWidth(INT_MAX);
-            }
         }
     }
 
-    if (constraints & Plasma::SizeConstraint) {
-        if (formFactor() == Plasma::Horizontal ) {
-            setMaximumWidth(contentsRect().height());
-        } else if (formFactor() == Plasma::Vertical) {
-            setMaximumHeight(contentsRect().width());
-        }
-
-        d->icon->resize(contentsRect().size());
-    }
-
     if (constraints & Plasma::ImmutableConstraint) {
         d->switcher->setVisible(immutability() == Plasma::Mutable);
     }
--- trunk/KDE/kdebase/workspace/plasma/applets/trash/trash.cpp #816765:816766
@@ -23,6 +23,7 @@
 #include <QGraphicsSceneDragDropEvent>
 #include <QDesktopWidget>
 #include <QApplication>
+#include <QGraphicsLinearLayout>
 
 //KDE
 #include <KGlobalSettings>
@@ -94,6 +95,15 @@
 
     m_dirLister->openUrl(m_trashUrl);
     m_icon->setDrawBackground(true);
+
+    setAspectRatioMode(Plasma::ConstrainedSquare);
+
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(this);
+    layout->setContentsMargins(0, 0, 0, 0);
+    layout->setSpacing(0);
+
+    layout->addItem(m_icon);
+
     registerAsDragHandle(m_icon);
     //setMinimumSize(m_icon->sizeFromIconSize(IconSize(KIconLoader::Small)));
     resize(m_icon->sizeFromIconSize(IconSize(KIconLoader::Desktop)));
@@ -160,11 +170,6 @@
         }
         setIcon();
     }
-
-    if (constraints & Plasma::SizeConstraint && m_icon) {
-        resize(size());
-        m_icon->resize(size());
-    }
 }
 
 void Trash::slotOpen()


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

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