Plasma/libplasma2/API Review/Containment
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);
|