Hi, my name is Magdalena Nowak and I'd like to apply for this year's Summer of Code with Wine. My proposal is to merge the two control panel suggestions (Tools - Merge winecfg and control panel and Tools - Implement new control panel applets) into one project.
I would start off with splitting winecfg into several applets. Roughly, each tab would become a new applet. The Applications applet would only be used to register applications with the control panel to allow the user to specify custom settings for that application. I would like to merge the Graphics tab with the Appearance section of Desktop Integration (and this applet would be the place where the 3D settings would go later) and merge the Folders section with the Drives tab into one applet.
Later on, I will start implementing new applets. For example, create a Networking applet for the network-related settings, maybe a simple diagnostics tool (a read-only applet with information regarding build options and system resources), Fonts (both list of fonts available to Wine as well as hinting and DPI settings), a System applet for settings like owner name, Windows version, libraries etc.
There is a problem with per-application settings. I have three possible solutions to this problem. I have made pictures to illustrate what I mean.
One would be to simply add a drop-down list to each applet that contains settings that can be per-application settings. The drop-down list would contain a "global" entry, as well as entries for each application registered through the Applications applet. Upon selecting an entry, the applet would load the settings for this program.
The second solution would be to have a separate applet for per-application settings. The screens would be stored in a DLL, for example, as to avoid duplication.
The third, and my favourite, solution, is to create a virtual control panel for each registered application. The user would be able to select the application or global settings from some kind of list, and the applets would be passed an argument to indicate the selected application. If a specific setting was global-only, it would be highlighted appropriately.
Here are the promised images: http://imgur.com/T4pUV - Showing the drop-down menu at the top of the applet window. http://imgur.com/vA1Vq - Showing the per-application settings applet. http://imgur.com/is63I - Showing the control panel with an application selected, and a Graphics applet showing a global-only setting.
Of course these are only examples, I welcome any comments. I will post a proposal on Melange soon.
Yours, 'Lena.