Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 328262

Summary: [UI] Show different icons for user and system includes
Product: [Tools] CDT Reporter: Patrick Hofer <paedu.hofer>
Component: cdt-coreAssignee: Project Inbox <cdt-core-inbox>
Status: NEW --- QA Contact: Jonah Graham <jonah>
Severity: enhancement    
Priority: P3 CC: cdtdoug, yevshif
Version: 8.0   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
proposed icon
none
Modified include icon
none
Modified system include icon none

Description Patrick Hofer CLA 2010-10-20 11:39:12 EDT
Make the icon for system includes look different than those for user includes.
I propose to draw the smaller rectangle on the upper left corner in grey. 

This was requested before in Bug 26482. Refer to the description of that bug:
" * The #include icon is ...
 Perhaps also showing slightly different icons for system 
includes (<...>) and user includes ("...").  "
Comment 1 Patrick Hofer CLA 2010-10-20 11:53:24 EDT
Created attachment 181306 [details]
proposed icon

this goes into org.eclipse.cdt.ui\icons\obj16
Comment 2 Andrew Gvozdev CLA 2010-10-20 12:22:14 EDT
I don't think the current "include" icon is particularly intuitive. I think the icon for *.h files (h_file_obj.gif) could be a better choice. It could be modified or have an overlay to indicate system/local notion.
Comment 3 Markus Schorn CLA 2010-10-21 06:25:18 EDT
(In reply to comment #2)
> I don't think the current "include" icon is particularly intuitive. I think the
> icon for *.h files (h_file_obj.gif) could be a better choice. It could be
> modified or have an overlay to indicate system/local notion.

I agree. Note, that the include browser uses an overlay to distinguish sytem-
includes from user-includes. We can reuse the overlay or use a new overlay for both the outline and the include browser.
Comment 4 Patrick Hofer CLA 2010-10-22 10:31:09 EDT
While I agree that the current icon is not a beauty, I do find it intuitive. 
I recalls my on my childhood playing LEGO. Adding a brick to the others. That's quite a nice depiction of the preprocessor's work.

May I ask you what exactly you don't like on the current one?

Maybe it's just too bold. Too big and, er, too blue. I've played with GIMP to modify it slightly.

+1 for using angle brackets to distinguish the includes. That's a much better idea. Maybe it's even easier to implement it that way.

I don't like the idea of reusing h_file_obj.gif. In the Outline this might work, but in the Explorer it would look rather odd. I think it's better not to mix the icons for files with those for "file-content". 

BTW, I'm not that fond of the "Group Includes" icon (group_include.gif). Don't get what it wants to tell me. Adding lines? Well, that's too ambiguous if it comes to coding. We might have room for improvement there as well.
Comment 5 Patrick Hofer CLA 2010-10-22 10:32:45 EDT
Created attachment 181499 [details]
Modified include icon
Comment 6 Patrick Hofer CLA 2010-10-22 10:39:28 EDT
Created attachment 181503 [details]
Modified system include icon

I'm not entierly happy with those draft icons. Im attaching them to keep the discussion going.

One problem I see is that they might be visually too noisy. Maybe it's better to leave out the small triangle/arrow on the top. The angle brackets might be too small as well. I've tried other variations, but there the base icon was crippled too much.

As always, feedback is very much appreciated.
Comment 7 Andrew Gvozdev CLA 2010-10-22 10:54:37 EDT
Well I guess it is matter of individual taste and background very much. Maybe I don't understand the current icon because I did not play LEGO in my childhood but another brand. On the other hand I like "Group Includes" visually and it is consistent with Java group import icon.
I agree that h_file_obj.gif could be confusing in Explorer when there are real *.h present which is almost always the case. It should be slightly modified to be distinct if going that route.
Comment 8 Patrick Hofer CLA 2010-10-22 11:11:16 EDT
(In reply to comment #7)
> Well I guess it is matter of individual taste ...
+1 
There's absolutely no use of discussing taste. Everything goes if you like it. Unfortunately that makes things not easier in this case. Just one point, if we change the icon to radically there will be some people crying, for sure. Humans tend to stick to their habits.

This might be a discussion for cdt-dev. 

Would you be so kind and attach a mockup icon which shows your ideas? 
Or post some pointers on how you would modify h_file_obj.gif. I'm volunteering to do the pixel stuff afterwards.
Comment 9 Andrew Gvozdev CLA 2010-10-22 11:54:46 EDT
(In reply to comment #8)
> (In reply to comment #7)
> > Well I guess it is matter of individual taste ...
> +1
> There's absolutely no use of discussing taste. Everything goes if you like it.
> Unfortunately that makes things not easier in this case. Just one point, if we
> change the icon to radically there will be some people crying, for sure. Humans
> tend to stick to their habits.
I've changed a bunch of icons related to build in CDT 7.0 and there was no crying. I am wondering if anybody noticed, nobody said a word.

> This might be a discussion for cdt-dev.
> Would you be so kind and attach a mockup icon which shows your ideas?
> Or post some pointers on how you would modify h_file_obj.gif. I'm volunteering
> to do the pixel stuff afterwards.
If you are volunteering to do the legwork why don't you ask on cdt-dev, that's a good idea. We can see the feedback, especially from committers.
If you make an icon I like I would commit it (granted no other committer is against it). But I may be picky and normally need to see and feel and throw away many variants before I am happy with one.
If you are OK with abuse like that, I envision an icon representing a *.h file (h_file_obj.gif) but slightly distinct. Maybe smaller or for example, having <> and " " overlays in top right corner (is there a conflict with another overlay?). But the current blue <> overlay as in Include Browser view is ugly (see also bug 171809). Maybe it can get better with a different less bright color of <> like gray? The quoted one should also look nice unlike hfolder_quote_obj.gif.