rendered paste body--- /c/devel/tmp/aqbanking-2.3.0/src/frontends/qbanking/bin/wizard/qt3_wizard.cpp Thu Nov 23 20:07:27 2006
+++ src/frontends/qbanking/bin/wizard/qt3_wizard.cpp Sat Jun 16 14:43:21 2007
@@ -24,9 +24,12 @@
#include <stdio.h>
+//#include <aqbanking/banking_be.h> // for AB_Banking_GetGlobalDataDirs
+#include <gwenhywfar/pathmanager.h> // for GWEN_PathManager_GetPaths
#include <qbanking/qbanking.h>
-
-
+#include <QDebug>
+#include <QLocale>
+#include <QDir>
@@ -37,9 +40,29 @@
GWEN_Logger_SetLevel(0, GWEN_LoggerLevelInfo);
- QString datadir(PKGDATADIR);
- if (translator.load(QTextCodec::locale()+QString(".qm"),
- datadir + QString("/i18n/"))) {
+ ab=new QBanking("qt3-wizard", 0);
+ if (ab->init()) {
+ DBG_ERROR(0, "Error on QBanking::init");
+ return 2;
+ }
+
+ GWEN_STRINGLIST *sl = //AB_Banking_GetGlobalDataDirs();
+ GWEN_PathManager_GetPaths(AB_PM_LIBNAME, AB_PM_DATADIR);
+ assert(sl);
+ QString datadir(GWEN_StringList_FirstString(sl));
+ GWEN_StringList_free(sl);
+ QDir i18ndir = datadir;
+ if (!i18ndir.exists())
+ qDebug() << "Datadir" << i18ndir.path() << "does not exist.";
+ i18ndir.cd("i18n");
+ if (!i18ndir.exists())
+ qDebug() << "I18ndir" << i18ndir.path() << "does not exist.";
+
+ QString languageCode = QTextCodec::locale();
+ languageCode.truncate(2);
+ // no need to specify ".qm" suffix; QTranslator tries that itself
+ if (translator.load(languageCode,
+ i18ndir.path())) {
DBG_INFO(0, "I18N available for your language");
app.installTranslator(&translator);
}
@@ -47,12 +70,6 @@
DBG_WARN(0, "Internationalisation is not available for your language");
}
- ab=new QBanking("qt3-wizard", 0);
- if (ab->init()) {
- DBG_ERROR(0, "Error on QBanking::init");
- return 2;
- }
-
QObject::connect(&app,SIGNAL(lastWindowClosed()),
&app,SLOT(quit()));