diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-07-14 11:50:03 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-07-14 11:50:03 (GMT) |
commit | 09503163c88d57b9b163530131c0ec0a1e4194fd (patch) | |
tree | aa4cadf08f69929b66945648a43a4e18790ecffc /src/gui/itemviews/qfileiconprovider.cpp | |
parent | 5878027280de47e8b8fc72a4d0d48f5e5f6dc7db (diff) | |
parent | 56e24c99ee7a1b5b127b93cbab98f88e008ec9b8 (diff) | |
download | Qt-09503163c88d57b9b163530131c0ec0a1e4194fd.zip Qt-09503163c88d57b9b163530131c0ec0a1e4194fd.tar.gz Qt-09503163c88d57b9b163530131c0ec0a1e4194fd.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (83 commits)
Crash while runnig tst_QMdiSubWindow::emittingOfSignals test on Cocoa
fix qconfig.h aliased header creation
fix warning directive on gnuc
qdoc: Removed navigation arrow that was causing display problems.
Silence warning when building with MSVC 2005
Fix an Assert in QTextTable
Revert "Fix an Assert in QTextTable"
Attempt to fix build failure with msvc200{5,8} on Windows XP.
fix macx not having UNICODE in DEFINES any more
doc: Fixed several qdoc warnings.
Fix an Assert in QTextTable
doc: Fixed several qdoc warnings.
QSslSocket: Improve error handling
qdoc: Fixed several <div> elements that had the "/>" ending.
QSslSocket: fix documentation for QSslSocket::setPeerVerifyMode()
qdoc: Fixed breadcrumbs for QML examples.
remove redundand translations project files
make projects lupdate-friendly
Timing fix for slow devices.
QNAM: Add future enum attribute for Zerocopy QNAM
...
Diffstat (limited to 'src/gui/itemviews/qfileiconprovider.cpp')
-rw-r--r-- | src/gui/itemviews/qfileiconprovider.cpp | 71 |
1 files changed, 41 insertions, 30 deletions
diff --git a/src/gui/itemviews/qfileiconprovider.cpp b/src/gui/itemviews/qfileiconprovider.cpp index 5dbd1f0..4748f89 100644 --- a/src/gui/itemviews/qfileiconprovider.cpp +++ b/src/gui/itemviews/qfileiconprovider.cpp @@ -100,69 +100,80 @@ public: QIcon getMacIcon(const QFileInfo &fi) const; #endif QFileIconProvider *q_ptr; - QString homePath; + const QString homePath; private: - QIcon file; - QIcon fileLink; - QIcon directory; - QIcon directoryLink; - QIcon harddisk; - QIcon floppy; - QIcon cdrom; - QIcon ram; - QIcon network; - QIcon computer; - QIcon desktop; - QIcon trashcan; - QIcon generic; - QIcon home; + mutable QIcon file; + mutable QIcon fileLink; + mutable QIcon directory; + mutable QIcon directoryLink; + mutable QIcon harddisk; + mutable QIcon floppy; + mutable QIcon cdrom; + mutable QIcon ram; + mutable QIcon network; + mutable QIcon computer; + mutable QIcon desktop; + mutable QIcon trashcan; + mutable QIcon generic; + mutable QIcon home; }; -QFileIconProviderPrivate::QFileIconProviderPrivate() +QFileIconProviderPrivate::QFileIconProviderPrivate() : + homePath(QDir::home().absolutePath()) { - QStyle *style = QApplication::style(); - file = style->standardIcon(QStyle::SP_FileIcon); - directory = style->standardIcon(QStyle::SP_DirIcon); - fileLink = style->standardIcon(QStyle::SP_FileLinkIcon); - directoryLink = style->standardIcon(QStyle::SP_DirLinkIcon); - harddisk = style->standardIcon(QStyle::SP_DriveHDIcon); - floppy = style->standardIcon(QStyle::SP_DriveFDIcon); - cdrom = style->standardIcon(QStyle::SP_DriveCDIcon); - network = style->standardIcon(QStyle::SP_DriveNetIcon); - computer = style->standardIcon(QStyle::SP_ComputerIcon); - desktop = style->standardIcon(QStyle::SP_DesktopIcon); - trashcan = style->standardIcon(QStyle::SP_TrashIcon); - home = style->standardIcon(QStyle::SP_DirHomeIcon); - homePath = QDir::home().absolutePath(); } QIcon QFileIconProviderPrivate::getIcon(QStyle::StandardPixmap name) const { switch (name) { case QStyle::SP_FileIcon: + if (file.isNull()) + file = QApplication::style()->standardIcon(name); return file; case QStyle::SP_FileLinkIcon: + if (fileLink.isNull()) + fileLink = QApplication::style()->standardIcon(name); return fileLink; case QStyle::SP_DirIcon: + if (directory.isNull()) + directory = QApplication::style()->standardIcon(name); return directory; case QStyle::SP_DirLinkIcon: + if (directoryLink.isNull()) + directoryLink = QApplication::style()->standardIcon(name); return directoryLink; case QStyle::SP_DriveHDIcon: + if (harddisk.isNull()) + harddisk = QApplication::style()->standardIcon(name); return harddisk; case QStyle::SP_DriveFDIcon: + if (floppy.isNull()) + floppy = QApplication::style()->standardIcon(name); return floppy; case QStyle::SP_DriveCDIcon: + if (cdrom.isNull()) + cdrom = QApplication::style()->standardIcon(name); return cdrom; case QStyle::SP_DriveNetIcon: + if (network.isNull()) + network = QApplication::style()->standardIcon(name); return network; case QStyle::SP_ComputerIcon: + if (computer.isNull()) + computer = QApplication::style()->standardIcon(name); return computer; case QStyle::SP_DesktopIcon: + if (desktop.isNull()) + desktop = QApplication::style()->standardIcon(name); return desktop; case QStyle::SP_TrashIcon: + if (trashcan.isNull()) + trashcan = QApplication::style()->standardIcon(name); return trashcan; case QStyle::SP_DirHomeIcon: + if (home.isNull()) + home = QApplication::style()->standardIcon(name); return home; default: return QIcon(); |