summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaroline Chao <caroline.chao@digia.com>2013-06-20 12:47:50 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-24 07:59:07 +0200
commit4ef9a9c15dbdb8d9a9df49524bba0e56cbf7ba94 (patch)
tree941a8c42f3b274ab0eb6f152a5999e8a0eeec737
parent84bb67bb2a0ed91110c4034b85cabbae4c4ff238 (diff)
downloadqtquickcontrols-4ef9a9c15dbdb8d9a9df49524bba0e56cbf7ba94.tar.gz
Rename DesktopIconProvider to QQuickDesktopIconProvider
And move the QQuickDesktopIconProvider class to a separate header. Change-Id: I16fb1d5f286ccf8ba6c671a12b843565c2b52a22 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
-rw-r--r--src/controls/plugin.cpp25
-rw-r--r--src/controls/plugin.pri3
-rw-r--r--src/controls/qquickdesktopiconprovider_p.h72
3 files changed, 76 insertions, 24 deletions
diff --git a/src/controls/plugin.cpp b/src/controls/plugin.cpp
index 1b255302..6b67c1b2 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
diff --git a/src/controls/plugin.pri b/src/controls/plugin.pri
index 739fcfae..7c4d9af5 100644
--- a/src/controls/plugin.pri
+++ b/src/controls/plugin.pri
@@ -6,7 +6,8 @@ HEADERS += \
$$PWD/qquickmenuitem_p.h \
$$PWD/qquickmenuitemcontainer_p.h \
$$PWD/qquickmenupopupwindow_p.h \
- $$PWD/qquickstack_p.h
+ $$PWD/qquickstack_p.h \
+ $$PWD/qquickdesktopiconprovider_p.h
SOURCES += \
$$PWD/plugin.cpp \
diff --git a/src/controls/qquickdesktopiconprovider_p.h b/src/controls/qquickdesktopiconprovider_p.h
new file mode 100644
index 00000000..05856b1c
--- /dev/null
+++ b/src/controls/qquickdesktopiconprovider_p.h
@@ -0,0 +1,72 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the Qt Quick Controls module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QQUICKDESKTOPICONPROVIDER_P_H
+#define QQUICKDESKTOPICONPROVIDER_P_H
+
+#include <QtGui/qimage.h>
+#include <QtQuick/qquickimageprovider.h>
+
+QT_BEGIN_NAMESPACE
+
+// Load icons from desktop theme
+class QQuickDesktopIconProvider : public QQuickImageProvider
+{
+public:
+ QQuickDesktopIconProvider()
+ : 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);
+ }
+};
+
+QT_END_NAMESPACE
+
+#endif // QQUICKDESKTOPICONPROVIDER_P_H