summaryrefslogtreecommitdiffstats
path: root/src/qmlapplication.h
blob: 866645100d98474df0160267094fc0da176a8e60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once

#include <coreservices.h>

#include <QApplication>
#include <QFileSystemWatcher>
#include <QQmlApplicationEngine>

namespace mixxx {
namespace qml {

class QmlApplication : public QObject {
    Q_OBJECT
  public:
    QmlApplication(
            QApplication* app,
            std::shared_ptr<CoreServices> pCoreServices);
    ~QmlApplication() override = default;

  public slots:
    void loadQml(const QString& path);

  private:
    std::shared_ptr<CoreServices> m_pCoreServices;

    QString m_mainFilePath;

    std::unique_ptr<QQmlApplicationEngine> m_pAppEngine;
    QFileSystemWatcher m_fileWatcher;
};

} // namespace qml
} // namespace mixxx