All pastes #571711 Raw Edit

Untitled

public text v1 · immutable
·published 2007-06-17 08:47 UTC
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()));