summaryrefslogtreecommitdiff
path: root/noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp
authorzecke <zecke>2004-12-20 22:17:40 (UTC)
committer zecke <zecke>2004-12-20 22:17:40 (UTC)
commitb15930cd03acafd9770bca26f3388817f1a4dcbf (patch) (side-by-side diff)
tree7f86e31793c1bacb0882e7abb88a3847333f5c4a /noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp
parenta50334dddaa542fd63726a639e852c30036f53a0 (diff)
downloadopie-b15930cd03acafd9770bca26f3388817f1a4dcbf.zip
opie-b15930cd03acafd9770bca26f3388817f1a4dcbf.tar.gz
opie-b15930cd03acafd9770bca26f3388817f1a4dcbf.tar.bz2
-Fix for 1483
"ZKB should keep user settings in $HOME/Settings instead of $OPIEDIR/share/zkb" Now by default it loads and saves to $HOME/Applications/zkb but falls back to $OPIEDIR/share/zkb to find the included files
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 @@
/* OPIE */
#include <opie2/odebug.h>
+#include <opie2/oapplication.h>
using namespace Opie::Core;
/* QT */
@@ -16,16 +17,23 @@ ZkbConfig::~ZkbConfig() {
bool ZkbConfig::load(const QString& file, Keymap& keymap, const QString& prefix) {
bool ret;
- QFile f(path+"/"+file);
- QFileInfo fi(f);
+ QFile *f = new QFile(path+"/"+file);
+ QFileInfo fi(*f);
- odebug << "start loading file=" << file.utf8() << "\n" << oendl;
+ /* Try */
+ if ( !fi.exists() && !path.contains( QPEApplication::qpeDir()) ) {
+ delete f;
+ f = new QFile( QPEApplication::qpeDir() + "share/zkb/" + file );
+ fi = QFileInfo( *f );
+ }
+
+ odebug << "start loading file=" << file << "\n" << oendl;
if (includedFiles.find(fi.absFilePath()) != includedFiles.end()) {
return false;
}
includedFiles.insert(fi.absFilePath(), 1);
- QXmlInputSource is(f);
+ QXmlInputSource is(*f);
QXmlSimpleReader reader;
ZkbHandler h(*this, keymap, prefix);
@@ -34,7 +42,8 @@ bool ZkbConfig::load(const QString& file, Keymap& keymap, const QString& prefix)
ret = reader.parse(is);
includedFiles.remove(fi.absFilePath());
- odebug << "end loading file=" << file.utf8() << ": status=" << err.utf8() << oendl;
+ odebug << "end loading file=" << file << ": status=" << err << oendl;
+ delete f;
return ret;
}