bool Configuration::unset_windowlevels(const Glib::ustring& modality) {
	Glib::ustring base = "/apps/aeskulap/presets/windowlevel/"+modality;

	std::vector< Glib::ustring > dirs = m_conf_client->all_dirs(base);
	if(dirs.size() == 0) {
		return false;
	}

	for(unsigned int i=0; i<dirs.size(); i++) {
		Glib::ustring keybase = base+"/"+get_name_from_path(dirs[i]);
		m_conf_client->unset(keybase+"/center");
		m_conf_client->unset(keybase+"/width");
	}
	
	return true;
}
bool Configuration::get_windowlevel_list(const Glib::ustring& modality, WindowLevelList& list) {
	if(modality.empty()) {
		return false;
	}

	Glib::ustring base = "/apps/aeskulap/presets/windowlevel/"+modality;

	std::vector< Glib::ustring > dirs = m_conf_client->all_dirs(base);
	if(dirs.size() == 0) {
		return false;
	}

	list.clear();
	
	for(unsigned int i=0; i<dirs.size(); i++) {
		WindowLevel w;
		if(get_windowlevel(modality, get_name_from_path(dirs[i]), w)) {
			list[w.description] = w;
		}
	}
	
	return true;
}