Projects/Plasma/Tasks: Difference between revisions

From KDE TechBase
Line 39: Line 39:
=== Plasma ===
=== Plasma ===
''This is what we are focusing on implementing right now:''
''This is what we are focusing on implementing right now:''
* Desktop layer:
* '''RootWidget''' (the "desktop")
** Use a widget able to have background painting.
** Controls box: an expand-on-mouse-over widget that sits on top of the graphicsview and provides discoverable access to zooming, jumping, configuration, adding of elements, locking ...? Perhaps raptor could come into play here?
 
 
* '''Desktop class''' (QGrahpicsView subclass):
** Implement configurable background painting. This can in part be ported from kdesktop.
** Add form factor constraint to Desktop and have it pass that on to Plasma::Applets. in lib/plasma.h there is a Plasma::AppletConstraint enumeration; that should be used to denote whether an applet is free to size itself (e.g. it is on the desktop)
** Add support for Plasma::ScreenEdge to Desktop
** Implement the zooming of objects.
** Implement the zooming of objects.
** Implement the grouping of objects in collections (with special containers).
** Implement the grouping of objects in collections (with special containers).
** Saving and loading of layouts


''And after that, see what can be done for performances:''
* '''Widgets''' [[../Widgets|Here is a page describing the nature of these widgets]]. Widgets still needed that aren't implemented yet are:
* Engine base classes and command line test utilities. ('''Aaron J. Seigo, aseigo''')
** A non-editable text label. One comes with Qt, we need a DataVisualization version of it.
* See if QGV works well for our needs. We will use it until the end of march, then we will see how it worked. We will evaluate alternatives then (if not enough satisfied). ('''Aaron J. Seigo, aseigo''', others welcome!)
* Create widgets aware of zooming. First we need to discuss what can be done for each of these elements. Needed widgets are:
** A label (comes with Qt)
** [[/Button|A button]]
** An svg viewer (comes with Qt)
** [[/HTMLViewer|An html widget]]
** [[/HTMLViewer|An html widget]]
** A lineedit/textedit (comes with Qt)
** [[/SingleCheckbox|Single checkbox]]
** A radio button ('''Rafael Fernández López, ereslibre''')


Before actually coding them we should first define the speed compromises we want/can have for all of them. We will probably discuss it in the next meeting, and what we want for each of those widgets will be written in their specific pages. Then we can start to actually code it. If you have ideas, please write it in the specific page.
 
* '''DataEngine'''
** Command line test utilities. ('''Aaron J. Seigo, aseigo''')
** Configuration parameters for engines
 
 
* '''Applets'''
** applet loading needs to be added, probably reusing the Add Applet dialog
currently in kicker
 


''We also have:''
''We also have:''

Revision as of 04:52, 21 May 2007

Warning
If you clear a task, please write "Completed" near it. If you are still working on it, please put your name. Percentage of the work done is accepted.


Tasks

If you want to claim a task, please put your name (or nickname, both is better) in brackets near the task you wish to claim. Please add it when you start working on it, and if you stop, please remove it, so we can know "who is working on what" and what tasks still needs to be started.

And, of course, this will avoid duplication of work. Thanks a lot! =)

Note
This is a roughly sorted list of tasks that popped out during the meeting. We probably need to categorize it better, like seeing which task is blocker for which other, setting priority, split between "research" and "coding" and things like that. Still sounds like a premature thing though.


Deal with the last bits of KDesktop

  • Move the autostart functionality from KDesktop to ksmserver. (Stephan Kulow, coolo)
  • Merge the functionalities of ~/.kde/Autostart with ~/.kde/share/autostart (Stephan Kulow, coolo)

KRunner

Major Bugs

  • figure out why Interface::display() sometimes doesn't result in the widget displaying

Runners

  • pull in options from kdesktop/minicli.cpp and merge into shell and app runners
  • ServiceRunner: better matching (case insensitivity, substring matching, performance, etc)
  • SessionRunner: connect QActions up, show users and sessions, etc
  • ShellRunner: parse the command line better so one can enter things like "ls -lR" and it will still know to activate
  • CalculatorRunner: complete (Baris)
  • Search Runner: use strigi
  • listen to async match updates (Interface:updateMatches())
  • determine how to order runner plugins for searching; categorization?
  • runners, runners and more runners! e.g. a kalkhi plugin...? (tagx)

Interface

  • abstract out the svg background part of Interface and have it subclass QDialog; then make screensaver/lock dialogs subclass that and therefore look a bit more sexy and consistent (Baris)
  • options slide drawer animation

Misc

  • Integrate ksysguard's process table into KRunner (John Tapsell, johnflux - Riccardo Iaconelli, ruphy - Esben Hanse, esben)
  • install D-Bus autoactivation service
  • javascript bindings to runner.h

Plasma

This is what we are focusing on implementing right now:

  • RootWidget (the "desktop")
    • Controls box: an expand-on-mouse-over widget that sits on top of the graphicsview and provides discoverable access to zooming, jumping, configuration, adding of elements, locking ...? Perhaps raptor could come into play here?


  • Desktop class (QGrahpicsView subclass):
    • Implement configurable background painting. This can in part be ported from kdesktop.
    • Add form factor constraint to Desktop and have it pass that on to Plasma::Applets. in lib/plasma.h there is a Plasma::AppletConstraint enumeration; that should be used to denote whether an applet is free to size itself (e.g. it is on the desktop)
    • Add support for Plasma::ScreenEdge to Desktop
    • Implement the zooming of objects.
    • Implement the grouping of objects in collections (with special containers).
    • Saving and loading of layouts



  • DataEngine
    • Command line test utilities. (Aaron J. Seigo, aseigo)
    • Configuration parameters for engines


  • Applets
    • applet loading needs to be added, probably reusing the Add Applet dialog

currently in kicker


We also have:

  • Implement Zack's physical equations for animations

Nice to have:

  • Implement python bindings of Plasma