-rw-r--r-- | noncore/applets/zkbapplet/applet/zkbwidget.cpp | 18 | ||||
-rw-r--r-- | noncore/applets/zkbapplet/applet/zkbwidget.h | 2 | ||||
-rw-r--r-- | noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp | 2 | ||||
-rw-r--r-- | noncore/applets/zkbapplet/keyzcfg/main.cpp | 4 | ||||
-rw-r--r-- | noncore/applets/zkbapplet/keyzcfg/zkbcfg.cpp | 67 |
5 files changed, 47 insertions, 46 deletions
diff --git a/noncore/applets/zkbapplet/applet/zkbwidget.cpp b/noncore/applets/zkbapplet/applet/zkbwidget.cpp index 13729ea..55c08b3 100644 --- a/noncore/applets/zkbapplet/applet/zkbwidget.cpp +++ b/noncore/applets/zkbapplet/applet/zkbwidget.cpp @@ -28,27 +28,23 @@ ZkbWidget::ZkbWidget(QWidget* parent) } ZkbWidget::~ZkbWidget() { - if (keymap != 0) { - delete keymap; - keymap = 0; - } + delete keymap; + keymap = 0; } int ZkbWidget::position() { return 8; } bool ZkbWidget::loadKeymap() { - ZkbConfig c(QPEApplication::qpeDir()+"share/zkb"); + ZkbConfig c(Global::applicationFileName("zkb", QString::null) ); QFontMetrics fm(font()); - if (keymap != 0) { - delete keymap; - keymap = 0; - } + delete keymap; + keymap = 0; Keymap* km = new Keymap(); if (!c.load("zkb.xml", *km, "")) { @@ -97,12 +93,8 @@ bool ZkbWidget::loadKeymap() { } return true; } -QSize ZkbWidget::sizeHint() const { - return QSize(AppLnk::smallIconSize(),AppLnk::smallIconSize()); -} - void ZkbWidget::stateChanged(const QString& s) { // odebug << "stateChanged: " << s.utf8() << "\n" << oendl; setText(s); } diff --git a/noncore/applets/zkbapplet/applet/zkbwidget.h b/noncore/applets/zkbapplet/applet/zkbwidget.h index 9bce85a..13906c0 100644 --- a/noncore/applets/zkbapplet/applet/zkbwidget.h +++ b/noncore/applets/zkbapplet/applet/zkbwidget.h @@ -16,10 +16,8 @@ public: ZkbWidget(QWidget* parent); ~ZkbWidget(); static int position(); - QSize sizeHint() const; - protected: QLabel* label; Keymap* keymap; QPopupMenu* labels; diff --git a/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp b/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp index 4190a9e..6f24ea0 100644 --- a/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp +++ b/noncore/applets/zkbapplet/keyzcfg/cfgdlg.cpp @@ -123,9 +123,9 @@ void CfgDlg::accept() { cfile->setAutorepeatDelay(ad->value()); cfile->setAutorepeatPeriod(ap->value()); CfgParser p; - p.save(QPEApplication::qpeDir()+"share/zkb/zkb.xml", *cfile); + p.save(Global::applicationFileName("zkb", "zkb.xml" ), *cfile); QCopEnvelope("QPE/zkb", "reload()"); QDialog::accept(); } diff --git a/noncore/applets/zkbapplet/keyzcfg/main.cpp b/noncore/applets/zkbapplet/keyzcfg/main.cpp index afd0f6a..d7926f0 100644 --- a/noncore/applets/zkbapplet/keyzcfg/main.cpp +++ b/noncore/applets/zkbapplet/keyzcfg/main.cpp @@ -1,6 +1,8 @@ #include <stdio.h> #include <qpe/qpeapplication.h> +#include <qpe/global.h> + #include <qlayout.h> #include <qmainwindow.h> #include "cfgdlg.h" @@ -8,9 +10,9 @@ int main( int argc, char **argv ) { QPEApplication app(argc, argv); CfgFile cfile; CfgParser cp; - cp.load(QPEApplication::qpeDir()+"share/zkb/zkb.xml", cfile); + cp.load(Global::applicationFileName("zkb", "zkb.xml"), cfile); CfgDlg c(0, &cfile, &app, true); 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 @@ -1,8 +1,9 @@ #include "zkbcfg.h" /* OPIE */ #include <opie2/odebug.h> +#include <opie2/oapplication.h> using namespace Opie::Core; /* QT */ #include <qfileinfo.h> @@ -14,35 +15,43 @@ ZkbConfig::ZkbConfig(const QString& dir):path(dir) { ZkbConfig::~ZkbConfig() { } bool ZkbConfig::load(const QString& file, Keymap& keymap, const QString& prefix) { - bool ret; - QFile f(path+"/"+file); - QFileInfo fi(f); + bool ret; + QFile *f = new QFile(path+"/"+file); + QFileInfo fi(*f); - odebug << "start loading file=" << file.utf8() << "\n" << oendl; - if (includedFiles.find(fi.absFilePath()) != includedFiles.end()) { - return false; - } + /* Try */ + if ( !fi.exists() && !path.contains( QPEApplication::qpeDir()) ) { + delete f; + f = new QFile( QPEApplication::qpeDir() + "share/zkb/" + file ); + fi = QFileInfo( *f ); + } - includedFiles.insert(fi.absFilePath(), 1); - QXmlInputSource is(f); - QXmlSimpleReader reader; - ZkbHandler h(*this, keymap, prefix); + odebug << "start loading file=" << file << "\n" << oendl; + if (includedFiles.find(fi.absFilePath()) != includedFiles.end()) { + return false; + } - reader.setContentHandler(&h); - reader.setErrorHandler(this); - ret = reader.parse(is); - includedFiles.remove(fi.absFilePath()); + includedFiles.insert(fi.absFilePath(), 1); + QXmlInputSource is(*f); + QXmlSimpleReader reader; + ZkbHandler h(*this, keymap, prefix); - odebug << "end loading file=" << file.utf8() << ": status=" << err.utf8() << oendl; - return ret; + reader.setContentHandler(&h); + reader.setErrorHandler(this); + ret = reader.parse(is); + includedFiles.remove(fi.absFilePath()); + + odebug << "end loading file=" << file << ": status=" << err << oendl; + delete f; + return ret; } bool ZkbConfig::warning(const QXmlParseException& e) { QString tmp; - tmp.sprintf("%d: warning: %s\n", e.lineNumber(), + tmp.sprintf("%d: warning: %s\n", e.lineNumber(), (const char*) e.message().utf8()); err += tmp; @@ -51,9 +60,9 @@ bool ZkbConfig::warning(const QXmlParseException& e) { bool ZkbConfig::error(const QXmlParseException& e) { QString tmp; - tmp.sprintf("%d: error: %s\n", e.lineNumber(), + tmp.sprintf("%d: error: %s\n", e.lineNumber(), (const char*) e.message().utf8()); err += tmp; @@ -62,9 +71,9 @@ bool ZkbConfig::error(const QXmlParseException& e) { bool ZkbConfig::fatalError(const QXmlParseException& e) { QString tmp; - tmp.sprintf("%d: fatal error: %s\n", e.lineNumber(), + tmp.sprintf("%d: fatal error: %s\n", e.lineNumber(), (const char*) e.message().utf8()); err += tmp; @@ -75,9 +84,9 @@ QString ZkbConfig::errorString() { return err; } // Implementation of ZkbHandler -ZkbHandler::ZkbHandler(ZkbConfig& z, Keymap& k, const QString& p):zkc(z), keymap(k), +ZkbHandler::ZkbHandler(ZkbConfig& z, Keymap& k, const QString& p):zkc(z), keymap(k), prefix(p), ardelay(-1), arperiod(-1), currentState(0), currentAction(0) { } ZkbHandler::~ZkbHandler() { @@ -89,17 +98,17 @@ bool ZkbHandler::startKeymapElement(int ard, int arp, const QString&) { return true; } -bool ZkbHandler::startIncludeElement(const QString& file, +bool ZkbHandler::startIncludeElement(const QString& file, const QString& pref) { QString p = prefix; if (!pref.isNull()) { p += pref + ":"; } - + bool ret = zkc.load(file, keymap, p); if (!ret) { setError("Error including file: " + file); @@ -107,9 +116,9 @@ bool ZkbHandler::startIncludeElement(const QString& file, return ret; } -bool ZkbHandler::startLabelElement(const QString& label, +bool ZkbHandler::startLabelElement(const QString& label, const QString& state) { if (!keymap.addLabel(label, prefix + state)) { err = "label " + label + " already defined"; @@ -118,22 +127,22 @@ bool ZkbHandler::startLabelElement(const QString& label, return true; } -bool ZkbHandler::startStateElement(const QString& name, +bool ZkbHandler::startStateElement(const QString& name, const QString& parentName, bool dflt) { currentStateName = prefix + name; currentState = keymap.getStateByName(currentStateName); -// odebug << "state name=" << currentStateName.utf8() << "\n" << oendl; +// odebug << "state name=" << currentStateName.utf8() << "\n" << oendl; State* parent = 0; if (!parentName.isEmpty()) { QString pn = prefix + parentName; parent = keymap.getStateByName(pn); if (parent == 0) { - err = currentStateName + + err = currentStateName + ": undefined parent state: " + pn; return false; } } @@ -166,9 +175,9 @@ bool ZkbHandler::startMapElement(int keycode, bool pressed) { return true; } -bool ZkbHandler::startEventElement(int keycode, int unicode, int modifiers, +bool ZkbHandler::startEventElement(int keycode, int unicode, int modifiers, bool pressed, bool autorepeat) { currentAction->setEvent(true); currentAction->setKeycode(keycode); @@ -199,9 +208,9 @@ bool ZkbHandler::endKeymapElement() { if (arperiod > 0) { keymap.setAutorepeatPeriod(arperiod); } - + return true; } bool ZkbHandler::endIncludeElement() { |