diff options
Diffstat (limited to 'src/controls/plugin.cpp')
| -rw-r--r-- | src/controls/plugin.cpp | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/src/controls/plugin.cpp b/src/controls/plugin.cpp index 1b255302a..6b67c1b21 100644 --- a/src/controls/plugin.cpp +++ b/src/controls/plugin.cpp @@ -44,36 +44,15 @@ #include "qquickmenu_p.h" #include "qquickmenubar_p.h" #include "qquickstack_p.h" +#include "qquickdesktopiconprovider_p.h" -#include <qimage.h> #include <qqml.h> #include <qqmlengine.h> #include <qqmlextensionplugin.h> -#include <qquickimageprovider.h> #include <qquickwindow.h> QT_BEGIN_NAMESPACE -// Load icons from desktop theme -class DesktopIconProvider : public QQuickImageProvider -{ -public: - DesktopIconProvider() - : QQuickImageProvider(QQuickImageProvider::Pixmap) - { - } - - QPixmap requestPixmap(const QString &id, QSize *size, const QSize &requestedSize) - { - Q_UNUSED(requestedSize); - Q_UNUSED(size); - int pos = id.lastIndexOf('/'); - QString iconName = id.right(id.length() - pos); - int width = requestedSize.width(); - return QIcon::fromTheme(iconName).pixmap(width); - } -}; - class QtQuickControlsPlugin : public QQmlExtensionPlugin { Q_OBJECT @@ -103,7 +82,7 @@ void QtQuickControlsPlugin::registerTypes(const char *uri) void QtQuickControlsPlugin::initializeEngine(QQmlEngine *engine, const char *uri) { Q_UNUSED(uri); - engine->addImageProvider("desktoptheme", new DesktopIconProvider); + engine->addImageProvider("desktoptheme", new QQuickDesktopIconProvider); } QT_END_NAMESPACE |
