23#include <QtCore/QObject>
25#include <QtGui/QFontMetrics>
27#include <kplugininfo.h>
28#include <ksharedconfig.h>
59 Q_PROPERTY(QString themeName READ themeName)
68 ButtonBackgroundColor = 8,
70 VisitedLinkColor = 32,
71 ButtonHoverColor = 64,
72 ButtonFocusColor = 128,
74 ViewBackgroundColor = 512,
75 ViewHoverColor = 1024,
88 static Theme *defaultTheme();
104 explicit Theme(
const QString &themeName,
QObject *parent = 0);
117 static KPluginInfo::List listThemeInfo();
122 void setThemeName(
const QString &themeName);
127 QString themeName()
const;
136 Q_INVOKABLE QString imagePath(
const QString &name)
const;
145 Q_INVOKABLE QString animationPath(
const QString &name)
const;
154 Q_INVOKABLE QString wallpaperPath(
const QSize &size = QSize())
const;
163 Q_INVOKABLE
bool currentThemeHasImage(
const QString &name)
const;
170 Q_INVOKABLE KSharedConfigPtr colorScheme()
const;
177 Q_INVOKABLE QColor color(ColorRole role)
const;
186 Q_INVOKABLE
void setFont(
const QFont &font, FontRole role = DefaultFont);
193 Q_INVOKABLE QFont font(FontRole role)
const;
198 Q_INVOKABLE QFontMetrics fontMetrics()
const;
203 Q_INVOKABLE
bool windowTranslucencyEnabled()
const;
211 void setUseGlobalSettings(
bool useGlobal);
217 bool useGlobalSettings()
const;
223 bool useNativeWidgetStyle()
const;
262 Q_INVOKABLE QString styleSheet(
const QString &css = QString())
const;
273 bool findInCache(
const QString &key, QPixmap &pix);
287 bool findInCache(
const QString &key, QPixmap &pix,
unsigned int lastModified);
297 void insertIntoCache(
const QString& key,
const QPixmap& pix);
317 void insertIntoCache(
const QString& key,
const QPixmap& pix,
const QString&
id);
327 void setCacheLimit(
int kbytes);
338 bool findInRectsCache(
const QString &image,
const QString &element, QRectF &rect)
const;
349 QStringList listCachedRectKeys(
const QString &image)
const;
358 void insertIntoRectsCache(
const QString& image,
const QString &element,
const QRectF &rect);
365 void invalidateRectsCache(
const QString &image);
374 void releaseRectsCache(
const QString &image);
380 KUrl homepage()
const;
385 int toolTipDelay()
const;
403 void settingsChanged();
406 friend class ThemeSingleton;
407 friend class ThemePrivate;
408 ThemePrivate *
const d;
410 Q_PRIVATE_SLOT(d,
void compositingChanged(
bool))
411 Q_PRIVATE_SLOT(d,
void colorsChanged())
412 Q_PRIVATE_SLOT(d,
void blurBehindChanged(
bool blur))
413 Q_PRIVATE_SLOT(d,
void settingsFileChanged(const QString &))
414 Q_PRIVATE_SLOT(d,
void scheduledCacheUpdate())
415 Q_PRIVATE_SLOT(d,
void onAppExitCleanup())
416 Q_PRIVATE_SLOT(d,
void notifyOfChanged())
KSharedPtr< PackageStructure > Ptr
Interface to the Plasma theme.
void themeChanged()
Emitted when the user changes the theme.
@ DesktopFont
The standard text font.
Namespace for everything in libplasma.
PackageStructure::Ptr packageStructure(const QString &language, ComponentType type)
Loads an appropriate PackageStructure for the given language and type.