|
|
(12 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| = Applet =
| | ;[[Plasma/libplasma2/API_Review/Applet|Applet]] |
| == QProperties ==
| | ;[[Plasma/libplasma2/API_Review/Containment|Containment]] |
| All Q_PROPERTY and Q_INVOKABLE will be removed from Applet, that is no more directly exposed in QML.
| | ;[[Plasma/libplasma2/API_Review/ContainmentActions|ContainmentActions]] |
| | | ;[[Plasma/libplasma2/API_Review/Corona|Corona]] |
| == Bookkeeping ==
| | ;[[Plasma/libplasma2/API_Review/DataContainer|DataContainer]] |
| === Keep ===
| | ;[[Plasma/libplasma2/API_Review/DataEngine|DataEngine]] |
| uint id() const;
| | ;[[Plasma/libplasma2/API_Review/Service|Service]] |
| virtual FormFactor formFactor() const; -> not virtual
| | ;[[Plasma/libplasma2/API_Review/Theme|Theme]] |
| virtual Location location() const; -> not virtual
| | ;[[Plasma/libplasma2/API_Review/RunnerManager|RunnerManager]] |
| void setImmutability(const ImmutabilityType immutable);
| |
| ImmutabilityType immutability() const;
| |
| SIGNAL void immutabilityChanged(Plasma::ImmutabilityType immutable);
| |
| bool hasFailedToLaunch() const;
| |
| void setFailedToLaunch(bool failed, const QString &reason = QString()); -> '''TODO''': show why the thing failed in the UI
| |
| bool destroyed() const;
| |
| virtual void destroy();
| |
| ItemStatus status() const; → unslotify
| |
| void setStatus(const ItemStatus stat);
| |
| SIGNAL void newStatus(Plasma::ItemStatus status); -> TODO: change name to statusChanged
| |
| === Remove ===
| |
| Plasma::AspectRatioMode aspectRatioMode() const;
| |
| void setAspectRatioMode(Plasma::AspectRatioMode);
| |
| | |
| ==Configuration==
| |
| We should have a single configuration object binded to qml (either created by autogenerated qml, a model or a property hash)
| |
| KConfigGroup config() const;
| |
| KConfigGroup globalConfig() const;
| |
| ConfigLoader *configScheme() const;
| |
| Topic: can this be made flexible enough to replace config read/write?
| |
| Topic: will need a global version (for globalConfig())
| |
| Topic: should we use QML for config, if so: how?
| |
| virtual void save(KConfigGroup &group) const;
| |
| virtual void restore(KConfigGroup &group);
| |
| virtual void configChanged(); -> to signal
| |
| virtual void saveState(KConfigGroup &config) const;
| |
| SIGNAL void configNeedsSaving();
| |
| bool hasConfigurationInterface() const;
| |
| void setHasConfigurationInterface(bool hasInterface);
| |
| void setConfigurationRequired(bool needsConfiguring, const QString &reason = QString());
| |
| bool configurationRequired() const;
| |
| virtual void showConfigurationInterface();
| |
| === Completely UI-specific, remove or move to scriptengine ===
| |
| void showConfigurationInterface(QWidget *widget);
| |
| virtual void createConfigurationInterface(KConfigDialog *parent);
| |
| bool isUserConfiguring() const
| |
| Private class AppletConfigDialog is part of this
| |
| | |
| == Utils ==
| |
| === Keep ===
| |
| Package package() const;
| |
| void updateConstraints(Plasma::Constraints constraints = Plasma::AllConstraints);
| |
| void flushPendingConstraintsEvents();
| |
| virtual void constraintsEvent(Plasma::Constraints constraints);
| |
| === Remove ===
| |
| DataEngine *dataEngine(const QString &name) const;
| |
| QPoint popupPosition(const QSize &s) const; -> Dialog in bindings
| |
| QPoint popupPosition(const QSize &s, Qt::AlignmentFlag alignment) const;
| |
| | |
| = Containment =
| |
| | |
| == Constructors ==
| |
| All still needed?
| |
| * explicit Containment(QObject *parent = 0, const QString &serviceId = QString(), uint containmentId = 0)
| |
| * Containment(QObject *parent, const QVariantList &args);
| |
| * private Containment(const QString &packagePath, uint appletId, const QVariantList &args);
| |
| | |
| == Methods ==
| |
| * Applet *addApplet(const QString &name, const QVariantList &args = QVariantList(), const QRectF &geometry = QRectF(-1, -1, -1, -1)); Remove Geometry? not possible anymore
| |
| * void addApplet(Applet *applet, const QPointF &pos = QPointF(-1, -1)); Remove pos? (not possible anymore)
| |
| * void setScreen(int screen, int desktop = -1); Drop desktop? (that means dropping the per-virtual desktop views feature, it can be "emulated" with activities and would make things dramatically simpler)
| |
| * int desktop() const;
| |
| * int lastDesktop() const;
| |
| * void showContextMenu(const QPointF &containmentPos, const QPoint &screenPos);
| |
| * virtual void showDropZone(const QPoint pos);
| |
| * void contextMenuEvent(QContextMenuEvent *event);
| |
| * void keyPressEvent(QKeyEvent *event);
| |
| * void wheelEvent(QWheelEvent *event);
| |
| | |
| ==== In PluginLoader? ====
| |
| * static KPluginInfo::List listContainments(const QString &category = QString(), const QString &parentApp = QString());
| |
| * static KPluginInfo::List listContainmentsOfType(const QString &type, const QString &category = QString(), const QString &parentApp = QString());
| |
| * static QStringList listContainmentTypes();
| |
| * static KPluginInfo::List listContainmentsForMimeType(const QString &mimeType);
| |
| | |
| == Signals ==
| |
| * void toolBoxToggled();
| |
| * void toolBoxVisibilityChanged(bool);
| |
| * void showAddWidgetsInterface(const QPointF &pos); (cannot have a position, maybe not needed at all)
| |
| | |
| = Corona =
| |
| == Methods ==
| |
| * Containment *containmentForScreen(int screen, int desktop = -1) const; Remove desktop?
| |
| * Containment *containmentForScreen(int screen, int desktop, const QString &defaultPluginIfNonExistent, const QVariantList &defaultArgs = QVariantList()); Remove desktop?
| |
| | |
| Still necassary?
| |
| * void setAppletMimeType(const QString &mimetype);
| |
| * QString appletMimeType();
| |
| * void setDialogManager(AbstractDialogManager *manager); DialogManager was fow main windows of config uis. If all config is going to be qml, this could go (alternative is that we do an AbstractDialogManager that is a declarative view: possible as well).
| |
| * AbstractDialogManager *dialogManager();
| |
| * QString preferredToolBoxPlugin(const Containment::Type type) const; Toolboxes, instead of plugin may come from the only corona QML package.
| |
| void setPreferredToolBoxPlugin(const Containment::Type type, const QString &plugin);
| |
| * void setDefaultContainmentPlugin(const QString &name); Default containment plugin also told in the one Corona QML package?
| |
| * void requestConfigSync(); Ugly api: are requestConfigSync and requireConfigSync still required both?
| |
| * void requireConfigSync();
| |
| | |
| ==Signals ==
| |
| * void releaseVisualFocus();
| |