Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

KeycfgReader.cpp

Go to the documentation of this file.
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 }

Generated on Sat Nov 5 16:16:42 2005 for OPIE by  doxygen 1.4.2