﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	blockedby	blocking	changelog
319	Complete overhaul of global configuration implementation	damato		"== Phenomenon ==
The current configuration soley relies on a global ""struct Config"" structure which is directly accessed from throughout the whole YAM source code. This has several drawbacks and should be completely changed.

== Background analysis ==
First of all the current configuration source code (including the GUI part) should be changed into an internal MUI custom class (using GenClasses). Then struct Config should be abadoned and instead accessor and mutator functions be added to retrieve and set the values of a certain config option (e.g. via string-based config option names). Furthermore, the configuration structure should carry information about the type (boolean, integer, string, etc.) of the variable so that the Load and Save config function can interate through this structure getting rid of the tons of ""else if()"" branches currently implemented in YAM_COs.c. 

== Implementation recommendation ==
Take care of:
- Custom classes
- Hash tables uses
- Black box approach"	task	new	normal	YAM 2.9	configuration		major					142	
