main.cpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include <QGuiApplication>
  2. #include <QQmlApplicationEngine>
  3. #include <QQmlContext>
  4. #include <QThread>
  5. #include <QSettings>
  6. #include <QSurfaceFormat>
  7. #include <picturemodel.h>
  8. class PictureThreadWrapper : public QObject {
  9. public:
  10. PictureThreadWrapper(QObject *parent = 0) : QObject (parent) {
  11. QSettings settings;
  12. const QString &artPath = settings.value("artPath","/blackhole/media/art/Banksy").toString();
  13. PictureModel::instance()->addSupportedExtension("jpg");
  14. PictureModel::instance()->setModelRoot(artPath);
  15. settings.setValue("artPath", artPath);
  16. }
  17. };
  18. int main(int argc, char *argv[])
  19. {
  20. qsrand(time(NULL));
  21. QSurfaceFormat format = QSurfaceFormat::defaultFormat();
  22. format.setAlphaBufferSize(8);
  23. format.setRedBufferSize(8);
  24. format.setGreenBufferSize(8);
  25. format.setBlueBufferSize(8);
  26. QSurfaceFormat::setDefaultFormat(format);
  27. QGuiApplication app(argc, argv);
  28. app.setOrganizationName("Chaos Reins");
  29. app.setApplicationName("Articulate");
  30. QQmlApplicationEngine engine;
  31. QThread scanningThread;
  32. PictureThreadWrapper *wrapper = new PictureThreadWrapper();
  33. wrapper->moveToThread(&scanningThread);
  34. scanningThread.start();
  35. engine.rootContext()->setContextProperty("imageModel", PictureModel::instance());
  36. engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
  37. return app.exec();
  38. }