main.cpp 1.1 KB

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