diff options
Diffstat (limited to 'src/gui/image')
-rw-r--r-- | src/gui/image/qbitmap.cpp | 4 | ||||
-rw-r--r-- | src/gui/image/qicon.cpp | 25 | ||||
-rw-r--r-- | src/gui/image/qiconloader.cpp | 7 | ||||
-rw-r--r-- | src/gui/image/qiconloader_p.h | 2 | ||||
-rw-r--r-- | src/gui/image/qimage.cpp | 6 |
5 files changed, 25 insertions, 19 deletions
diff --git a/src/gui/image/qbitmap.cpp b/src/gui/image/qbitmap.cpp index 8c3b9be..b5ffeed 100644 --- a/src/gui/image/qbitmap.cpp +++ b/src/gui/image/qbitmap.cpp @@ -92,13 +92,15 @@ QT_BEGIN_NAMESPACE \sa QPixmap, QImage, QImageReader, QImageWriter */ +/*! \typedef QBitmap::DataPtr + \internal + */ /*! Constructs a null bitmap. \sa QPixmap::isNull() */ - QBitmap::QBitmap() : QPixmap(QSize(0, 0), QPixmapData::BitmapType) { diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp index a4ea6af..1140cd8 100644 --- a/src/gui/image/qicon.cpp +++ b/src/gui/image/qicon.cpp @@ -879,21 +879,20 @@ void QIcon::setThemeSearchPaths(const QStringList &paths) } /*! - \since 4.6 - - Returns the search paths for icon themes. + \since 4.6 - The default value will depend on the platform: + Returns the search paths for icon themes. - On X11, the search path will use the XDG_DATA_DIRS environment - variable if available. + The default value will depend on the platform: - On Windows the search path defaults to [Application Directory]/icons + On X11, the search path will use the XDG_DATA_DIRS environment + variable if available. - On Mac the default search path will search in the - [Contents/Resources/icons] part of the application bundle. + By default all platforms will have the resource directory + \c{:\icons} as a fallback. You can use "rcc -project" to generate a + resource file from your icon theme. - \sa setThemeSearchPaths(), fromTheme(), setThemeName() + \sa setThemeSearchPaths(), fromTheme(), setThemeName() */ QStringList QIcon::themeSearchPaths() { @@ -906,7 +905,7 @@ QStringList QIcon::themeSearchPaths() Sets the current icon theme to \a name. The \a name should correspond to a directory name in the - current themeSearchPath() containing an index.theme + themeSearchPath() containing an index.theme file describing it's contents. \sa themeSearchPaths(), themeName() @@ -939,10 +938,6 @@ QString QIcon::themeName() icon theme. If no such icon is found in the current theme \a fallback is return instead. - To use an icon theme on Windows or Mac, you will need to - bundle a compliant theme with your application and make sure - it is located in your themeSarchPaths. - The lastest version of the freedesktop icon specification and naming spesification can be obtained here: http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html diff --git a/src/gui/image/qiconloader.cpp b/src/gui/image/qiconloader.cpp index 279703c..cb1cc61 100644 --- a/src/gui/image/qiconloader.cpp +++ b/src/gui/image/qiconloader.cpp @@ -187,14 +187,17 @@ QStringList QIconLoader::themeSearchPaths() const QDir homeDir(QDir::homePath() + QLatin1String("/.icons")); if (homeDir.exists()) m_iconDirs.prepend(homeDir.path()); - -#elif defined(Q_WS_WIN) +#endif + +#if defined(Q_WS_WIN) m_iconDirs.append(qApp->applicationDirPath() + QLatin1String("/icons")); #elif defined(Q_WS_MAC) m_iconDirs.append(qApp->applicationDirPath() + QLatin1String("/../Resources/icons")); #endif + // Allways add resource directory as search path + m_iconDirs.append(QLatin1String(":/icons")); } return m_iconDirs; } diff --git a/src/gui/image/qiconloader_p.h b/src/gui/image/qiconloader_p.h index ba05a54..8c1cd4e 100644 --- a/src/gui/image/qiconloader_p.h +++ b/src/gui/image/qiconloader_p.h @@ -139,7 +139,7 @@ class QIconTheme { public: QIconTheme(const QString &name); - QIconTheme() : m_valid(false) {}; + QIconTheme() : m_valid(false) {} QStringList parents() { return m_parents; } QList <QIconDirInfo> keyList() { return m_keyList; } QString contentDir() { return m_contentDir; } diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 2b82f49..89af452 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -2892,6 +2892,12 @@ static void convert_Indexed8_to_X32(QImageData *dest, const QImageData *src, Qt: Q_ASSERT(src->height == dest->height); QVector<QRgb> colorTable = fix_color_table(src->colortable, dest->format); + if (colorTable.size() == 0) { + colorTable.resize(256); + for (int i=0; i<256; ++i) + colorTable[i] = qRgb(i, i, i); + + } int w = src->width; const uchar *src_data = src->data; |