Plasma/PlasmoidScripting: Difference between revisions

From KDE Community Wiki
No edit summary
Line 41: Line 41:


= Porting Plasmoids to QML =
= Porting Plasmoids to QML =
This part contains the current state of plasmoids that are being transformed to QML. Developers please update the status of the same here.
All information about QML plasmoid porting has been move [Plasma/QMLPorting#Porting_Plasmoids_to_QML | here]
 
Also, feel free to add any that you may be porting, if they aren't listed.
 
'''REMEMBER!''' when you merge them to master, update the feature plan, so our release monkeys can keep track. (link to 4.9 schedule when it gets up, since 4.8 is now frozen/tagged remember)
 
= TODO =
== Desktop Applets ===
 
* '''Kickoff'''
** '''Status:''' Almost done, needs reviewing, merging and testing
** '''Developer:''' Martin Gräßlin
** '''Source:''' "kickoff-qml" branch of kde-workspace
* '''Pager'''
* '''Tasks'''
** '''Status:''' Ongoing
** '''Developer:''' Shaun Reich
** '''Source:''' "plasma/sreich/tasks-qml" branch of kde-workspace
* '''Trash'''
* '''Window List'''
 
== Generic applets ==
{| class="sortable" border="1" cellpadding="4" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
|- style="background: #ececec; white-space:nowrap;"
! Status !! Name !! Source !! Contact
{{FeatureProjectInProgress |Analog Clock|"plasma/viranch/analogclock" branch of kde-workspace|[email protected]|Viranch Mehta}}
{{FeatureProjectTodo |ActivityBar||}}
{{FeatureProjectTodo |Battery||}}
{{FeatureProjectTodo |Notifications||}}
{{FeatureProjectTodo |Calendar||}}
{{FeatureProjectTodo |Dictionary||}}
{{FeatureProjectTodo |Digital Clock||}}
{{FeatureProjectTodo |Picture Frame||}}
{{FeatureProjectTodo |Icon||}}
{{FeatureProjectTodo |Kate session profile applet||}}
{{FeatureProjectTodo |Lock Logout||}}
{{FeatureProjectTodo |Now Playing||}}
{{FeatureProjectTodo |Panel Spacer||}}
{{FeatureProjectTodo |Quicklaunch||}}
{{FeatureProjectTodo |RSS Now||}}
{{FeatureProjectTodo |News||}}
{{FeatureProjectTodo |Microblog||}}
{{FeatureProjectTodo |System Monitor||}}
{{FeatureProjectTodo |System Tray||}}
{{FeatureProjectTodo |Timer||}}
{{FeatureProjectTodo |Web Browser||}}
|}
 
* '''Activity Bar'''
 
* '''Battery'''
** '''Status:''' merged
** '''Developer:''' Viranch Mehta
** '''Source:''' "plasma/viranch/powermanagementservices" branch of kde-workspace
 
* '''Notifications'''
** '''Status:''' 70% done
** '''Source:''' plasma/mart/notifications-qml in kde-workspace
** '''Developer:''' Marco Martin
 
* '''Calendar'''
 
* '''Dictionary'''
** '''Status:''' Almost done, working on selecting dictionary to use
** '''Developer:''' Shaun Reich
** '''Source:''' master branch of declarative-plasmoids repository
 
* '''Digital Clock'''
** '''Status:''' Started
** '''Developer:''' Gregor Taetzner
** '''Source:''' plasma/brummbq/digital-clock of kde-workspace
 
* '''Picture Frame'''
 
* '''Icon'''
 
* '''Kate session profile applet'''
** '''Status:''' 63.29% completed; waiting for other session applets to get 110% done.
** '''Developer:''' Shaun Reich
** '''Source:''' "plasma/sreich/declarative-kate-applet" branch of kate
 
* '''Kate session profile applet'''
** '''Status:''' Ongoing waiting for other session applets to get 110% done.
** '''Developer:''' Shaun Reich
** '''Source:''' ? branch of ?
 
 
* '''Lock Logout'''
** '''Status:''' Almost done, needs some fixing, reviewing and testing before can be merged
** '''Developer:''' Viranch Mehta
** '''Source:''' "plasma/viranch/powermanagementservices" branch of kde-workspace
 
* '''Now Playing'''
** '''Status:''' Done.
** '''Developer:''' Alex Merry
** '''Source:''' master branch (to become 4.9 branch) of kdeplasma-addons
 
* '''Panel Spacer'''
 
* '''Quicklaunch'''
** '''Status:''' Ongoing
** '''Developer:''' Ingomar Wesp
** '''Source:''' "plasma/iwesp/quicklaunch" branch of kde-workspace
 
* '''RSS Now'''
** '''Status:''' Ongoing
** '''Developer:''' Giorgos Tsiapaliwkas
** '''Source:''' master branch of declarative-plasmoids
 
* '''News'''
** '''Status:''' Ongoing
** '''Developer:''' Marco Martin
** '''Source:''' master branch of declarative-plasmoids repository
 
* '''Microblog'''
** '''Status:''' Ongoing
** '''Developer:''' sebas
** '''Source:''' master branch of declarative-plasmoids repository
 
* '''System Monitor'''
** ''Status:''' Ongoing but stalled until Qt 5/QML2 (as it has the canvas api we need to use), yet we can't depend on qt5 yet
** '''Developer:''' Shaun Reich
** '''Source:''' plasma/sreich/qml2-system-monitors branch of kde-workspace
 
* '''System Tray'''
 
* '''Timer'''
** '''Status:''' Planned
** '''Developer:''' Shaun Reich, but up to grab if someone can do it before I get around to starting on it.
** '''Source:''' kdeplasma-addons
 
* '''Web Browser'''
 
= DONE =
 
* '''Konsole session profile applet'''
** '''Status:''' Merged; done
** '''Developer:''' Shaun Reich
** '''Source:''' master kdeplasma-addons
 
* '''Konqueror session profile applet'''
** '''Status:''' Merged; done.
** '''Developer:''' Shaun Reich
** '''Source:''' master kdeplasma-addons
 
* '''Device Notifier'''
** '''Status:''' Done, merged. Needs bug fixing.
** '''Developer:''' Viranch Mehta

Revision as of 19:31, 14 September 2012

This page records currently outstanding TODOs for the Javascript and QML Plasmoid scripting support. This page deals with the Javascript only bindings or the QScriptEngine related bindings shared between both. Please feel free to tackle any of the items below at your convenience. For QML specific items, please see http://community.kde.org/Plasma/DeclarativeScripting

I/O Write

  • write methods that match the read I/O methods

HTTP

  • POST requests

Autocompletion

  • add methods to Plasma::LineEdit that map to the most important parts of KLineEdit's autocomplete API

QPixmap (and QImage)

  • ability to create from a QByteArray
  • ability to create from a remote URL

KLocale

  • readonly access for KLocale: units of measurement, time, currency etc

Access Control

  • Central mechanism for controlling individual plasmoid access to DataEngines, Services and Extensions
    • improve AppletAuthorization and use it in AppletInterface::dataEngine to restrict access
    • perhaps allow the Containment to provide some policy?
    • scriptable policies, so they are runtime?
  • Integrate the cryptographic signing GSoC branch
  • Control access to DataEngines based on advertised safety levels

QMenu

  • QMenu popups

Configuration UI

  • Expand/enrich config UI handling (Plasma::Widget and/or QML based?)

Porting Plasmoids to QML

All information about QML plasmoid porting has been move [Plasma/QMLPorting#Porting_Plasmoids_to_QML | here]