summaryrefslogtreecommitdiff
path: root/noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp
Unidiff
Diffstat (limited to 'noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp b/noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp
index 24bd897..6f3b9bf 100644
--- a/noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp
+++ b/noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp
@@ -2,6 +2,7 @@
2 2
3/* OPIE */ 3/* OPIE */
4#include <opie2/odebug.h> 4#include <opie2/odebug.h>
5#include <opie2/oapplication.h>
5using namespace Opie::Core; 6using namespace Opie::Core;
6 7
7/* QT */ 8/* QT */
@@ -16,16 +17,23 @@ ZkbConfig::~ZkbConfig() {
16 17
17bool ZkbConfig::load(const QString& file, Keymap& keymap, const QString& prefix) { 18bool ZkbConfig::load(const QString& file, Keymap& keymap, const QString& prefix) {
18 bool ret; 19 bool ret;
19 QFile f(path+"/"+file); 20 QFile *f = new QFile(path+"/"+file);
20 QFileInfo fi(f); 21 QFileInfo fi(*f);
21 22
22 odebug << "start loading file=" << file.utf8() << "\n" << oendl; 23 /* Try */
24 if ( !fi.exists() && !path.contains( QPEApplication::qpeDir()) ) {
25 delete f;
26 f = new QFile( QPEApplication::qpeDir() + "share/zkb/" + file );
27 fi = QFileInfo( *f );
28 }
29
30 odebug << "start loading file=" << file << "\n" << oendl;
23 if (includedFiles.find(fi.absFilePath()) != includedFiles.end()) { 31 if (includedFiles.find(fi.absFilePath()) != includedFiles.end()) {
24 return false; 32 return false;
25 } 33 }
26 34
27 includedFiles.insert(fi.absFilePath(), 1); 35 includedFiles.insert(fi.absFilePath(), 1);
28 QXmlInputSource is(f); 36 QXmlInputSource is(*f);
29 QXmlSimpleReader reader; 37 QXmlSimpleReader reader;
30 ZkbHandler h(*this, keymap, prefix); 38 ZkbHandler h(*this, keymap, prefix);
31 39
@@ -34,7 +42,8 @@ bool ZkbConfig::load(const QString& file, Keymap& keymap, const QString& prefix)
34 ret = reader.parse(is); 42 ret = reader.parse(is);
35 includedFiles.remove(fi.absFilePath()); 43 includedFiles.remove(fi.absFilePath());
36 44
37 odebug << "end loading file=" << file.utf8() << ": status=" << err.utf8() << oendl; 45 odebug << "end loading file=" << file << ": status=" << err << oendl;
46 delete f;
38 return ret; 47 return ret;
39} 48}
40 49