Plasma/libplasma2/API Review/Containment: Difference between revisions
No edit summary |
|||
(31 intermediate revisions by 2 users not shown) | |||
Line 24: | Line 24: | ||
}; | }; | ||
Q_ENUMS(ToolType) | Q_ENUMS(ToolType) | ||
{| cellspacing="0" cellpadding="5" border="1" style="border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;" class="sortable" | |||
|- style="background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;" | |||
! Status | |||
! Action | |||
! Enum | |||
{{FeatureDone|Move|Type -> move to Plasma::ContainmenType}} | |||
{{FeatureDone|Move|ToolType -> move to Plasma::ActionType}} | |||
|} | |||
= Constructors = | |||
{| cellspacing="0" cellpadding="5" border="1" style="border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;" class="sortable" | |||
|- style="background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;" | |||
as | |||
! Status | |||
! Action | |||
! Method | |||
{{FeatureDone|Keep|explicit Containment(QObject *parent , const QString &serviceId , uint containmentId );}} | |||
{{FeatureDone|Keep|Containment(QObject *parent, const QVariantList &args);}} | |||
{{FeatureDone|Keep|~Containment();}} | |||
|} | |||
= Bookkeeping = | = Bookkeeping = | ||
Line 34: | Line 61: | ||
! Method | ! Method | ||
{{ | {{FeatureDone|Rename| Applet *addApplet(const QString &name, const QVariantList args, const QRectF geometry ; -> becomes createApplet, args and geometry arguments go away}} | ||
{{ | {{FeatureDone | Paramenters| void addApplet(Applet *applet, const QPointF pos); -> pos parameter goes }} | ||
{{FeatureDone | Keep| QList<Applet *> applets() const; }} | {{FeatureDone | Keep| QList<Applet *> applets() const; }} | ||
{{ | {{FeatureDone | Remove| void clearApplets(); }} | ||
{{ | {{FeatureDone | Paramenters| void setScreen(int screen, int desktop); -> remove desktop }} | ||
{{FeatureDone | Keep| int screen() const; }} | {{FeatureDone | Keep| int screen() const; }} | ||
{{ | {{FeatureDone | Remove| int lastScreen() const; }} | ||
{{ | {{FeatureDone | Remove| int desktop() const; }} | ||
{{ | {{FeatureDone | Remove| int lastDesktop() const; }} | ||
{{FeatureDone | Remove| void addAssociatedWidget(QWidget *widget); }} | |||
{{FeatureDone | Remove| void removeAssociatedWidget(QWidget *widget); }} | |||
{{FeatureTodo | Remove| bool drawWallpaper(); (to be decided)}} | |||
{{FeatureTodo | Remove| slot void setDrawWallpaper(bool drawWallpaper); (to be decided)}} | |||
{{FeatureDone | Keep| signal void wallpaperChanged();}} | |||
{{FeatureDone | Keep| void setWallpaper(const QString &pluginName); }} | |||
{{FeatureDone | Keep| QString wallpaper() const; }} | |||
{{FeatureDone | Keep| void setActivity(const QString &activityId); }} | |||
{{FeatureDone | Keep| QString activity() const; }} | |||
{{FeatureDone | Paramenters| signal void appletAdded(Plasma::Applet *applet, const QPointF &pos); Remove pos}} | |||
{{FeatureDone | Keep| signal void appletRemoved(Plasma::Applet *applet);}} | |||
{{FeatureDone| Paramenters| void screenChanged(int wasScreen, int isScreen, Plasma::Containment *containment); -> remove containment parameter. From the usage in Corona seems that the containment parameter may make sense (can be converted to use sender() but seems uglier)}} | |||
{{FeatureDone | Keep| void configureRequested(Plasma::Containment *containment); -> not completely sure }} | |||
{{FeatureDone | Keep| slot void setLocation(Plasma::Location location);}} | |||
{{FeatureDone | Keep| slot void setFormFactor(Plasma::FormFactor formFactor);}} | |||
{{FeatureDone | Remove| slot void destroy();}} | |||
{{FeatureDone | Remove| slot void destroy(bool confirm);}} | |||
{{FeatureDone | Keep| slot void setContainmentType(Containment::Type type);}} | |||
|} | |||
= Actions = | |||
{| cellspacing="0" cellpadding="5" border="1" style="border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;" class="sortable" | |||
|- style="background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;" | |||
as | |||
! Status | |||
! Action | |||
! Method | |||
{{FeatureDone|Keep| void enableAction(const QString &name, bool enable); }} | |||
{{FeatureDone|Remove| void addToolBoxAction(QAction *action); }} | |||
{{FeatureDone|Remove| void removeToolBoxAction(QAction *action); }} | |||
|} | |} | ||
= | =Containment Actions= | ||
{| cellspacing="0" cellpadding="5" border="1" style="border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;" class="sortable" | {| cellspacing="0" cellpadding="5" border="1" style="border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;" class="sortable" | ||
Line 55: | Line 114: | ||
! Method | ! Method | ||
{{FeatureDone| | {{FeatureDone | Rename | void setContainmentActions(const QString &trigger, const QString &pluginName); -> Rename to addContainmentActions }} | ||
{{FeatureDone| | {{FeatureDone | Remove | QString containmentActions(const QString &trigger); }} | ||
{{FeatureDone| | {{FeatureDone | Remove | QStringList containmentActionsTriggers();}} | ||
{{FeatureDone | Add | QHash<QString, ContainmentsActions *> containmentActions() const; }} | |||
{{FeatureDone | Remove | KConfigGroup containmentActionsConfig(); Remove after adding ContainmentActions::config() -> problem is that this config group has to exist before ContainmentActions * itself}} | |||
|} | |} | ||
Line 69: | Line 130: | ||
! Action | ! Action | ||
! Method | ! Method | ||
}} | {{FeatureDone | PluginLoader| static KPluginInfo::List listContainments(const QString &category, const QString &parentApp); }} | ||
{{FeatureDone | PluginLoader| static KPluginInfo::List listContainmentsOfType(const QString &type, const QString &category , const QString &parentApp ); }} | |||
{{FeatureDone | PluginLoader| static QStringList listContainmentTypes(); }} | |||
{{FeatureDone | PluginLoader| static KPluginInfo::List listContainmentsForMimeType(const QString &mimeType); }} | |||
|} | |||
= Configuration = | |||
{| cellspacing="0" cellpadding="5" border="1" style="border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;" class="sortable" | |||
|- style="background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;" | |||
! Status | |||
! Action | |||
! Method | |||
{{FeatureDone | Keep| void save(KConfigGroup &group) const; }} | |||
{{FeatureDone | Keep| void restore(KConfigGroup &group); }} | |||
{{FeatureDone | Keep| protected virtual void saveContents(KConfigGroup &group) const; }} | |||
{{FeatureDone | Keep| protected virtual void restoreContents(KConfigGroup &group); }} | |||
{{FeatureDone | Move| slot void showConfigurationInterface(); -> into scriptengine}} | |||
|} | |||
= UI specific stuff = | |||
UI specific things don't belong to this library | |||
{| cellspacing="0" cellpadding="5" border="1" style="border: 1px solid gray; border-collapse: collapse; text-align: left; width: 100%;" class="sortable" | |||
|- style="background: rgb(236, 236, 236) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; white-space: nowrap;" | |||
as | |||
! Status | |||
! Action | |||
! Method | |||
{{FeatureDone|Remove| void showContextMenu(const QPointF &containmentPos, const QPoint &screenPos);}} | |||
{{FeatureDone|Remove| virtual void showDropZone(const QPoint pos);}} | |||
{{FeatureDone|Remove| void contextMenuEvent(QContextMenuEvent *event);}} | |||
{{FeatureDone|Remove| void wheelEvent(QWheelEvent *event);}} | |||
{{FeatureDone|Remove| signal void toolBoxToggled();}} | |||
{{FeatureDone|Remove| signal void toolBoxVisibilityChanged(bool);}} | |||
|} |
Latest revision as of 14:37, 22 January 2014
Q_PROPERTIES
All qproperties and invokables must go
Enums
Type probably goes in plasma.h
enum Type { NoContainmentType = -1, /**< @internal */ DesktopContainment = 0, /**< A desktop containment */ New name -> suggestions [ Canvas ] PanelContainment, /**< A desktop panel */ CustomContainment = 127, /**< A containment that is neither a desktop nor a panel but something application specific */ CustomPanelContainment = 128 /**< A customized desktop panel */ };
ToolType goes in plasma.h it becomes ActionType (not related to toolbox anymore)
enum ToolType { AddTool = 0, ConfigureTool = 100, ControlTool = 200, MiscTool = 300, DestructiveTool = 400, UserToolType = DestructiveTool + 1000 }; Q_ENUMS(ToolType)
Status | Action | Enum |
---|---|---|
DONE | Move | Type -> move to Plasma::ContainmenType |
DONE | Move | ToolType -> move to Plasma::ActionType
|
Constructors
asStatus | Action | Method |
---|---|---|
DONE | Keep | explicit Containment(QObject *parent , const QString &serviceId , uint containmentId ); |
DONE | Keep | Containment(QObject *parent, const QVariantList &args); |
DONE | Keep | ~Containment();
|
Bookkeeping
asStatus | Action | Method | |
---|---|---|---|
DONE | Rename | Applet *addApplet(const QString &name, const QVariantList args, const QRectF geometry ; -> becomes createApplet, args and geometry arguments go away | |
DONE | Paramenters | void addApplet(Applet *applet, const QPointF pos); -> pos parameter goes | |
DONE | Keep | QList<Applet *> applets() const; | |
DONE | Remove | void clearApplets(); | |
DONE | Paramenters | void setScreen(int screen, int desktop); -> remove desktop | |
DONE | Keep | int screen() const; | |
DONE | Remove | int lastScreen() const; | |
DONE | Remove | int desktop() const; | |
DONE | Remove | int lastDesktop() const; | |
DONE | Remove | void addAssociatedWidget(QWidget *widget); | |
DONE | Remove | void removeAssociatedWidget(QWidget *widget); | |
TO DO | Remove | bool drawWallpaper(); (to be decided) | <{{{3}}}> |
TO DO | Remove | slot void setDrawWallpaper(bool drawWallpaper); (to be decided) | <{{{3}}}> |
DONE | Keep | signal void wallpaperChanged(); | |
DONE | Keep | void setWallpaper(const QString &pluginName); | |
DONE | Keep | QString wallpaper() const; | |
DONE | Keep | void setActivity(const QString &activityId); | |
DONE | Keep | QString activity() const; | |
DONE | Paramenters | signal void appletAdded(Plasma::Applet *applet, const QPointF &pos); Remove pos | |
DONE | Keep | signal void appletRemoved(Plasma::Applet *applet); | |
DONE | Paramenters | void screenChanged(int wasScreen, int isScreen, Plasma::Containment *containment); -> remove containment parameter. From the usage in Corona seems that the containment parameter may make sense (can be converted to use sender() but seems uglier) | |
DONE | Keep | void configureRequested(Plasma::Containment *containment); -> not completely sure | |
DONE | Keep | slot void setLocation(Plasma::Location location); | |
DONE | Keep | slot void setFormFactor(Plasma::FormFactor formFactor); | |
DONE | Remove | slot void destroy(); | |
DONE | Remove | slot void destroy(bool confirm); | |
DONE | Keep | slot void setContainmentType(Containment::Type type); |
Actions
asStatus | Action | Method |
---|---|---|
DONE | Keep | void enableAction(const QString &name, bool enable); |
DONE | Remove | void addToolBoxAction(QAction *action); |
DONE | Remove | void removeToolBoxAction(QAction *action);
|
Containment Actions
asStatus | Action | Method |
---|---|---|
DONE | Rename | void setContainmentActions(const QString &trigger, const QString &pluginName); -> Rename to addContainmentActions |
DONE | Remove | QString containmentActions(const QString &trigger); |
DONE | Remove | QStringList containmentActionsTriggers(); |
DONE | Add | QHash<QString, ContainmentsActions *> containmentActions() const; |
DONE | Remove | KConfigGroup containmentActionsConfig(); Remove after adding ContainmentActions::config() -> problem is that this config group has to exist before ContainmentActions * itself
|
Plugin loading
asStatus | Action | Method |
---|---|---|
DONE | PluginLoader | static KPluginInfo::List listContainments(const QString &category, const QString &parentApp); |
DONE | PluginLoader | static KPluginInfo::List listContainmentsOfType(const QString &type, const QString &category , const QString &parentApp ); |
DONE | PluginLoader | static QStringList listContainmentTypes(); |
DONE | PluginLoader | static KPluginInfo::List listContainmentsForMimeType(const QString &mimeType);
|
Configuration
Status | Action | Method |
---|---|---|
DONE | Keep | void save(KConfigGroup &group) const; |
DONE | Keep | void restore(KConfigGroup &group); |
DONE | Keep | protected virtual void saveContents(KConfigGroup &group) const; |
DONE | Keep | protected virtual void restoreContents(KConfigGroup &group); |
DONE | Move | slot void showConfigurationInterface(); -> into scriptengine |
UI specific stuff
UI specific things don't belong to this library
asStatus | Action | Method |
---|---|---|
DONE | Remove | void showContextMenu(const QPointF &containmentPos, const QPoint &screenPos); |
DONE | Remove | virtual void showDropZone(const QPoint pos); |
DONE | Remove | void contextMenuEvent(QContextMenuEvent *event); |
DONE | Remove | void wheelEvent(QWheelEvent *event); |
DONE | Remove | signal void toolBoxToggled(); |
DONE | Remove | signal void toolBoxVisibilityChanged(bool);
|