summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgReader.cpp
authoralwin <alwin>2005-02-28 09:40:30 (UTC)
committer alwin <alwin>2005-02-28 09:40:30 (UTC)
commit2b64a84d39eeed5681d0ee5068c7d11a01527750 (patch) (side-by-side diff)
treec8693340dbc5ef5e2f9afa90b690829ddff2c4bd /noncore/applets/keyhelper/keyhelperapplet/config/KeycfgReader.cpp
parent61fa699140c5efbb6ba0bf2a62f7e8fbf62976be (diff)
downloadopie-2b64a84d39eeed5681d0ee5068c7d11a01527750.zip
opie-2b64a84d39eeed5681d0ee5068c7d11a01527750.tar.gz
opie-2b64a84d39eeed5681d0ee5068c7d11a01527750.tar.bz2
other keymapping tool - not working this moment, I have to check it out
- the reason is that the config file is somewhat easier to understand than from zkbapplet and has a nice config tool. Please don't put it into any repositories this moment.
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/config/KeycfgReader.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/config/KeycfgReader.cpp70
1 files changed, 70 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgReader.cpp b/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgReader.cpp
new file mode 100644
index 0000000..44b4b2f
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgReader.cpp
@@ -0,0 +1,70 @@
+#include "KeycfgReader.h"
+
+KeycfgReader::KeycfgReader()
+{
+ qDebug("KeycfgReader::KeycfgReader()");
+}
+
+KeycfgReader::~KeycfgReader()
+{
+ qDebug("KeycfgReader::~KeycfgReader()");
+}
+
+bool KeycfgReader::load()
+{
+ QString file;
+ ConfigEx& cfg = ConfigEx::getInstance("keyhelper");
+
+ cfg.setGroup("Global");
+
+ file = cfg.readEntry("XmlFile");
+ if(file.length() == 0 || !QFile::exists(file)){
+ /* default */
+ file = QDir::homeDirPath() + "/Settings/keyhelper.xml";
+ }
+ return(load(file));
+}
+
+bool KeycfgReader::load(const QString& path)
+{
+ bool success = false;
+
+ KeyNames::reset();
+
+ QXmlSimpleReader parser;
+ KeycfgHandler handler(&parser);
+ KeycfgErrorHandler errhandler;
+ QFile file(path);
+
+ qWarning("KeycfgReader::load()[%s]", path.latin1());
+
+ if(file.exists()){
+ QXmlInputSource source(file);
+
+ handler.setKeyModifiers(m_pModifiers);
+ handler.setKeyMappings(m_pMappings);
+ handler.setKeyExtensions(m_pExtensions);
+ handler.setKeyRepeater(m_pRepeater);
+
+ parser.setContentHandler(&handler);
+ parser.setErrorHandler(&errhandler);
+ success = parser.parse(source);
+
+ file.close();
+ }
+
+ if(success){
+ m_pModifiers->statistics();
+ m_pMappings->statistics();
+ m_pExtensions->statistics();
+ m_pRepeater->statistics();
+ } else {
+ m_pModifiers->reset();
+ m_pMappings->reset();
+ m_pExtensions->reset();
+ m_pRepeater->reset();
+ }
+ KeyNames::clearCode();
+
+ return(success);
+}