applicationui.cpp Example File
datamanagerusage/src/applicationui.cpp
#include "applicationui.hpp"
#include "SqlDataQuery.hpp"
#include "SqlHeaderDataQuery.hpp"
#include "QueryExec.hpp"
#include <bb/cascades/Application>
#include <bb/cascades/QmlDocument>
#include <bb/cascades/AbstractPane>
#include <bb/cascades/LocaleHandler>
#include <QDebug>
using namespace bb::cascades;
ApplicationUI::ApplicationUI(bb::cascades::Application *app) :
QObject(app)
{
QueryExec::registerQmlTypes();
m_pTranslator = new QTranslator(this);
m_pLocaleHandler = new LocaleHandler(this);
if(!QObject::connect(m_pLocaleHandler, SIGNAL(systemLanguageChanged()), this, SLOT(onSystemLanguageChanged()))) {
qWarning() << "Recovering from a failed connect()";
}
onSystemLanguageChanged();
QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
const QString workingDir = QDir::currentPath();
_dirPaths = QString::fromLatin1(
"file://%1/app/public/data/").arg(workingDir);
qml->documentContext()->setContextProperty("_dataDir", _dirPaths);
qml->documentContext()->setContextProperty("_app", this);
AbstractPane *root = qml->createRootObject<AbstractPane>();
app->setScene(root);
}
void ApplicationUI::onSystemLanguageChanged()
{
QCoreApplication::instance()->removeTranslator(m_pTranslator);
QString locale_string = QLocale().name();
QString file_name = QString("datamanagerusage_%1").arg(locale_string);
if (m_pTranslator->load(file_name, "app/native/qm")) {
QCoreApplication::instance()->installTranslator(m_pTranslator);
}
}
bool ApplicationUI::fileExists(const QString file) {
QDir imgDir(QDir::currentPath() + "/app/public/data/images");
qDebug() << "looking in " << imgDir.absolutePath();
qDebug() << "for file " << file;
qDebug() << "found: " << imgDir.exists(file);
return imgDir.exists(file);
}