-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/1526/
-----------------------------------------------------------

(Updated 2009-10-17 16:57:29.802942)


Review request for Plasma, Aaron Seigo and Marco Martin.


Changes
-------

This patch is a refactoring of taskbar library.
Currently one rootGroup is used as library representation of the visualization.

For manual grouping/sorting the tasks are remembered to restore the old 
grouping/sorting after a desktop change.

The patch uses another approach, by creating a rootGroup for each desktop (and 
later also screen).
This allows us to remove all the code which was used to store the 
grouping/sorting (which was also rather messy IMHO), since no reevaluation is 
done when we return to the old desktop.
The only change to the library user is:
Instead that all tasks are removed when the desktop changes, the rootGroup 
changes.
The patch includes this fix for the tasks plasmoid, which is afaik the only 
user of the library so far.


The patch is not yet completely clean, but works basically (Screen handling is 
not yet implemented).
Please tell me if you are all fine with this approach.

I will send a cleaned up version within the next days...


Summary
-------

this fixes the manual sorting strategy, which is broken atm if the desktop is 
changed.

Since the manual sorting strategy relies on AbstractGroupableItem pointer not 
to change, we cannot remove it from the bookkeeping in case it returns (after a 
desktop change for instance).
I don't know if this is acceptable because this results in the item never being 
removed from the itemList until the groupmanager instance is deleted (lifetime 
of the applet which created the instance).

Another option would be to identify tasks and groups by WId, which is a bit 
more complicated, but if you think it would be better/cleaner, i could supply a 
patch.


This addresses bug 200255.
    https://bugs.kde.org/show_bug.cgi?id=200255


Diffs (updated)
-----

  /trunk/KDE/kdebase/workspace/libs/taskmanager/abstractgroupableitem.h 1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/abstractgroupingstrategy.h 
1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/abstractgroupingstrategy.cpp 
1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/abstractsortingstrategy.h 
1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/abstractsortingstrategy.cpp 
1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/groupmanager.h 1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/groupmanager.cpp 1034424 
  
/trunk/KDE/kdebase/workspace/libs/taskmanager/strategies/manualgroupingstrategy.h
 1034424 
  
/trunk/KDE/kdebase/workspace/libs/taskmanager/strategies/manualgroupingstrategy.cpp
 1034424 
  
/trunk/KDE/kdebase/workspace/libs/taskmanager/strategies/manualsortingstrategy.h
 1034424 
  
/trunk/KDE/kdebase/workspace/libs/taskmanager/strategies/manualsortingstrategy.cpp
 1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/taskgroup.h 1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/taskgroup.cpp 1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/taskitem.h 1034424 
  /trunk/KDE/kdebase/workspace/libs/taskmanager/taskitem.cpp 1034424 
  /trunk/KDE/kdebase/workspace/plasma/desktop/applets/tasks/tasks.h 1034424 
  /trunk/KDE/kdebase/workspace/plasma/desktop/applets/tasks/tasks.cpp 1034424 

Diff: http://reviewboard.kde.org/r/1526/diff


Testing
-------

Tried it, works.


Thanks,

Christian

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to