After looking at the current eyesore in kcontrols style chooser I decided to share some thoughts on how and why to do certain UI things. The old chooser had a listbox to select a style from, while the new one uses a combo box. While someone may have thought this was cool, its a big UI mistake. Here is why:
The listbox and combo box do basicly the same things, but they both have advantages and disadvantages that dictate how and when they should be used. The listbox is awesome for multiple selections and quick access for shorter lists (eg all or most of the items are visable, or most recent/popular item is in focus). While combo boxes are nicer for large long lists, and single selections. The gray areas happen when you have a widget that can scale and you have little to no control over the area. KControl is a great example of this. Due to the design we cause the main view to be resized in a manner that is rarely what the UI designer had in mind. Because of this widget choice is key.
Note the following examples both do the same thing, but we use a combo box in one and listbox in the other. Now the biggest nono in UI design is hideing information/choices from the user. The harder they have to work to get what they want the worse your desing is.
Now back to how this all relates to my gripes with KControl. Well kcontrol has a minimum size height wise because of the sidebar. Because of this you will aways had padding virticaly. This means that things like combo boxes really dont have an advantage for a main selection widget. Also combo boxes hide options from users, so it can make operations less clear. So while the combo box is nice for space, it is not known for speed. So when developing your UI please be aware of this and design accordingly....