1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of Qt Creator.
7 **
8 ** Commercial License Usage
9 ** Licensees holding valid commercial Qt licenses may use this file in
10 ** accordance with the commercial license agreement provided with the
11 ** Software or, alternatively, in accordance with the terms contained in
12 ** a written agreement between you and The Qt Company. For licensing terms
13 ** and conditions see https://www.qt.io/terms-conditions. For further
14 ** information use the contact form at https://www.qt.io/contact-us.
15 **
16 ** GNU General Public License Usage
17 ** Alternatively, this file may be used under the terms of the GNU
18 ** General Public License version 3 as published by the Free Software
19 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
20 ** included in the packaging of this file. Please review the following
21 ** information to ensure the GNU General Public License requirements will
22 ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
23 **
24 ****************************************************************************/
25 
26 #include "utilsicons.h"
27 
28 namespace Utils {
29 namespace Icons {
30 
31 const Icon HOME({
32         {QLatin1String(":/utils/images/home.png"), Theme::PanelTextColorDark}}, Icon::Tint);
33 const Icon HOME_TOOLBAR({
34         {QLatin1String(":/utils/images/home.png"), Theme::IconsBaseColor}});
35 const Icon EDIT_CLEAR({
36         {QLatin1String(":/utils/images/editclear.png"), Theme::PanelTextColorMid}}, Icon::Tint);
37 const Icon EDIT_CLEAR_TOOLBAR({
38         {QLatin1String(":/utils/images/editclear.png"), Theme::IconsBaseColor}});
39 const Icon LOCKED_TOOLBAR({
40         {QLatin1String(":/utils/images/locked.png"), Theme::IconsBaseColor}});
41 const Icon LOCKED({
42         {QLatin1String(":/utils/images/locked.png"), Theme::PanelTextColorDark}}, Icon::Tint);
43 const Icon UNLOCKED_TOOLBAR({
44         {QLatin1String(":/utils/images/unlocked.png"), Theme::IconsBaseColor}});
45 const Icon UNLOCKED({
46         {QLatin1String(":/utils/images/unlocked.png"), Theme::PanelTextColorDark}}, Icon::Tint);
47 const Icon PINNED({
48         {QLatin1String(":/utils/images/pinned.png"), Theme::PanelTextColorDark}}, Icon::Tint);
49 const Icon NEXT({
50         {QLatin1String(":/utils/images/next.png"), Theme::IconsWarningColor}}, Icon::MenuTintedStyle);
51 const Icon NEXT_TOOLBAR({
52         {QLatin1String(":/utils/images/next.png"), Theme::IconsNavigationArrowsColor}});
53 const Icon PREV({
54         {QLatin1String(":/utils/images/prev.png"), Theme::IconsWarningColor}}, Icon::MenuTintedStyle);
55 const Icon PREV_TOOLBAR({
56         {QLatin1String(":/utils/images/prev.png"), Theme::IconsNavigationArrowsColor}});
57 const Icon PROJECT({
58         {QLatin1String(":/utils/images/project.png"), Theme::PanelTextColorDark}}, Icon::Tint);
59 const Icon ZOOM({
60         {QLatin1String(":/utils/images/zoom.png"), Theme::PanelTextColorMid}}, Icon::Tint);
61 const Icon ZOOM_TOOLBAR({
62         {QLatin1String(":/utils/images/zoom.png"), Theme::IconsBaseColor}});
63 const Icon ZOOMIN_TOOLBAR({
64         {QLatin1String(":/utils/images/zoom.png"), Theme::IconsBaseColor},
65         {QLatin1String(":/utils/images/zoomin_overlay.png"), Theme::IconsBaseColor}});
66 const Icon ZOOMOUT_TOOLBAR({
67         {QLatin1String(":/utils/images/zoom.png"), Theme::IconsBaseColor},
68         {QLatin1String(":/utils/images/zoomout_overlay.png"), Theme::IconsBaseColor}});
69 const Icon FITTOVIEW_TOOLBAR({
70         {QLatin1String(":/utils/images/fittoview.png"), Theme::IconsBaseColor}});
71 const Icon OK({
72         {QLatin1String(":/utils/images/ok.png"), Theme::IconsRunColor}}, Icon::Tint);
73 const Icon NOTLOADED({
74         {QLatin1String(":/utils/images/notloaded.png"), Theme::IconsErrorColor}}, Icon::Tint);
75 const Icon BROKEN({
76         {QLatin1String(":/utils/images/broken.png"), Theme::IconsErrorColor}}, Icon::Tint);
77 const Icon CRITICAL({
78         {QLatin1String(":/utils/images/warningfill.png"), Theme::BackgroundColorNormal},
79         {QLatin1String(":/utils/images/error.png"), Theme::IconsErrorColor}}, Icon::Tint);
80 const Icon BOOKMARK({
81         {QLatin1String(":/utils/images/bookmark.png"), Theme::PanelTextColorMid}}, Icon::Tint);
82 const Icon BOOKMARK_TOOLBAR({
83         {QLatin1String(":/utils/images/bookmark.png"), Theme::IconsBaseColor}});
84 const Icon BOOKMARK_TEXTEDITOR({
85         {QLatin1String(":/utils/images/bookmark.png"), Theme::Bookmarks_TextMarkColor}}, Icon::Tint);
86 const Icon SNAPSHOT_TOOLBAR({
87         {QLatin1String(":/utils/images/snapshot.png"), Theme::IconsBaseColor}});
88 const Icon NEWSEARCH_TOOLBAR({
89         {QLatin1String(":/utils/images/zoom.png"), Theme::IconsBaseColor},
90         {QLatin1String(":/utils/images/iconoverlay_add_small.png"), Theme::IconsRunColor}});
91 const Icon SETTINGS_TOOLBAR({
92     {QLatin1String(":/utils/images/settings.png"), Theme::IconsBaseColor}});
93 
94 const Icon NEWFILE({
95         {QLatin1String(":/utils/images/filenew.png"), Theme::PanelTextColorMid}}, Icon::Tint);
96 const Icon OPENFILE({
97         {QLatin1String(":/utils/images/fileopen.png"), Theme::PanelTextColorMid}}, Icon::Tint);
98 const Icon OPENFILE_TOOLBAR({
99         {QLatin1String(":/utils/images/fileopen.png"), Theme::IconsBaseColor}});
100 const Icon SAVEFILE({
101         {QLatin1String(":/utils/images/filesave.png"), Theme::PanelTextColorMid}}, Icon::Tint);
102 const Icon SAVEFILE_TOOLBAR({
103         {QLatin1String(":/utils/images/filesave.png"), Theme::IconsBaseColor}});
104 
105 const Icon EXPORTFILE_TOOLBAR({
106         {QLatin1String(":/utils/images/fileexport.png"), Theme::IconsBaseColor}});
107 const Icon MULTIEXPORTFILE_TOOLBAR({
108         {QLatin1String(":/utils/images/filemultiexport.png"), Theme::IconsBaseColor}});
109 
110 const Icon UNKNOWN_FILE({
111         {QLatin1String(":/utils/images/unknownfile.png"), Theme::IconsBaseColor}});
112 const Icon DIR({
113         {QLatin1String(":/utils/images/dir.png"), Theme::IconsBaseColor}});
114 
115 const Icon UNDO({
116         {QLatin1String(":/utils/images/undo.png"), Theme::PanelTextColorMid}}, Icon::Tint);
117 const Icon UNDO_TOOLBAR({
118         {QLatin1String(":/utils/images/undo.png"), Theme::IconsBaseColor}});
119 const Icon REDO({
120         {QLatin1String(":/utils/images/redo.png"), Theme::PanelTextColorMid}}, Icon::Tint);
121 const Icon REDO_TOOLBAR({
122         {QLatin1String(":/utils/images/redo.png"), Theme::IconsBaseColor}});
123 const Icon COPY({
124         {QLatin1String(":/utils/images/editcopy.png"), Theme::PanelTextColorMid}}, Icon::Tint);
125 const Icon COPY_TOOLBAR({
126         {QLatin1String(":/utils/images/editcopy.png"), Theme::IconsBaseColor}});
127 const Icon PASTE({
128         {QLatin1String(":/utils/images/editpaste.png"), Theme::PanelTextColorMid}}, Icon::Tint);
129 const Icon PASTE_TOOLBAR({
130         {QLatin1String(":/utils/images/editpaste.png"), Theme::IconsBaseColor}});
131 const Icon CUT({
132         {QLatin1String(":/utils/images/editcut.png"), Theme::PanelTextColorMid}}, Icon::Tint);
133 const Icon CUT_TOOLBAR({
134         {QLatin1String(":/utils/images/editcut.png"), Theme::IconsBaseColor}});
135 const Icon RESET({
136         {QLatin1String(":/utils/images/reset.png"), Theme::PanelTextColorMid}}, Icon::Tint);
137 const Icon RESET_TOOLBAR({
138         {QLatin1String(":/utils/images/reset.png"), Theme::IconsBaseColor}});
139 
140 const Icon ARROW_UP({
141         {QLatin1String(":/utils/images/arrowup.png"), Theme::IconsBaseColor}});
142 const Icon ARROW_DOWN({
143         {QLatin1String(":/utils/images/arrowdown.png"), Theme::IconsBaseColor}});
144 const Icon MINUS({
145         {QLatin1String(":/utils/images/minus.png"), Theme::IconsBaseColor}});
146 const Icon PLUS_TOOLBAR({
147         {QLatin1String(":/utils/images/plus.png"), Theme::IconsBaseColor}});
148 const Icon PLUS({
149         {QLatin1String(":/utils/images/plus.png"), Theme::PaletteText}}, Icon::Tint);
150 const Icon MAGNIFIER({
151         {QLatin1String(":/utils/images/magnifier.png"), Theme::PanelTextColorMid}}, Icon::Tint);
152 const Icon CLEAN({
153         {QLatin1String(":/utils/images/clean_pane_small.png"), Theme::PanelTextColorMid}}, Icon::Tint);
154 const Icon CLEAN_TOOLBAR({
155         {QLatin1String(":/utils/images/clean_pane_small.png"), Theme::IconsBaseColor}});
156 const Icon RELOAD({
157         {QLatin1String(":/utils/images/reload_gray.png"), Theme::PanelTextColorMid}}, Icon::Tint);
158 const Icon RELOAD_TOOLBAR({
159         {QLatin1String(":/utils/images/reload_gray.png"), Theme::IconsBaseColor}});
160 const Icon TOGGLE_LEFT_SIDEBAR({
161         {QLatin1String(":/utils/images/leftsidebaricon.png"), Theme::PanelTextColorMid}}, Icon::MenuTintedStyle);
162 const Icon TOGGLE_LEFT_SIDEBAR_TOOLBAR({
163         {QLatin1String(":/utils/images/leftsidebaricon.png"), Theme::IconsBaseColor}});
164 const Icon TOGGLE_RIGHT_SIDEBAR({
165         {QLatin1String(":/utils/images/rightsidebaricon.png"), Theme::PanelTextColorMid}}, Icon::MenuTintedStyle);
166 const Icon TOGGLE_RIGHT_SIDEBAR_TOOLBAR({
167         {QLatin1String(":/utils/images/rightsidebaricon.png"), Theme::IconsBaseColor}});
168 const Icon CLOSE_TOOLBAR({
169         {QLatin1String(":/utils/images/close.png"), Theme::IconsBaseColor}});
170 const Icon CLOSE_FOREGROUND({
171         {QLatin1String(":/utils/images/close.png"), Theme::PanelTextColorDark}}, Icon::Tint);
172 const Icon CLOSE_BACKGROUND({
173         {QLatin1String(":/utils/images/close.png"), Theme::PanelTextColorLight}}, Icon::Tint);
174 const Icon SPLIT_HORIZONTAL({
175         {QLatin1String(":/utils/images/splitbutton_horizontal.png"), Theme::PanelTextColorMid}}, Icon::MenuTintedStyle);
176 const Icon SPLIT_HORIZONTAL_TOOLBAR({
177         {QLatin1String(":/utils/images/splitbutton_horizontal.png"), Theme::IconsBaseColor}});
178 const Icon SPLIT_VERTICAL({
179         {QLatin1String(":/utils/images/splitbutton_vertical.png"), Theme::PanelTextColorMid}}, Icon::MenuTintedStyle);
180 const Icon SPLIT_VERTICAL_TOOLBAR({
181         {QLatin1String(":/utils/images/splitbutton_vertical.png"), Theme::IconsBaseColor}});
182 const Icon CLOSE_SPLIT_TOP({
183         {QLatin1String(":/utils/images/splitbutton_closetop.png"), Theme::IconsBaseColor}});
184 const Icon CLOSE_SPLIT_BOTTOM({
185         {QLatin1String(":/utils/images/splitbutton_closebottom.png"), Theme::IconsBaseColor}});
186 const Icon CLOSE_SPLIT_LEFT({
187         {QLatin1String(":/utils/images/splitbutton_closeleft.png"), Theme::IconsBaseColor}});
188 const Icon CLOSE_SPLIT_RIGHT({
189         {QLatin1String(":/utils/images/splitbutton_closeright.png"), Theme::IconsBaseColor}});
190 const Icon FILTER({
191         {QLatin1String(":/utils/images/filtericon.png"), Theme::IconsBaseColor},
192         {QLatin1String(":/utils/images/toolbuttonexpandarrow.png"), Theme::IconsBaseColor}});
193 const Icon LINK({
194         {QLatin1String(":/utils/images/linkicon.png"), Theme::PanelTextColorMid}}, Icon::Tint);
195 const Icon LINK_TOOLBAR({
196         {QLatin1String(":/utils/images/linkicon.png"), Theme::IconsBaseColor}});
197 const Icon SORT_ALPHABETICALLY_TOOLBAR({
198         {QLatin1String(":/utils/images/sort_alphabetically.png"), Theme::IconsBaseColor}});
199 const Icon TOGGLE_PROGRESSDETAILS_TOOLBAR({
200     {QLatin1String(":/utils/images/toggleprogressdetails.png"), Theme::IconsBaseColor}});
201 const Icon ONLINE({
202         {QLatin1String(":/utils/images/online.png"), Theme::PanelTextColorMid}}, Icon::Tint);
203 const Icon ONLINE_TOOLBAR({
204         {QLatin1String(":/utils/images/online.png"), Theme::IconsBaseColor}});
205 const Icon DOWNLOAD({
206         {QLatin1String(":/utils/images/download.png"), Theme::PanelTextColorMid}}, Icon::Tint);
207 
208 const Icon WARNING({
209         {QLatin1String(":/utils/images/warningfill.png"), Theme::BackgroundColorNormal},
210         {QLatin1String(":/utils/images/warning.png"), Theme::IconsWarningColor}}, Icon::Tint);
211 const Icon WARNING_TOOLBAR({
212         {QLatin1String(":/utils/images/warning.png"), Theme::IconsWarningToolBarColor}});
213 const Icon CRITICAL_TOOLBAR({
214         {QLatin1String(":/utils/images/error.png"), Theme::IconsErrorToolBarColor}});
215 const Icon ERROR_TASKBAR({
216         {QLatin1String(":/utils/images/compile_error_taskbar.png"), Theme::IconsErrorColor}}, Icon::Tint);
217 const Icon INFO({
218         {QLatin1String(":/utils/images/warningfill.png"), Theme::BackgroundColorNormal},
219         {QLatin1String(":/utils/images/info.png"), Theme::IconsInfoColor}}, Icon::Tint);
220 const Icon INFO_TOOLBAR({
221         {QLatin1String(":/utils/images/info.png"), Theme::IconsInfoToolBarColor}});
222 const Icon EXPAND_ALL_TOOLBAR({
223         {QLatin1String(":/find/images/expand.png"), Theme::IconsBaseColor}});
224 const Icon TOOLBAR_EXTENSION({
225         {QLatin1String(":/utils/images/extension.png"), Theme::IconsBaseColor}});
226 const Icon RUN_SMALL({
227         {QLatin1String(":/utils/images/run_small.png"), Theme::IconsRunColor}}, Icon::MenuTintedStyle);
228 const Icon RUN_SMALL_TOOLBAR({
229         {QLatin1String(":/utils/images/run_small.png"), Theme::IconsRunToolBarColor}});
230 const Icon STOP_SMALL({
231         {QLatin1String(":/utils/images/stop_small.png"), Theme::IconsStopColor}}, Icon::MenuTintedStyle);
232 const Icon STOP_SMALL_TOOLBAR({
233         {QLatin1String(":/utils/images/stop_small.png"), Theme::IconsStopToolBarColor}});
234 const Icon INTERRUPT_SMALL({
235         {QLatin1String(":/utils/images/interrupt_small.png"), Theme::IconsInterruptColor}}, Icon::MenuTintedStyle);
236 const Icon INTERRUPT_SMALL_TOOLBAR({
237         {QLatin1String(":/utils/images/interrupt_small.png"), Theme::IconsInterruptToolBarColor}});
238 const Icon BOUNDING_RECT({
239         {QLatin1String(":/utils/images/boundingrect.png"), Theme::IconsBaseColor}});
240 const Icon EYE_OPEN_TOOLBAR({
241         {QLatin1String(":/utils/images/eye_open.png"), Theme::IconsBaseColor}});
242 const Icon EYE_CLOSED_TOOLBAR({
243         {QLatin1String(":/utils/images/eye_closed.png"), Theme::IconsBaseColor}});
244 const Icon REPLACE({
245         {QLatin1String(":/utils/images/replace_a.png"), Theme::PanelTextColorMid},
246         {QLatin1String(":/utils/images/replace_b.png"), Theme::IconsInfoColor}}, Icon::Tint);
247 const Icon EXPAND({
248         {QLatin1String(":/utils/images/expand.png"), Theme::PanelTextColorMid}}, Icon::Tint);
249 const Icon EXPAND_TOOLBAR({
250         {QLatin1String(":/utils/images/expand.png"), Theme::IconsBaseColor}});
251 const Icon COLLAPSE({
252         {QLatin1String(":/utils/images/collapse.png"), Theme::PanelTextColorMid}}, Icon::Tint);
253 const Icon COLLAPSE_TOOLBAR({
254         {QLatin1String(":/utils/images/collapse.png"), Theme::IconsBaseColor}});
255 const Icon PAN_TOOLBAR({
256         {QLatin1String(":/utils/images/pan.png"), Theme::IconsBaseColor}});
257 const Icon EMPTY14(":/utils/images/empty14.png");
258 const Icon EMPTY16(":/utils/images/empty16.png");
259 const Icon OVERLAY_ADD({
260         {":/utils/images/iconoverlay_add_background.png", Theme::BackgroundColorNormal},
261         {":/utils/images/iconoverlay_add.png", Theme::IconsRunColor}}, Icon::Tint);
262 const Icon OVERLAY_WARNING({
263         {":/utils/images/iconoverlay_warning_background.png", Theme::BackgroundColorNormal},
264         {":/utils/images/iconoverlay_warning.png", Theme::IconsWarningColor}}, Icon::Tint);
265 const Icon OVERLAY_ERROR({
266         {":/utils/images/iconoverlay_error_background.png", Theme::BackgroundColorNormal},
267         {":/utils/images/iconoverlay_error.png", Theme::IconsErrorColor}}, Icon::Tint);
268 const Icon RUN_FILE({
269         {":/utils/images/run_small.png", Theme::IconsRunColor},
270         {":/utils/images/run_file.png", Theme::PanelTextColorMid}}, Icon::MenuTintedStyle);
271 const Icon RUN_FILE_TOOLBAR({
272         {":/utils/images/run_small.png", Theme::IconsRunToolBarColor},
273         {":/utils/images/run_file.png", Theme::IconsBaseColor}});
274 const Icon RUN_SELECTED({
275         {":/utils/images/run_small.png", Theme::IconsRunColor},
276         {":/utils/images/runselected_boxes.png", Theme::PanelTextColorMid},
277         {":/utils/images/runselected_tickmarks.png", Theme::PanelTextColorMid}}, Icon::MenuTintedStyle);
278 const Icon RUN_SELECTED_TOOLBAR({
279         {":/utils/images/run_small.png", Theme::IconsRunToolBarColor},
280         {":/utils/images/runselected_boxes.png", Theme::IconsBaseColor},
281         {":/utils/images/runselected_tickmarks.png", Theme::IconsBaseColor}});
282 
283 const Icon CODEMODEL_ERROR({
284         {":/utils/images/codemodelerror.png", Theme::IconsErrorColor}}, Icon::Tint);
285 const Icon CODEMODEL_WARNING({
286         {":/utils/images/codemodelwarning.png", Theme::IconsWarningColor}}, Icon::Tint);
287 const Icon CODEMODEL_DISABLED_ERROR({
288         {":/utils/images/codemodelerror.png", Theme::IconsDisabledColor}}, Icon::Tint);
289 const Icon CODEMODEL_DISABLED_WARNING({
290         {":/utils/images/codemodelwarning.png", Theme::IconsDisabledColor}}, Icon::Tint);
291 const Icon CODEMODEL_FIXIT({
292         {":/utils/images/lightbulbcap.png", Theme::PanelTextColorMid},
293         {":/utils/images/lightbulb.png", Theme::IconsWarningColor}}, Icon::Tint);
294 
295 const Icon MACOS_TOUCHBAR_BOOKMARK(
296         ":/utils/images/macos_touchbar_bookmark.png");
297 const Icon MACOS_TOUCHBAR_CLEAR(
298         ":/utils/images/macos_touchbar_clear.png");
299 } // namespace Icons
300 
iconForType(CodeModelIcon::Type type)301 QIcon CodeModelIcon::iconForType(CodeModelIcon::Type type)
302 {
303     static const IconStringMaskAndColor classRelationIcon {
304         QLatin1String(":/codemodel/images/classrelation.png"), Theme::IconsCodeModelOverlayForegroundColor};
305     static const IconStringMaskAndColor classRelationBackgroundIcon {
306         QLatin1String(":/codemodel/images/classrelationbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
307     static const IconStringMaskAndColor classMemberFunctionIcon {
308         QLatin1String(":/codemodel/images/classmemberfunction.png"), Theme::IconsCodeModelFunctionColor};
309     static const IconStringMaskAndColor classMemberVariableIcon {
310         QLatin1String(":/codemodel/images/classmembervariable.png"), Theme::IconsCodeModelVariableColor};
311     static const IconStringMaskAndColor functionIcon {
312         QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelFunctionColor};
313     static const IconStringMaskAndColor variableIcon {
314         QLatin1String(":/codemodel/images/member.png"), Theme::IconsCodeModelVariableColor};
315     static const IconStringMaskAndColor signalIcon {
316         QLatin1String(":/codemodel/images/signal.png"), Theme::IconsCodeModelFunctionColor};
317     static const IconStringMaskAndColor slotIcon {
318         QLatin1String(":/codemodel/images/slot.png"), Theme::IconsCodeModelFunctionColor};
319     static const IconStringMaskAndColor propertyIcon {
320         QLatin1String(":/codemodel/images/property.png"), Theme::IconsCodeModelOverlayForegroundColor};
321     static const IconStringMaskAndColor propertyBackgroundIcon {
322         QLatin1String(":/codemodel/images/propertybackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
323     static const IconStringMaskAndColor protectedIcon {
324         QLatin1String(":/codemodel/images/protected.png"), Theme::IconsCodeModelOverlayForegroundColor};
325     static const IconStringMaskAndColor protectedBackgroundIcon {
326         QLatin1String(":/codemodel/images/protectedbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
327     static const IconStringMaskAndColor privateIcon {
328         QLatin1String(":/codemodel/images/private.png"), Theme::IconsCodeModelOverlayForegroundColor};
329     static const IconStringMaskAndColor privateBackgroundIcon {
330         QLatin1String(":/codemodel/images/privatebackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
331     static const IconStringMaskAndColor staticIcon {
332         QLatin1String(":/codemodel/images/static.png"), Theme::IconsCodeModelOverlayForegroundColor};
333     static const IconStringMaskAndColor staticBackgroundIcon {
334         QLatin1String(":/codemodel/images/staticbackground.png"), Theme::IconsCodeModelOverlayBackgroundColor};
335 
336     switch (type) {
337     case Class: {
338         const static QIcon icon(Icon({
339             classRelationBackgroundIcon, classRelationIcon,
340             {QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelClassColor},
341             classMemberFunctionIcon, classMemberVariableIcon
342         }, Icon::Tint).icon());
343         return icon;
344     }
345     case Struct: {
346         const static QIcon icon(Icon({
347             classRelationBackgroundIcon, classRelationIcon,
348             {QLatin1String(":/codemodel/images/classparent.png"), Theme::IconsCodeModelStructColor},
349             classMemberFunctionIcon, classMemberVariableIcon
350         }, Icon::Tint).icon());
351         return icon;
352     }
353     case Enum: {
354         const static QIcon icon(Icon({
355             {QLatin1String(":/codemodel/images/enum.png"), Theme::IconsCodeModelEnumColor}
356         }, Icon::Tint).icon());
357         return icon;
358     }
359     case Enumerator: {
360         const static QIcon icon(Icon({
361             {QLatin1String(":/codemodel/images/enumerator.png"), Theme::IconsCodeModelEnumColor}
362         }, Icon::Tint).icon());
363         return icon;
364     }
365     case FuncPublic: {
366         const static QIcon icon(Icon({
367                 functionIcon}, Icon::Tint).icon());
368         return icon;
369     }
370     case FuncProtected: {
371         const static QIcon icon(Icon({
372                 functionIcon, protectedBackgroundIcon, protectedIcon
373         }, Icon::Tint).icon());
374         return icon;
375     }
376     case FuncPrivate: {
377         const static QIcon icon(Icon({
378             functionIcon, privateBackgroundIcon, privateIcon
379         }, Icon::Tint).icon());
380         return icon;
381     }
382     case FuncPublicStatic: {
383         const static QIcon icon(Icon({
384             functionIcon, staticBackgroundIcon, staticIcon
385         }, Icon::Tint).icon());
386         return icon;
387     }
388     case FuncProtectedStatic: {
389         const static QIcon icon(Icon({
390             functionIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
391         }, Icon::Tint).icon());
392         return icon;
393     }
394     case FuncPrivateStatic: {
395         const static QIcon icon(Icon({
396             functionIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
397         }, Icon::Tint).icon());
398         return icon;
399     }
400     case Namespace: {
401         const static QIcon icon(Icon({
402             {QLatin1String(":/utils/images/namespace.png"), Theme::IconsCodeModelKeywordColor}
403         }, Icon::Tint).icon());
404         return icon;
405     }
406     case VarPublic: {
407         const static QIcon icon(Icon({
408             variableIcon
409         }, Icon::Tint).icon());
410         return icon;
411     }
412     case VarProtected: {
413         const static QIcon icon(Icon({
414             variableIcon, protectedBackgroundIcon, protectedIcon
415         }, Icon::Tint).icon());
416         return icon;
417     }
418     case VarPrivate: {
419         const static QIcon icon(Icon({
420             variableIcon, privateBackgroundIcon, privateIcon
421         }, Icon::Tint).icon());
422         return icon;
423     }
424     case VarPublicStatic: {
425         const static QIcon icon(Icon({
426             variableIcon, staticBackgroundIcon, staticIcon
427         }, Icon::Tint).icon());
428         return icon;
429     }
430     case VarProtectedStatic: {
431         const static QIcon icon(Icon({
432             variableIcon, staticBackgroundIcon, staticIcon, protectedBackgroundIcon, protectedIcon
433         }, Icon::Tint).icon());
434         return icon;
435     }
436     case VarPrivateStatic: {
437         const static QIcon icon(Icon({
438             variableIcon, staticBackgroundIcon, staticIcon, privateBackgroundIcon, privateIcon
439         }, Icon::Tint).icon());
440         return icon;
441     }
442     case Signal: {
443         const static QIcon icon(Icon({
444             signalIcon
445         }, Icon::Tint).icon());
446         return icon;
447     }
448     case SlotPublic: {
449         const static QIcon icon(Icon({
450             slotIcon
451         }, Icon::Tint).icon());
452         return icon;
453     }
454     case SlotProtected: {
455         const static QIcon icon(Icon({
456             slotIcon, protectedBackgroundIcon, protectedIcon
457         }, Icon::Tint).icon());
458         return icon;
459     }
460     case SlotPrivate: {
461         const static QIcon icon(Icon({
462             slotIcon, privateBackgroundIcon, privateIcon
463         }, Icon::Tint).icon());
464         return icon;
465     }
466     case Keyword: {
467         const static QIcon icon(Icon({
468             {QLatin1String(":/codemodel/images/keyword.png"), Theme::IconsCodeModelKeywordColor}
469         }, Icon::Tint).icon());
470         return icon;
471     }
472     case Macro: {
473         const static QIcon icon(Icon({
474             {QLatin1String(":/codemodel/images/macro.png"), Theme::IconsCodeModelMacroColor}
475         }, Icon::Tint).icon());
476         return icon;
477     }
478     case Property: {
479         const static QIcon icon(Icon({
480             variableIcon, propertyBackgroundIcon, propertyIcon
481         }, Icon::Tint).icon());
482         return icon;
483     }
484     case Unknown: {
485         const static QIcon icon(Icons::EMPTY16.icon());
486         return icon;
487     }
488     default:
489         break;
490     }
491     return QIcon();
492 }
493 
494 } // namespace Utils
495