Jump to content

Plasma/libplasma2/API Review/Theme

From KDE Community Wiki

Properties and invokables

All removed, only declared in the subclass in the QML bindings

Constructors

Status Action Method
DONE Keep explicit Theme(QObject *parent ); will create the standard "global" theme
DONE Keep explicit Theme(const QString &themeName, QObject *parent ); -> will create a "custom" theme
DONE Keep ~Theme();


Enums

Status Action Method
DONE Keep ColorRole
DONE Remove FontRole


Fonts

Status Action Method
DONE Remove void setFont(const QFont &font, FontRole role);
DONE Remove QFont font(FontRole role) const;
DONE Remove QFontMetrics fontMetrics() const;


Other methods

Status Action Method
DONE Remove static Theme *defaultTheme(); -> the dpointer will be implicitly shared: if a theme is created with a different name a new dpointer is created.
DONE Keep void setThemeName(const QString &themeName);
DONE Keep QString themeName() const;
DONE Keep QString imagePath(const QString &name) const;
DONE Keep bool currentThemeHasImage(const QString &name) const;
DONE Keep QString wallpaperPath(const QSize &size) const;
DONE Keep KSharedConfigPtr colorScheme() const;
DONE Keep QColor color(ColorRole role) const;
DONE Remove bool windowTranslucencyEnabled() const;
TO DO Rename void setUseGlobalSettings(bool useGlobal); -> void setConfigurationGroupName(const QString &name); <{{{3}}}>
TO DO Rename bool useGlobalSettings() const; -> QString configurationGroupName() const; Note: store config group name in the KConfigGroup object in the dptr <{{{3}}}>
DONE Remove bool useNativeWidgetStyle() const;
DONE Move QString styleSheet(const QString &css) const; -> SVG stylesheet becomes private

cachedStyleSheets -> does not need to be a QHash, we only ever have 2 stylesheets cached See if there are any uses of custom stylesheets being processed by this (to see if we need the css parameter at all)

DONE Keep bool findInCache(const QString &key, QPixmap &pix, unsigned int lastModified);
DONE Keep void insertIntoCache(const QString& key, const QPixmap& pix);
DONE Keep void insertIntoCache(const QString& key, const QPixmap& pix, const QString& id);
DONE Keep void setCacheLimit(int kbytes);
DONE Keep bool findInRectsCache(const QString &image, const QString &element, QRectF &rect) const;
DONE Keep QStringList listCachedRectKeys(const QString &image) const;
DONE Keep void insertIntoRectsCache(const QString& image, const QString &element, const QRectF &rect);
DONE Keep void invalidateRectsCache(const QString &image);
DONE Keep void releaseRectsCache(const QString &image);
DONE Rename QUrl homepage() const; -> KPluginfo pluginInfo();
DONE Remove int toolTipDelay() const;
DONE Keep SIGNAL void themeChanged();
DONE Move public slot void settingsChanged(); -> becomes private, goes into dpointer