Projects/Plasma/Tasks: Difference between revisions

    From KDE TechBase
    Line 25: Line 25:


    ==== Interface ====
    ==== 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
    * options slide drawer animation



    Revision as of 21:19, 30 July 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.



    KRunner

    Major Bugs

    None! =)
    

    Runners

    • pull in options from kdesktop/minicli.cpp and merge into shell and app runners
    • ServiceRunner: better matching (case insensitivity, substring matching, performance, etc)
    • 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...?

    Interface

    • options slide drawer animation

    Misc

    Plasma

    This is what we are focusing on implementing right now:

    • general libplasma
      • unit tests.
      • api documentation reviews
      • XML Config: add support for unsupported data types (these are documented in the API docu)
      • Applet needs a way to access resources for customization (think: clock faces)
      • provide a way to mark an applet as needing configuration before usage (similar to how we do with failureToLaunch)
    • Applets
      • application launcher interface
      • taskbar (robert knight; others welcome to help)
      • systray
      • a generic way to merge custom entries into the standard context menus
      • on mouse over, show a set of small buttons that allow for the following actions: close, configure, lock, information and move. aseigo has graphics for the buttons already.
      • add global settings config page, if it exists in the Package (which means adding a pair of entries in packages.cpp for globalconfigui and globalconfigxml), alongside the per-applet ones
    • plasmagik
      • unit tests
      • resuscitate trunk/playground/base/plasma/plasmagik
    • bindings
      • QtScript bindings are being worked on
      • need to re-evaluate the place of KRoss in the all of this
    • 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 ...? Currently needs to pretty-fied and the more "techie" options removed
    • Corona (QGraphicsScene subclass)
      • Item groups: a container to group items (mostly applets, really) and handle layouting and level of detail
      • Zooming: 3-level zooming needs to be supported. 100% == 1 item group at full zoom; 50% == all item groups visible with panning with each item replaced by a simple icon; 10% == all item groups visible without panning, each group replaced by a simple icon and items not painted at all (fonz)
      • Saving and loading of layouts (Alexis)
      • The concept of form factor needs to move out of Corona and into the item group class
    • Views
      • Currently there is DesktopView which is, somewhat obviously, the desktop view onto the Corona
      • Implement configurable background painting. This can in part be ported from kdesktop for DesktopView. Should be plugin based.
      • Create a panel view
      • Create a dashboard view (full screen, always on top)
    • Widgets Here is a page describing the nature of these widgets. Widgets still needed that aren't implemented yet are:
      • Icon needs the icon hover feature to be finished
      • An html widget
      • panner widget that shows N QGraphicsViewItems at a time in a fancy manner (asiraj)
      • a "something just changed" widget that provides a bit of animated flash when something changes (andred)
    • DataEngine
      • Configuration parameters for sources


    We also have:

    • Implement Zack's physical equations for animations

    Nice to have:

    • Implement python bindings of Plasma