00001 #include "KeycfgReader.h" 00002 00003 KeycfgReader::KeycfgReader() 00004 { 00005 qDebug("KeycfgReader::KeycfgReader()"); 00006 } 00007 00008 KeycfgReader::~KeycfgReader() 00009 { 00010 qDebug("KeycfgReader::~KeycfgReader()"); 00011 } 00012 00013 bool KeycfgReader::load() 00014 { 00015 QString file; 00016 ConfigEx& cfg = ConfigEx::getInstance("keyhelper"); 00017 00018 cfg.setGroup("Global"); 00019 00020 file = cfg.readEntry("XmlFile"); 00021 if(file.length() == 0 || !QFile::exists(file)){ 00022 /* default */ 00023 file = QString(getenv( "HOME" )) + QString("/Settings/keyhelper.xml"); 00024 } 00025 return(load(file)); 00026 } 00027 00028 bool KeycfgReader::load(const QString& path) 00029 { 00030 bool success = false; 00031 00032 KeyNames::reset(); 00033 00034 QXmlSimpleReader parser; 00035 KeycfgHandler handler(&parser); 00036 KeycfgErrorHandler errhandler; 00037 QFile file(path); 00038 00039 qWarning("KeycfgReader::load()[%s]", path.latin1()); 00040 00041 if(file.exists()){ 00042 QXmlInputSource source(file); 00043 00044 handler.setKeyModifiers(m_pModifiers); 00045 handler.setKeyMappings(m_pMappings); 00046 handler.setKeyExtensions(m_pExtensions); 00047 handler.setKeyRepeater(m_pRepeater); 00048 00049 parser.setContentHandler(&handler); 00050 parser.setErrorHandler(&errhandler); 00051 success = parser.parse(source); 00052 00053 file.close(); 00054 } 00055 00056 if(success){ 00057 m_pModifiers->statistics(); 00058 m_pMappings->statistics(); 00059 m_pExtensions->statistics(); 00060 m_pRepeater->statistics(); 00061 } else { 00062 m_pModifiers->reset(); 00063 m_pMappings->reset(); 00064 m_pExtensions->reset(); 00065 m_pRepeater->reset(); 00066 } 00067 KeyNames::clearCode(); 00068 00069 return(success); 00070 }
1.4.2