[winecfg 1.1] Implement saveConfigValue(), style changes, code cleanup, UI alignment

Dimitrie O. Paun dimi at intelliware.ca
Thu Aug 28 09:22:52 CDT 2003

On 28 Aug 2003, Mike Hearn wrote:

> * A sane way to deal with appdefaults
> * Some general settings like ShowDirSymlinks
> * DllOverrides (we have basic UI but it doesn't let you add new dlls,
> nor does it list any system dlls).
> * Not all the X11DRV options are in the UI
> * Fonts
> * Parallel/serial ports/printing stuff
> * Debugging (should this even be in the ui?)
> * Registry control
> * Console control
> * Clipboard settings
> * Multimedia - WinMM, DirectSound
> * Network (only one setting here though).

Man, oh man, quite a bit of stuff. maybe we can get rid of some of them. :)
Or maybe we don't need UI stuff for all of them. Even on Windows users
have to use regedit from time to time, let's not try to be more catholic
than the Pope. Alexandre, what's your minimal set of things for winecfg
before we can do the switch?

> Coding for Win32 takes ages (too bad we can't use something sane like
> gtk and be done with it *sigh), so I might not be able to get them all
> functional in the time I have.

That's fine -- other have expressed intrest, all that we need is to get
the patches in in a timely manner so other can pick up where you'll stop.
The slow pace for winecfg stems from the fact that people have been keeping
patches private, thus effectively blocking others from doing any work.

> Another problem we might have is that this is going to be a pretty
> cluttered and confusing UI if we cram everything possible into it. Do we
> really have to scrap the config file completely?

Yes, we have. It gets overritten at the end of each session, possibly
dropping changes users have made to it. I don't really see any reason
to have some values in the regular registry, some in some strange config
file that can't be editted through regedit, even though it seems that
all these values are in fact regular registry entries. It's just

> >     -- when all this is done, just remove the code from
> >        server/registry.c:1475:init_registry()
> Ah, thanks. I was looking for that piece of code. I'm still not fully
> sure how Wine overlays the config file onto the registry - if I run
> regedit the Wine\Wine key seems to be empty?

I'm not sure exactly what's going on there -- I would have expected
regedit to see those values. They are marked as VOLATILE which may
mean they are not saved, maybe regedit doesn't list such values?

> > [1] Maybe it's better to have a more descriptive structure detailing 
> >     stuff for each value, and having generic loadConfig/saveConfig()
> >     methods that know how to walk said structure and do the right
> >     thing. This way we can easily do add all sorts of attributes to
> >     the configuration values and do all sort of nice things, like
> >     save only stuff that has been modified, automatically tie in
> >     the variable to the control, etc.
> Yes, maybe, but some stuff requires custom parsing (like the x11drv
> thing) - given that it's usually perhaps 3 or 4 lines, I'm not sure
> doing something fancy here is a good use of time. Constructing the UI
> and all the logic to manipulate it takes far longer, and can't be
> automated.

Yeah, we can refactor this later on, you are right, let's just focus
on getting the thing running first.


More information about the wine-devel mailing list