itemviews/qfileiconprovider.cpp

Switch to Source codePreprocessed file
LineSource CodeCoverage
1 -
2 -
3 -
4class QFileIconProviderPrivate -
5{ -
6 inline QFileIconProvider* q_func() { return static_cast<QFileIconProvider *>(q_ptr); } inline const QFileIconProvider* q_func() const { return static_cast<const QFileIconProvider *>(q_ptr); } friend class QFileIconProvider; -
7 -
8public: -
9 QFileIconProviderPrivate(); -
10 QIcon getIcon(QStyle::StandardPixmap name) const; -
11 QIcon getIcon(const QFileInfo &fi) const; -
12 -
13 QFileIconProvider *q_ptr; -
14 const QString homePath; -
15 -
16private: -
17 mutable QIcon file; -
18 mutable QIcon fileLink; -
19 mutable QIcon directory; -
20 mutable QIcon directoryLink; -
21 mutable QIcon harddisk; -
22 mutable QIcon floppy; -
23 mutable QIcon cdrom; -
24 mutable QIcon ram; -
25 mutable QIcon network; -
26 mutable QIcon computer; -
27 mutable QIcon desktop; -
28 mutable QIcon trashcan; -
29 mutable QIcon generic; -
30 mutable QIcon home; -
31}; -
32 -
33QFileIconProviderPrivate::QFileIconProviderPrivate() : -
34 homePath(QDir::home().absolutePath()) -
35{ -
36}
executed: }
Execution Count:376
376
37 -
38QIcon QFileIconProviderPrivate::getIcon(QStyle::StandardPixmap name) const -
39{ -
40 switch (name) { -
41 case QStyle::SP_FileIcon: -
42 if (file.isNull())
evaluated: file.isNull()
TRUEFALSE
yes
Evaluation Count:89
yes
Evaluation Count:24339
89-24339
43 file = QApplication::style()->standardIcon(name);
executed: file = QApplication::style()->standardIcon(name);
Execution Count:89
89
44 return file;
executed: return file;
Execution Count:24428
24428
45 case QStyle::SP_FileLinkIcon: -
46 if (fileLink.isNull())
evaluated: fileLink.isNull()
TRUEFALSE
yes
Evaluation Count:13
yes
Evaluation Count:55
13-55
47 fileLink = QApplication::style()->standardIcon(name);
executed: fileLink = QApplication::style()->standardIcon(name);
Execution Count:13
13
48 return fileLink;
executed: return fileLink;
Execution Count:68
68
49 case QStyle::SP_DirIcon: -
50 if (directory.isNull())
evaluated: directory.isNull()
TRUEFALSE
yes
Evaluation Count:251
yes
Evaluation Count:3054
251-3054
51 directory = QApplication::style()->standardIcon(name);
executed: directory = QApplication::style()->standardIcon(name);
Execution Count:251
251
52 return directory;
executed: return directory;
Execution Count:3305
3305
53 case QStyle::SP_DirLinkIcon: -
54 if (directoryLink.isNull())
partially evaluated: directoryLink.isNull()
TRUEFALSE
yes
Evaluation Count:12
no
Evaluation Count:0
0-12
55 directoryLink = QApplication::style()->standardIcon(name);
executed: directoryLink = QApplication::style()->standardIcon(name);
Execution Count:12
12
56 return directoryLink;
executed: return directoryLink;
Execution Count:12
12
57 case QStyle::SP_DriveHDIcon: -
58 if (harddisk.isNull())
evaluated: harddisk.isNull()
TRUEFALSE
yes
Evaluation Count:29
yes
Evaluation Count:2
2-29
59 harddisk = QApplication::style()->standardIcon(name);
executed: harddisk = QApplication::style()->standardIcon(name);
Execution Count:29
29
60 return harddisk;
executed: return harddisk;
Execution Count:31
31
61 case QStyle::SP_DriveFDIcon: -
62 if (floppy.isNull())
never evaluated: floppy.isNull()
0
63 floppy = QApplication::style()->standardIcon(name);
never executed: floppy = QApplication::style()->standardIcon(name);
0
64 return floppy;
never executed: return floppy;
0
65 case QStyle::SP_DriveCDIcon: -
66 if (cdrom.isNull())
never evaluated: cdrom.isNull()
0
67 cdrom = QApplication::style()->standardIcon(name);
never executed: cdrom = QApplication::style()->standardIcon(name);
0
68 return cdrom;
never executed: return cdrom;
0
69 case QStyle::SP_DriveNetIcon: -
70 if (network.isNull())
partially evaluated: network.isNull()
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
0-1
71 network = QApplication::style()->standardIcon(name);
executed: network = QApplication::style()->standardIcon(name);
Execution Count:1
1
72 return network;
executed: return network;
Execution Count:1
1
73 case QStyle::SP_ComputerIcon: -
74 if (computer.isNull())
evaluated: computer.isNull()
TRUEFALSE
yes
Evaluation Count:191
yes
Evaluation Count:108
108-191
75 computer = QApplication::style()->standardIcon(name);
executed: computer = QApplication::style()->standardIcon(name);
Execution Count:191
191
76 return computer;
executed: return computer;
Execution Count:299
299
77 case QStyle::SP_DesktopIcon: -
78 if (desktop.isNull())
partially evaluated: desktop.isNull()
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
0-1
79 desktop = QApplication::style()->standardIcon(name);
executed: desktop = QApplication::style()->standardIcon(name);
Execution Count:1
1
80 return desktop;
executed: return desktop;
Execution Count:1
1
81 case QStyle::SP_TrashIcon: -
82 if (trashcan.isNull())
partially evaluated: trashcan.isNull()
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
0-1
83 trashcan = QApplication::style()->standardIcon(name);
executed: trashcan = QApplication::style()->standardIcon(name);
Execution Count:1
1
84 return trashcan;
executed: return trashcan;
Execution Count:1
1
85 case QStyle::SP_DirHomeIcon: -
86 if (home.isNull())
evaluated: home.isNull()
TRUEFALSE
yes
Evaluation Count:197
yes
Evaluation Count:399
197-399
87 home = QApplication::style()->standardIcon(name);
executed: home = QApplication::style()->standardIcon(name);
Execution Count:197
197
88 return home;
executed: return home;
Execution Count:596
596
89 default: -
90 return QIcon();
never executed: return QIcon();
0
91 } -
92 return QIcon();
never executed: return QIcon();
0
93} -
94 -
95 -
96 -
97 -
98 -
99QFileIconProvider::QFileIconProvider() -
100 : d_ptr(new QFileIconProviderPrivate) -
101{ -
102}
executed: }
Execution Count:376
376
103 -
104 -
105 -
106 -
107 -
108 -
109QFileIconProvider::~QFileIconProvider() -
110{ -
111} -
112 -
113 -
114 -
115 -
116 -
117QIcon QFileIconProvider::icon(IconType type) const -
118{ -
119 const QFileIconProviderPrivate * const d = d_func(); -
120 switch (type) { -
121 case Computer: -
122 return d->getIcon(QStyle::SP_ComputerIcon);
executed: return d->getIcon(QStyle::SP_ComputerIcon);
Execution Count:299
299
123 case Desktop: -
124 return d->getIcon(QStyle::SP_DesktopIcon);
executed: return d->getIcon(QStyle::SP_DesktopIcon);
Execution Count:1
1
125 case Trashcan: -
126 return d->getIcon(QStyle::SP_TrashIcon);
executed: return d->getIcon(QStyle::SP_TrashIcon);
Execution Count:1
1
127 case Network: -
128 return d->getIcon(QStyle::SP_DriveNetIcon);
executed: return d->getIcon(QStyle::SP_DriveNetIcon);
Execution Count:1
1
129 case Drive: -
130 return d->getIcon(QStyle::SP_DriveHDIcon);
executed: return d->getIcon(QStyle::SP_DriveHDIcon);
Execution Count:1
1
131 case Folder: -
132 return d->getIcon(QStyle::SP_DirIcon);
executed: return d->getIcon(QStyle::SP_DirIcon);
Execution Count:1
1
133 case File: -
134 return d->getIcon(QStyle::SP_FileIcon);
executed: return d->getIcon(QStyle::SP_FileIcon);
Execution Count:1
1
135 default: -
136 break;
never executed: break;
0
137 }; -
138 return QIcon();
never executed: return QIcon();
0
139} -
140 -
141QIcon QFileIconProviderPrivate::getIcon(const QFileInfo &fi) const -
142{ -
143 QIcon retIcon; -
144 const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme(); -
145 if (!theme)
partially evaluated: !theme
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:28437
0-28437
146 return retIcon;
never executed: return retIcon;
0
147 -
148 QList<int> sizes = theme->themeHint(QPlatformTheme::IconPixmapSizes).value<QList<int> >(); -
149 if (sizes.isEmpty())
partially evaluated: sizes.isEmpty()
TRUEFALSE
yes
Evaluation Count:28437
no
Evaluation Count:0
0-28437
150 return retIcon;
executed: return retIcon;
Execution Count:28437
28437
151 -
152 const QString fileExtension = fi.suffix().toUpper(); -
153 const QString keyBase = QLatin1String("qt_.") + fi.suffix().toUpper(); -
154 -
155 bool cacheable = fi.isFile() && !fi.isExecutable() && !fi.isSymLink() && fileExtension != QLatin1String("ICO");
never evaluated: !fi.isExecutable()
never evaluated: !fi.isSymLink()
never evaluated: fileExtension != QLatin1String("ICO")
never evaluated: fi.isFile()
0
156 if (cacheable) {
never evaluated: cacheable
0
157 QPixmap pixmap; -
158 QPixmapCache::find(keyBase + QString::number(sizes.at(0)), pixmap); -
159 if (!pixmap.isNull()) {
never evaluated: !pixmap.isNull()
0
160 bool iconIsComplete = true; -
161 retIcon.addPixmap(pixmap); -
162 for (int i = 1; i < sizes.count(); i++)
never evaluated: i < sizes.count()
0
163 if (QPixmapCache::find(keyBase + QString::number(sizes.at(i)), pixmap)) {
never evaluated: QPixmapCache::find(keyBase + QString::number(sizes.at(i)), pixmap)
0
164 retIcon.addPixmap(pixmap); -
165 } else {
never executed: }
0
166 iconIsComplete = false; -
167 break;
never executed: break;
0
168 } -
169 if (iconIsComplete)
never evaluated: iconIsComplete
0
170 return retIcon;
never executed: return retIcon;
0
171 }
never executed: }
0
172 }
never executed: }
0
173 -
174 for (QForeachContainer<__typeof__(sizes)> _container_(sizes); !_container_.brk && _container_.i != _container_.e; __extension__ ({ ++_container_.brk; ++_container_.i; })) for (int size = *_container_.i;; __extension__ ({--_container_.brk; break;})) { -
175 QPixmap pixmap = theme->fileIconPixmap(fi, QSizeF(size, size)); -
176 if (!pixmap.isNull()) {
never evaluated: !pixmap.isNull()
0
177 retIcon.addPixmap(pixmap); -
178 if (cacheable)
never evaluated: cacheable
0
179 QPixmapCache::insert(keyBase + QString::number(size), pixmap);
never executed: QPixmapCache::insert(keyBase + QString::number(size), pixmap);
0
180 }
never executed: }
0
181 }
never executed: }
0
182 -
183 return retIcon;
never executed: return retIcon;
0
184} -
185 -
186 -
187 -
188 -
189 -
190 -
191QIcon QFileIconProvider::icon(const QFileInfo &info) const -
192{ -
193 const QFileIconProviderPrivate * const d = d_func(); -
194 QIcon retIcon = d->getIcon(info); -
195 if (!retIcon.isNull())
partially evaluated: !retIcon.isNull()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:28437
0-28437
196 return retIcon;
never executed: return retIcon;
0
197 -
198 if (info.isRoot())
evaluated: info.isRoot()
TRUEFALSE
yes
Evaluation Count:30
yes
Evaluation Count:28407
30-28407
199 return d->getIcon(QStyle::SP_DriveHDIcon);
executed: return d->getIcon(QStyle::SP_DriveHDIcon);
Execution Count:30
30
200 -
201 -
202 if (info.isFile()) {
evaluated: info.isFile()
TRUEFALSE
yes
Evaluation Count:24495
yes
Evaluation Count:3912
3912-24495
203 if (info.isSymLink())
evaluated: info.isSymLink()
TRUEFALSE
yes
Evaluation Count:68
yes
Evaluation Count:24427
68-24427
204 return d->getIcon(QStyle::SP_FileLinkIcon);
executed: return d->getIcon(QStyle::SP_FileLinkIcon);
Execution Count:68
68
205 else -
206 return d->getIcon(QStyle::SP_FileIcon);
executed: return d->getIcon(QStyle::SP_FileIcon);
Execution Count:24427
24427
207 } -
208 if (info.isDir()) {
partially evaluated: info.isDir()
TRUEFALSE
yes
Evaluation Count:3912
no
Evaluation Count:0
0-3912
209 if (info.isSymLink()) {
evaluated: info.isSymLink()
TRUEFALSE
yes
Evaluation Count:12
yes
Evaluation Count:3900
12-3900
210 return d->getIcon(QStyle::SP_DirLinkIcon);
executed: return d->getIcon(QStyle::SP_DirLinkIcon);
Execution Count:12
12
211 } else { -
212 if (info.absoluteFilePath() == d->homePath) {
evaluated: info.absoluteFilePath() == d->homePath
TRUEFALSE
yes
Evaluation Count:596
yes
Evaluation Count:3304
596-3304
213 return d->getIcon(QStyle::SP_DirHomeIcon);
executed: return d->getIcon(QStyle::SP_DirHomeIcon);
Execution Count:596
596
214 } else { -
215 return d->getIcon(QStyle::SP_DirIcon);
executed: return d->getIcon(QStyle::SP_DirIcon);
Execution Count:3304
3304
216 } -
217 } -
218 } -
219 return QIcon();
never executed: return QIcon();
0
220} -
221 -
222 -
223 -
224 -
225 -
226QString QFileIconProvider::type(const QFileInfo &info) const -
227{ -
228 if (info.isRoot())
evaluated: info.isRoot()
TRUEFALSE
yes
Evaluation Count:29
yes
Evaluation Count:28973
29-28973
229 return QApplication::translate("QFileDialog", "Drive");
executed: return QApplication::translate("QFileDialog", "Drive");
Execution Count:29
29
230 if (info.isFile()) {
evaluated: info.isFile()
TRUEFALSE
yes
Evaluation Count:24904
yes
Evaluation Count:4069
4069-24904
231 if (!info.suffix().isEmpty())
evaluated: !info.suffix().isEmpty()
TRUEFALSE
yes
Evaluation Count:13326
yes
Evaluation Count:11578
11578-13326
232 return info.suffix() + QLatin1Char(' ') + QApplication::translate("QFileDialog", "File");
executed: return info.suffix() + QLatin1Char(' ') + QApplication::translate("QFileDialog", "File");
Execution Count:13326
13326
233 return QApplication::translate("QFileDialog", "File");
executed: return QApplication::translate("QFileDialog", "File");
Execution Count:11578
11578
234 } -
235 -
236 if (info.isDir())
evaluated: info.isDir()
TRUEFALSE
yes
Evaluation Count:4045
yes
Evaluation Count:24
24-4045
237 -
238 -
239 -
240 return QApplication::translate("QFileDialog", "Folder", "All other platforms");
executed: return QApplication::translate("QFileDialog", "Folder", "All other platforms");
Execution Count:4045
4045
241 -
242 -
243 -
244 -
245 -
246 -
247 if (info.isSymLink())
partially evaluated: info.isSymLink()
TRUEFALSE
yes
Evaluation Count:24
no
Evaluation Count:0
0-24
248 -
249 -
250 -
251 return QApplication::translate("QFileDialog", "Shortcut", "All other platforms");
executed: return QApplication::translate("QFileDialog", "Shortcut", "All other platforms");
Execution Count:24
24
252 -
253 -
254 -
255 -
256 -
257 -
258 return QApplication::translate("QFileDialog", "Unknown");
never executed: return QApplication::translate("QFileDialog", "Unknown");
0
259} -
260 -
261 -
262 -
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial