summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-11-28 14:33:54 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-28 16:57:58 +0100
commitb8d330904b279de57d70caef70ab2d2a6770f0cc (patch)
treea9edf91fa9b80142bdcdf2912b2701704bf7ca6c /src/widgets/itemviews
parentf6c107d799d14bbdb2cb71b8446483541bb0adb5 (diff)
QtGui: Bring back HBITMAP/HICON conversion functions.
- Move the conversion functions from the Lighthouse plugin to QtGui as qt_pixmap/From/To/HBITMAP/HICON(). - Re-enable them in Widgets (QFileIconProvider, QWindowsStyle). - Use them in QtPrintSupport. Change-Id: I1436bc604160d94c78ef270ad2b31bf3b20b5c90 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/widgets/itemviews')
-rw-r--r--src/widgets/itemviews/qfileiconprovider.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/widgets/itemviews/qfileiconprovider.cpp b/src/widgets/itemviews/qfileiconprovider.cpp
index d4dd9e8ff6..1821171de8 100644
--- a/src/widgets/itemviews/qfileiconprovider.cpp
+++ b/src/widgets/itemviews/qfileiconprovider.cpp
@@ -46,11 +46,14 @@
#include <qapplication.h>
#include <qdir.h>
#include <qpixmapcache.h>
-#if defined(Q_WS_WIN)
+#if defined(Q_OS_WIN)
# define _WIN32_IE 0x0500
# include <qt_windows.h>
# include <commctrl.h>
# include <objbase.h>
+
+Q_GUI_EXPORT QPixmap qt_pixmapFromWinHICON(HICON icon);
+
#elif defined(Q_WS_MAC)
# include <private/qt_cocoa_helpers_mac_p.h>
#endif
@@ -96,7 +99,7 @@ class QFileIconProviderPrivate
public:
QFileIconProviderPrivate();
QIcon getIcon(QStyle::StandardPixmap name) const;
-#ifdef Q_WS_WIN
+#ifdef Q_OS_WIN
QIcon getWinIcon(const QFileInfo &fi) const;
#elif defined(Q_WS_MAC)
QIcon getMacIcon(const QFileInfo &fi) const;
@@ -229,7 +232,7 @@ QIcon QFileIconProvider::icon(IconType type) const
return QIcon();
}
-#ifdef Q_WS_WIN
+#ifdef Q_OS_WIN
QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const
{
QIcon retIcon;
@@ -284,7 +287,7 @@ QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const
}
if (pixmap.isNull()) {
#ifndef Q_OS_WINCE
- pixmap = QPixmap::fromWinHICON(info.hIcon);
+ pixmap = qt_pixmapFromWinHICON(info.hIcon);
#else
pixmap = QPixmap::fromWinHICON(ImageList_GetIcon((HIMAGELIST) val, info.iIcon, ILD_NORMAL));
#endif
@@ -314,7 +317,7 @@ QIcon QFileIconProviderPrivate::getWinIcon(const QFileInfo &fileInfo) const
key = QString::fromLatin1("qt_dir_%1").arg(info.iIcon);
}
#ifndef Q_OS_WINCE
- pixmap = QPixmap::fromWinHICON(info.hIcon);
+ pixmap = qt_pixmapFromWinHICON(info.hIcon);
#else
pixmap = QPixmap::fromWinHICON(ImageList_GetIcon((HIMAGELIST) val, info.iIcon, ILD_NORMAL));
#endif
@@ -418,13 +421,13 @@ QIcon QFileIconProvider::icon(const QFileInfo &info) const
QIcon retIcon = d->getMacIcon(info);
if (!retIcon.isNull())
return retIcon;
-#elif defined Q_WS_WIN
+#elif defined Q_OS_WIN
QIcon icon = d->getWinIcon(info);
if (!icon.isNull())
return icon;
#endif
if (info.isRoot())
-#if defined (Q_WS_WIN) && !defined(Q_WS_WINCE)
+#if defined (Q_OS_WIN) && !defined(Q_WS_WINCE)
{
UINT type = GetDriveType((wchar_t *)info.absoluteFilePath().utf16());
@@ -482,7 +485,7 @@ QString QFileIconProvider::type(const QFileInfo &info) const
}
if (info.isDir())
-#ifdef Q_WS_WIN
+#ifdef Q_OS_WIN
return QApplication::translate("QFileDialog", "File Folder", "Match Windows Explorer");
#else
return QApplication::translate("QFileDialog", "Folder", "All other platforms");