KDE/kdebase/workspace/plasma/applets/tasks

Bill Egert begert at gmail.com
Sun Feb 10 03:40:15 CET 2008


SVN commit 773062 by begert:

CCMAIL: Panel-devel at kde.org

Change the tasks applet to use flowlayout.  
I think this provides a much cleaner panel.

 M  +5 -19     taskgroupitem.cpp  
 M  +2 -13     taskgroupitem.h  
 M  +2 -8      tasks.cpp  


--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/taskgroupitem.cpp #773061:773062
@@ -44,11 +44,9 @@
       m_geometryUpdateTimerId(-1)
 {
    //setAcceptDrops(true);
-
-   m_layout = new Plasma::BoxLayout(Plasma::BoxLayout::LeftToRight, this);
+   m_layout = new Plasma::FlowLayout(this);
    m_layout->setMargin(0);
    m_layout->setSpacing(5);
-   m_layout->setMultiRow(true);
 }
 
 QSizeF TaskGroupItem::maximumSize() const
@@ -157,7 +155,7 @@
         //if _activeTask < _tasks.count() the new _activeTask
         //will be _activeTask+1, else it will be 1
         _tasks[(_activeTask+1)%_tasks.count()].task->activate();
-    }else{
+    } else {
         //if _activeTask > 1 the new _activeTask
         //will be _activeTask-1, else it will be _tasks.count()
         _tasks[(_tasks.count() + _activeTask -1 )%_tasks.count()].task->activate();
@@ -210,18 +208,6 @@
     return _borderStyle;
 }
 
-void TaskGroupItem::setDirection(Plasma::BoxLayout::Direction dir)
-{
-    m_layout->setDirection(dir);
-
-    m_layout->setMultiRow(dir != Plasma::BoxLayout::TopToBottom);
-}
-
-Plasma::BoxLayout::Direction TaskGroupItem::direction()
-{
-    return m_layout->direction();
-}
-
 void TaskGroupItem::paint(QPainter *painter,
                           const QStyleOptionGraphicsItem *option,
                           QWidget *)
@@ -258,8 +244,8 @@
                                const QStyleOptionGraphicsItem *option,
                                const QRectF &area)
 {
-    QFont smallFont = KGlobalSettings::smallestReadableFont();
-    QFontMetrics smallFontMetrics(smallFont);
+    const QFont smallFont = KGlobalSettings::smallestReadableFont();
+    const QFontMetrics smallFontMetrics(smallFont);
 
     if (_color.isValid()) {
         painter->setPen(QPen(Qt::NoPen));
@@ -288,7 +274,7 @@
          // FIXME Check KColorScheme usage here
 
          QLinearGradient titleGradient(titleArea.topLeft(), titleArea.bottomLeft());
-         KColorScheme colorScheme(QPalette::Active, KColorScheme::View, Plasma::Theme::self()->colors());        
+         KColorScheme colorScheme(QPalette::Active, KColorScheme::View, Plasma::Theme::self()->colors());
          titleGradient.setColorAt(0, colorScheme.shade(_color,KColorScheme::DarkShade));
          titleGradient.setColorAt(1, colorScheme.shade(_color,KColorScheme::MidShade));
 
--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/taskgroupitem.h #773061:773062
@@ -24,7 +24,7 @@
 #include "abstracttaskitem.h"
 
 // Plasma
-#include <plasma/layouts/boxlayout.h>
+#include <plasma/layouts/flowlayout.h>
 
 /**
  * A graphics item which holds a group of tasks.
@@ -102,17 +102,6 @@
     QColor color() const;
 
     /**
-    * Sets the direction in which tasks are laid out.
-    * @param dir direction
-    */
-    void setDirection(Plasma::BoxLayout::Direction dir);
-
-   /**
-    * @returns direction in which tasks are laid out, default RightToLeft
-    */
-    Plasma::BoxLayout::Direction direction();
-
-    /**
      * Sets whether the task group is collapsed.
      * TODO: Document me
      */
@@ -187,7 +176,7 @@
     int _caretIndex;
     bool _allowSubGroups;
     int m_geometryUpdateTimerId;
-    Plasma::BoxLayout *m_layout;
+    Plasma::FlowLayout *m_layout;
 
     static const int CaretWidth = 5;
     static const int GroupBorderWidth = 16;
--- trunk/KDE/kdebase/workspace/plasma/applets/tasks/tasks.cpp #773061:773062
@@ -127,9 +127,9 @@
 
 void Tasks::registerWindowTasks()
 {
-    TaskManager::TaskManager *manager = TaskManager::TaskManager::self();
+    const TaskManager::TaskManager *manager = TaskManager::TaskManager::self();
 
-    TaskManager::TaskDict tasks = manager->tasks();
+    const TaskManager::TaskDict tasks = manager->tasks();
     QMapIterator<WId,TaskPtr> iter(tasks);
 
     while (iter.hasNext()) {
@@ -201,12 +201,6 @@
 void Tasks::constraintsUpdated(Plasma::Constraints constraints)
 {
     if (constraints & Plasma::LocationConstraint) {
-        if (formFactor() == Plasma::Vertical) {
-            m_rootTaskGroup->setDirection(Plasma::BoxLayout::TopToBottom);
-        } else {
-            m_rootTaskGroup->setDirection(Plasma::BoxLayout::LeftToRight);
-        }
-
         foreach (AbstractTaskItem *taskItem, m_windowTaskItems) {
             WindowTaskItem *windowTaskItem = dynamic_cast<WindowTaskItem *>(taskItem);
             if (windowTaskItem) {


More information about the Panel-devel mailing list