Beispiel #1
0
ExtensionInterface* ExtensionFactory::createInstance(const QString& kind,
	int keycode, int keymask)
{
	ExtensionInterface* ext;
	QString kindstr = kind.lower();

	ext = loadInstance(kindstr, keycode, keymask);
	if(ext != NULL){
		return(ext);
	}

	if(kindstr == "switch"){
		ext = new TaskSwitcher(kindstr);
	} else if(kindstr == "select"){
		ext = new TaskSelector(kindstr);
	} else if(kindstr.find("launch") == 0){
		ext = new KeyLauncher(kindstr);
	} else if(kindstr.find("menu") == 0){
		ext = new MenuLauncher(kindstr);
	} else {
		return(NULL);
	}
	ext->setKeycode(keycode);
	ext->setKeymask(keymask);

	m_oExtList.append(ext);
	return(ext);
}