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


direction looks good. some small things to improve i think :)


/trunk/KDE/kdelibs/plasma/extender.cpp
<http://reviewboard.kde.org/r/344/#comment306>

    how about:
    
    foreach (ExtenderItem *item, attachedItems()) {
         if (item->isGroup()) {
               ..
        }
    }



/trunk/KDE/kdelibs/plasma/extendergroup.cpp
<http://reviewboard.kde.org/r/344/#comment303>

    seems a bit of a shame to have to go through all the items in an extender 
like this. i suppose, however, there won't ever be that many items so the 
overhead will be low and the cost of bookkeeping with an internal QList in 
ExtenderGroup would not pay off at all while increasing memory usage and 
complexity. bleh.



/trunk/KDE/kdelibs/plasma/extenderitem.h
<http://reviewboard.kde.org/r/344/#comment304>

    need apidox :)
    
    but do we even need this? one should be able to qobject_cast as needed?



/trunk/KDE/kdelibs/plasma/extenderitem.cpp
<http://reviewboard.kde.org/r/344/#comment305>

    would make sense to have an ExtenderPrivate::findGroup(const QString&) for 
this to prevent cycling through all items, creating a list, then cycling 
through that list when its returned. doesn't need to be in the public api imho, 
but we can make the internals more efficient here.


- Aaron


On 2009-03-16 12:38:12, Rob Scheepmaker wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/344/
> -----------------------------------------------------------
> 
> (Updated 2009-03-16 12:38:12)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> I've been working on adding support for grouping to extenders and using this 
> to group jobs in the plasma systemtray: a useful feature we already discussed 
> at Tokamak. I've already discussed the extender api bit at Tokamak with 
> Aaron, but changed a couple of things about it while implementing because 
> they could have been more elegant. There are still some relatively minor 
> problems I know of, and it hasn't been that thoroughly tested yet, but I 
> wanted to see if you think I'm going in the right direction here.
> 
> The basic idea is that to group extender items, you'll instantiate an 
> ExtenderGroup, which is a subclass of ExtenderItem. The thing this class 
> adds, are expand and collapse buttons, to show/hide the items that belong to 
> this group, and the ability to let the group automatically hide itself 
> whenever it becomes empty. To add items to a group you'll have to call 
> setGroup on each ExtenderItem you wish to add to that group. This association 
> with a group will get stored in the item's config(). For the rest it behaves 
> like any other extender item. 
> 
> I will still have to add behavior that automatically moves all items 
> belonging to this group with it, whenever you detach the ExtenderGroup. Also, 
> the usage of groups in systemtray could still use improvement.
> 
> Screenshot showing the job grouping in action: 
> http://quartz.student.utwente.nl/~rob/extendergrouping.png Clicking the 
> arrow-down here would collapse this group (keeping only the total progress 
> item)
> 
> 
> Diffs
> -----
> 
>   /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/CMakeLists.txt 
> 939911 
>   /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/core/job.h 939911 
>   /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/core/manager.h 
> 939911 
>   /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/core/manager.cpp 
> 939911 
>   /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/applet.cpp 939911 
>   /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/jobwidget.cpp 
> 939911 
>   /trunk/KDE/kdelibs/plasma/CMakeLists.txt 939911 
>   /trunk/KDE/kdelibs/plasma/applet.h 939911 
>   /trunk/KDE/kdelibs/plasma/extender.h 939911 
>   /trunk/KDE/kdelibs/plasma/extender.cpp 939911 
>   /trunk/KDE/kdelibs/plasma/extendergroup.h PRE-CREATION 
>   /trunk/KDE/kdelibs/plasma/extendergroup.cpp PRE-CREATION 
>   /trunk/KDE/kdelibs/plasma/extenderitem.h 939911 
>   /trunk/KDE/kdelibs/plasma/extenderitem.cpp 939911 
>   /trunk/KDE/kdelibs/plasma/private/extenderitem_p.h 939911 
> 
> Diff: http://reviewboard.kde.org/r/344/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Rob
> 
>

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

Reply via email to