Plasma/libplasma2/API Review/Service: Difference between revisions

From KDE Community Wiki
No edit summary
No edit summary
Line 25: Line 25:
{{FeatureTodo|Remove| Q_INVOKABLE void associateItem(QQuickItem->QObject *item, const QString &operation);}}
{{FeatureTodo|Remove| Q_INVOKABLE void associateItem(QQuickItem->QObject *item, const QString &operation);}}
{{FeatureTodo|Remove| Q_INVOKABLE void disassociateItem(QQuickItem *widget);}}
{{FeatureTodo|Remove| Q_INVOKABLE void disassociateItem(QQuickItem *widget);}}
{{FeatureTodo|Remove| Q_INVOKABLE QHash<QString, QVariant> parametersFromDescription(const KConfigGroup &description);}}
{{FeatureDone|Remove| Q_INVOKABLE QHash<QString, QVariant> parametersFromDescription(const KConfigGroup &description);}}


{{FeatureTodo|Remove| SIGNAL void operationsChanged();}}
{{FeatureDone|Remove| SIGNAL void operationsChanged();}}
{{FeatureDone|Keep |SIGNAL void serviceReady(Plasma::Service *service);}}
{{FeatureDone|Keep |SIGNAL void serviceReady(Plasma::Service *service);}}
{{FeatureTodo|Add |SIGNAL void operationEnabled(const QString &operation, bool enabled);}}
{{FeatureDone|Add |SIGNAL void operationEnabledChanged(const QString &operation, bool enabled);}}


{{FeatureDone|Keep | protected explicit Service(QObject *parent );}}
{{FeatureDone|Keep | protected explicit Service(QObject *parent );}}

Revision as of 16:14, 2 May 2013

New class in QML bindings

Needed to access wether an operation is enable or not (like in the nowPlaying service

 ServiceOperationStatus {
   property bool enabled
   property Service service
   property string operation
}

Class API

Status Action Method
DONE Remove static Service *access(const QUrl &url, QObject *parent);
TO DO Remove Q_INVOKABLE void setDestination(const QString &destination); <{{{3}}}>
TO DO Remove Q_INVOKABLE QString destination() const; <{{{3}}}>
DONE Keep Q_INVOKABLE QStringList operationNames() const;
DONE Rename Q_INVOKABLE KConfigGroup operationDescription(const QString &operationName); -> QVariantMap operationDescription(const QString &operationName);
DONE Rename Q_INVOKABLE ServiceJob *startOperationCall(const KConfigGroup->QVariantMap &description, QObject *parent );
DONE Keep Q_INVOKABLE bool isOperationEnabled(const QString &operation) const;
DONE Keep Q_INVOKABLE QString name() const;
TO DO Remove Q_INVOKABLE void associateItem(QQuickItem->QObject *item, const QString &operation); <{{{3}}}>
TO DO Remove Q_INVOKABLE void disassociateItem(QQuickItem *widget); <{{{3}}}>
DONE Remove Q_INVOKABLE QHash<QString, QVariant> parametersFromDescription(const KConfigGroup &description);


DONE Remove SIGNAL void operationsChanged();
DONE Keep SIGNAL void serviceReady(Plasma::Service *service);
DONE Add SIGNAL void operationEnabledChanged(const QString &operation, bool enabled);


DONE Keep protected explicit Service(QObject *parent );
TO DO Remove protected Service(QObject *parent, const QVariantList &args); <{{{3}}}>
TO DO Parameters protected virtual ServiceJob *createJob(const QString &operation, QHash<QString, QVariant> ->QVariantMap &parameters) <{{{3}}}>


DONE Keep protected virtual void registerOperationsScheme();
DONE Keep protected void setOperationsScheme(QIODevice *xml);
DONE Keep protected void setName(const QString &name);
TO DO Multithread protected void setOperationEnabled(const QString &operation, bool enable); -> use a QRunnable here <{{{3}}}>


TO DO Remove private  Q_PRIVATE_SLOT(d, void associatedWidgetDestroyed(QObject *)) <{{{3}}}>
TO DO Remove private  Q_PRIVATE_SLOT(d, void associatedItemDestroyed(QObject *)) <{{{3}}}>