Bugzilla – Bug 295712
Issues with tango icons in yast-qt
Last modified: 2007-09-07 13:59:20 UTC
+++ This bug was initially created as a clone of Bug #294813 +++ AJ said on the mailinglist to report problems with tango icons in bugzilla, so I'll report a couple of problems I have with them, besides them being ugly and depressing, as well as total misfits in KDE3 which will of course be the preferred desktop for 10.3 by a vast majority of users. 1) In the left pane of the yast control center the icons look like one big block. I suggest to either use smaller icons, or add a few pixels of additional space between the items to make it look less cluttered. Will attach screenshot. Please see bug 294813 for details, we should add spacing around the icons.
HuHa, please, add some padding between icons (left panel) in YCC.
Spacing around those icons has to be embedded inside the icons. That's why nearly all icons usually have a border of at least one, more commonly two pixels around them. There is no way in Qt I know of to add any additional spacing there. The normal solution is to add any desired borders to the icons.
QIconView has a gridX/Y property that can be set, or QItemViewItem can be inherited to call setPixmapRect with an additional margin. assuming that the left pane is a QListView, there is QListViewItem::setHeight(). If that appears to be complicated, it should be trivial to add the two lines of code that add additional margin to the icons as they're loaded. Assuming that this is going to be the Qt4 port, you can apply a custom CSS stylesheet to the items in the left pane (which might be loaded on runtime, to make it themeable by the different themes) to apply margin or padding. The stylesheet would have the advantage that artists usually know how to use CSS and don't have to wait for development to catch up with their wishes.
I don't think making a subset of icons use more padding than the rest is the appropriate solution here. Reassigning to the component owner as I don't believe it's an icon artwork problem, but layout.
y2controlcenter uses a (Qt3) QListBox here. QListBox does not have any easy way to add spacing between items. dmueller suggested to derive a custom item class from QListBoxPixmap and overwrite its ::height() method. To make sure the item is vertically centered (important for example if it's highlighted), it will also be necessary to overwrite its ::paint() method and do the centering there. That's all a far cry from using QListBox::insertItem( QPixmap ).
It's not as trivial as hinted in comment #3, but it is possible to automatically add a border around the icons upon loading, albeit the code is not exactly intuitive. Whatever, it works.
In the navigation some of the icons appear pixelated (see attachment below), though on the right they appear perfectly clear and fine.
Created attachment 162725 [details] pixelated icons in yast
The original bug this is all about is fixed. If there is a new bug, please open a new one rather than hijacking an existing one.
I presumed it was actually related to the new fix that resulted from this bug report (and the bug is about 'Issues with tango icons in yast-qt'), but as you wish: Bug 308641 Submitted.