harbour-seaprint/src/harbour-seaprint.cpp

48 lines
1.8 KiB
C++
Raw Normal View History

2019-12-01 17:40:10 +03:00
#include <QtQuick>
#include <sailfishapp.h>
#include <seaprint_version.h>
2019-12-01 17:55:55 +03:00
#include <src/ippdiscovery.h>
#include <src/ippprinter.h>
#include <src/mimer.h>
2020-05-11 21:44:53 +03:00
#include <src/convertchecker.h>
#include <src/svgprovider.h>
#include <src/settings.h>
2019-12-01 17:40:10 +03:00
template <class T>
static QObject* singletontype_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
{
Q_UNUSED(engine)
Q_UNUSED(scriptEngine)
T *inst = T::instance();
return inst;
}
2019-12-01 17:40:10 +03:00
int main(int argc, char *argv[])
{
QGuiApplication* app = SailfishApp::application(argc, argv);
app->setOrganizationName(QStringLiteral("net.attah"));
app->setApplicationName(QStringLiteral("seaprint"));
app->setApplicationVersion(QStringLiteral(SEAPRINT_VERSION));
qmlRegisterSingletonType<IppDiscovery>("seaprint.ippdiscovery", 1, 0, "IppDiscovery", singletontype_provider<IppDiscovery>);
qmlRegisterSingletonType<Mimer>("seaprint.mimer", 1, 0, "Mimer", singletontype_provider<Mimer>);
2020-05-11 21:44:53 +03:00
qmlRegisterSingletonType<ConvertChecker>("seaprint.convertchecker", 1, 0, "ConvertChecker", singletontype_provider<ConvertChecker>);
qmlRegisterSingletonType<ConvertChecker>("seaprint.settings", 1, 0, "SeaPrintSettings", singletontype_provider<Settings>);
2019-12-01 17:55:55 +03:00
qmlRegisterType<IppPrinter>("seaprint.ippprinter", 1, 0, "IppPrinter");
2020-06-06 18:20:30 +03:00
qmlRegisterUncreatableType<IppMsg>("seaprint.ippmsg", 1, 0, "IppMsg", "Only used to supply an enum type");
2019-12-01 17:55:55 +03:00
QQuickView* view = SailfishApp::createView();
view->engine()->addImportPath(SailfishApp::pathTo("qml/pages").toString());
view->engine()->addImageProvider(QLatin1String("ippdiscovery"), IppDiscovery::instance());
view->engine()->addImageProvider(QLatin1String("svg"), SvgProvider::instance());
view->setSource(SailfishApp::pathToMainQml());
view->show();
return app->exec();
2019-12-01 17:40:10 +03:00
}