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

List:       kde-commits
Subject:    KDE/kdebase/workspace/libs/taskmanager
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2009-05-18 10:38:11
Message-ID: 1242643091.657824.7818.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 969416 by aseigo:

code cleanups and safety around casting


 M  +19 -16    groupmanager.cpp  
 M  +3 -2      strategies/manualsortingstrategy.cpp  
 M  +1 -4      strategies/programgroupingstrategy.cpp  


--- trunk/KDE/kdebase/workspace/libs/taskmanager/groupmanager.cpp #969415:969416
@@ -328,25 +328,28 @@
 
 bool GroupManager::manualGroupingRequest(ItemList items)
 {
-    // kDebug();
-    if (d->abstractGroupingStrategy) {
-     //   kDebug() << d->abstractGroupingStrategy->type() << ManualGrouping;
-        if (d->abstractGroupingStrategy->type() == ManualGrouping) {
-      //      kDebug();
-            return (qobject_cast<ManualGroupingStrategy*>(d->abstractGroupingStrategy))->groupItems(items);
 +    //kDebug();
+    if (d->abstractGroupingStrategy && d->abstractGroupingStrategy->type() == \
ManualGrouping) { +        //kDebug();
+        ManualGroupingStrategy *strategy = \
qobject_cast<ManualGroupingStrategy*>(d->abstractGroupingStrategy); +        if \
(strategy) { +            return strategy->groupItems(items);
         }
     }
+
     return false;
 }
 
 bool GroupManager::manualSortingRequest(AbstractGroupableItem* taskItem, int \
newIndex)  {
     //kDebug();
-    if (d->abstractSortingStrategy) {
-        if (d->abstractSortingStrategy->type() == ManualSorting) {
-            return (qobject_cast<ManualSortingStrategy*>(d->abstractSortingStrategy))->moveItem(taskItem, \
newIndex); +    if (d->abstractSortingStrategy && d->abstractSortingStrategy->type() \
== ManualSorting) { +        ManualSortingStrategy *strategy = \
qobject_cast<ManualSortingStrategy*>(d->abstractSortingStrategy); +        if \
(strategy) { +            return strategy->moveItem(taskItem, newIndex);
         }
     }
+
     return false;
 }
 
@@ -570,17 +573,15 @@
     //kDebug() << sortOrder;
 
     if (d->abstractSortingStrategy) {
-        if (d->abstractSortingStrategy->type() == sortOrder){
+        if (d->abstractSortingStrategy->type() == sortOrder) {
             return;
-        } else {
-            d->abstractSortingStrategy->deleteLater();
         }
+
+        d->abstractSortingStrategy->deleteLater();
+        d->abstractSortingStrategy = 0;
     }
 
     switch (sortOrder) {
-        case NoSorting: //manual and no grouping result both in non automatic \
                grouping
-            d->abstractSortingStrategy = 0;
-            break;
         case ManualSorting:
             d->abstractSortingStrategy = new ManualSortingStrategy(this);
             d->abstractSortingStrategy->handleGroup(d->rootGroup);
@@ -596,9 +597,11 @@
             d->abstractSortingStrategy->handleGroup(d->rootGroup);
             break;
 
+        case NoSorting: //manual and no grouping result both in non automatic \
grouping +            break;
+
         default:
             kDebug() << "Invalid Strategy";
-            d->abstractSortingStrategy = 0;
     }
 
     d->sortingStrategy = sortOrder;
--- trunk/KDE/kdebase/workspace/libs/taskmanager/strategies/manualsortingstrategy.cpp \
#969415:969416 @@ -86,7 +86,7 @@
 void ManualSortingStrategy::storePositions(TaskGroup *group)
 {
     Q_ASSERT(group);
-    for(int i = 0; i < group->members().size(); i++) {
+    for (int i = 0; i < group->members().size(); i++) {
         AbstractGroupableItem *item = group->members().at(i);
         Q_ASSERT(item);
         if (item->isGroupItem()) {
@@ -95,7 +95,8 @@
         } else {
             d->managedItems->insert(item, i);
         }
-        kDebug() << item << i;
+
+        //kDebug() << item << i;
     }
 }
 
--- trunk/KDE/kdebase/workspace/libs/taskmanager/strategies/programgroupingstrategy.cpp \
#969415:969416 @@ -189,10 +189,7 @@
 void ProgramGroupingStrategy::checkGroup()
 {
     TaskGroup *group = qobject_cast<TaskGroup*>(sender()); 
-    if (!group) {
-        return;
-    }
-    if (group->members().size() <= 1) {
+    if (group && group->members().size() <= 1) {
         closeGroup(group);
     }
 }


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

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