Qt port: Redesigning some dialogs
As part of our Qt porting effort, we have taken the opportunity to revisit quite a few of the dialogs in the player to see if we can design them to use UI elements more effectively.
Some background: doing anything "fancy" in Gtk+ requires significant amount of boilerplate, so we typically went with a simplistic approach, which resulted in a less than optimal UI in quite a few places. With Qt, much less work has been required to actually create the UIs we wanted to do in the first place, but were too annoying (or in many cases not even possible without overriding half of the toolkit's implementation of something) to do on Gtk+.
There are two major areas where the UI is quite different on Audacious QT vs Audacious Gtk+ at the moment, the Tag Editor and the Preferences dialogs.
For those unfamiliar with Audacious on Gtk+, below is a screenshot of the tag editor on Fedora 21, running Audacious 3.5 on Gtk+3.
As you can see, this is a typical-looking tag editor, but there's a lot of wasted space in the dialog. Audacious is not the sole offender here, Winamp is also fairly awful. As an example, here is a screenshot of the MP3 tag editor in Winamp 5:
For the Qt port we have taken another approach which we believe to be more efficient and conveys more information. Here is a screenshot from today (24th September, 2014) on our new Qt-only Mac port:
The functionality of this dialog is fairly obvious. You can copy and edit any of the metadata fields just by double-clicking them like you would any other table. Once you're done editing, you click OK and the new tag is committed (the internal metadata associated with that file in Audacious itself is updated as well).
Doing something like this would have involved writing a few thousand lines of code with Gtk+, most of which would be boilerplate, but Qt is much easier to use in that regard.
We have moved the category set to the top as a toolbar on the Qt port, similar to Firefox and other applications. Here is how that looks on Mac:
We are debating reworking the playlist manager UI a little, but the queue manager will probably remain the same.