On 03/16/2013 04:33 PM, jscipione@xxxxxxxxx wrote:
if (fSettingsFile->InitCheck() == B_OK - && storedSettings.Unflatten(fSettingsFile) == B_OK) { - storedSettings.FindBool("vertical", &settings.vertical); - storedSettings.FindBool("left", &settings.left); - storedSettings.FindBool("top", &settings.top); - storedSettings.FindUInt32("state", &settings.state); - storedSettings.FindFloat("width", &settings.width); - storedSettings.FindPoint("switcherLoc", &settings.switcherLoc); - storedSettings.FindBool("showClock", &settings.showClock); + && prefs.Unflatten(fSettingsFile) == B_OK) { + if (prefs.FindBool("vertical", &settings.vertical) != B_OK) + settings.vertical = fDefaultSettings.vertical; + if (prefs.FindBool("left", &settings.left) != B_OK) + settings.left = fDefaultSettings.left; + if (prefs.FindBool("top", &settings.top) != B_OK) + settings.top = fDefaultSettings.top; + if (prefs.FindUInt32("state", &settings.state) != B_OK) + settings.state = fDefaultSettings.state; + if (prefs.FindFloat("width", &settings.width) != B_OK) + settings.width = fDefaultSettings.width; + if (prefs.FindPoint("switcherLoc", &settings.switcherLoc) != B_OK) + settings.switcherLoc = fDefaultSettings.switcherLoc; + if (prefs.FindBool("showClock", &settings.showClock) != B_OK)
Please use the new BMessage::Get*() methods for this instead; they make code like this much better readable. It would then look like this:
settings.vertical = prefs.GetBool("vertical", fDefaultSettings.vertical); Bye, Axel.