#include #include #include #include #include #include #include class PictureThreadWrapper : public QObject { public: PictureThreadWrapper(QObject *parent = 0) : QObject (parent) { QSettings settings; const QString &artPath = settings.value("artPath","/blackhole/media/art/Banksy").toString(); PictureModel::instance()->addSupportedExtension("jpg"); PictureModel::instance()->setModelRoot(artPath); settings.setValue("artPath", artPath); } }; int main(int argc, char *argv[]) { qsrand(time(NULL)); QGuiApplication app(argc, argv); app.setOrganizationName("Chaos Reins"); app.setApplicationName("Articulate"); QSettings settings; if (settings.value("force32bpp", false).toBool()) { QSurfaceFormat format = QSurfaceFormat::defaultFormat(); format.setAlphaBufferSize(8); format.setRedBufferSize(8); format.setGreenBufferSize(8); format.setBlueBufferSize(8); if (settings.value("forceSingleBuffer", false).toBool()) format.setSwapBehavior(QSurfaceFormat::SingleBuffer); QSurfaceFormat::setDefaultFormat(format); } QQmlApplicationEngine engine; QThread scanningThread; PictureThreadWrapper *wrapper = new PictureThreadWrapper(); wrapper->moveToThread(&scanningThread); scanningThread.start(); engine.rootContext()->setContextProperty("imageModel", PictureModel::instance()); engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); return app.exec(); }