Review Request: Completed jobs in systray show up as seperate widgets in a seperate group.

Rob Scheepmaker r.scheepmaker at student.utwente.nl
Mon Apr 27 16:36:37 CEST 2009


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

Review request for Plasma.


Summary
-------

To further improve the systray job usability, I've partly implemented something discussed on plasma-devel. This patch, besides some small other tweaks, makes the job widget disappear immediately when finished, and spawns a new widget without a progress bar and what not. These completed jobs widgets are put in a nice completed jobs extendergroup, as shown in the attached screenshot.
We also discussed a 'completed action' that should be added to kjob and the JobView dbus interface. This is not yet done in this patch: at the moment this patch does kind of what the kwidgetjobtracker (those oldschool copy dialogs) also did: check if there's a second label set, see if that is the name of a file/directory, and show a way to open that file if it is (second label usually is a destination file, if there is one). Though the proper way to do things is to add the ability to set a completed action to kjob/jobview and use this in kio to set appropriate actions (when copying multiple file, opening the destination folder is a more sensible action then opening the file that was last copied for example).
There are a couple of other problems too:
* the infomessage should be changed by kio to "Finished copying" or something like that when it's finished. It's a bit weird to have finished items with the title "Copying" imo. Maybe even something a bit more descriptive: "Dolphin finished copying 4 files".
* there are currently some giant margins around the finished item's text. Not sure where that comes from yet.
* the label of the completed jobs group widgets starts out visible even though it's parent is not. This doesn't happen with the progress bar of the jobs in progress group, so I suspect some QGraphicsProxyWidget weirdness, but I have to further investigate
* after using this some time, it started to irritate me that I'd always have to interact with the systray to clean up old completed jobs (clear all). I liked having a list of stuff that recently completed, but that list can, without interaction, grow a bit large. Maybe a maximum (configurable) age of items might make sense? So for example they get automatically destroyed after an hour. Still not a perfect solution though. Anybody got any ideas on this?
* I now made the popup autohide always after 6 seconds, even when for example a persistent notification is shown. Personally I find that quite convenient. Even when I go away, the spinner/number indicates clearly if there's still stuf waiting for me to look at, and while working I can freely ignore the jobs and notifications and be happy they always disappear after 6 seconds. But I also discovered the autohiding behavior confuse some users. Other people might think 6 seconds is a bit too long. And then there's the very valid use case of having a presentation or what not, and not wanting to automatically show anything. I think allowing people to configure auto show/hide policies might be useful. So: "never show" "show x seconds" (plus slider/spinbox for x) "show as long as there's stuff to show"

Since the freeze is next week, I'd also like to announce that I could use some help to make high awesomeness jobs in the systray a reality for 4.3. I'd like to focus more on GSoC and there are also a few extender related bugs that could use my attention. So if somebody wants to help with the stuff that needs to be done before the freeze, I'd greatly appreciate it. You can always ping me and I'll give you some pointers if you need them.


Diffs
-----

  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/core/manager.h 958972 
  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/core/manager.cpp 958972 
  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/applet.h 958972 
  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/applet.cpp 958972 
  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/extendertask.h 958972 
  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/extendertask.cpp 958972 
  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/jobwidget.h 958972 
  /trunk/KDE/kdebase/workspace/plasma/applets/systemtray/ui/jobwidget.cpp 958972 

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


Testing
-------


Thanks,

Rob



More information about the Plasma-devel mailing list