summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgHandler.cpp
Unidiff
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/config/KeycfgHandler.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/config/KeycfgHandler.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgHandler.cpp b/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgHandler.cpp
new file mode 100644
index 0000000..a342e36
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/config/KeycfgHandler.cpp
@@ -0,0 +1,43 @@
1#include "KeycfgHandler.h"
2
3KeycfgHandler::KeycfgHandler(QXmlReader* parser)
4 : QXmlDefaultHandler()
5{
6 m_parser = parser;
7 m_pModHandler = new ModifiersHandler();
8 m_pMapHandler = new MappingsHandler();
9 m_pExtHandler = new ExtensionsHandler();
10 m_pRepHandler = new RepeaterHandler();
11}
12
13KeycfgHandler::~KeycfgHandler()
14{
15 delete m_pModHandler;
16 delete m_pMapHandler;
17 delete m_pExtHandler;
18 delete m_pRepHandler;
19}
20
21bool KeycfgHandler::startElement(const QString& /* namespaceURI */,
22 const QString& localName,
23 const QString& /* qName */,
24 const QXmlAttributes& /* attr */)
25{
26 if(localName == "modifiers"){
27 m_pModHandler->setKeyModifiers(m_pModifiers);
28 m_pModHandler->setKeyMappings(m_pMappings);
29 m_pModHandler->dispose(m_parser, this);
30 } else if(localName == "mappings"){
31 m_pMapHandler->setKeyModifiers(m_pModifiers);
32 m_pMapHandler->setKeyMappings(m_pMappings);
33 m_pMapHandler->dispose(m_parser, this);
34 } else if(localName == "extensions"){
35 m_pExtHandler->setKeyModifiers(m_pModifiers);
36 m_pExtHandler->setKeyExtensions(m_pExtensions);
37 m_pExtHandler->dispose(m_parser, this);
38 } else if(localName == "repeater"){
39 m_pRepHandler->setKeyRepeater(m_pRepeater);
40 m_pRepHandler->dispose(m_parser, this);
41 }
42 return(true);
43}