2023-08-18 23:27:29 -04:00
|
|
|
// SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com>
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QObject>
|
|
|
|
#include <QString>
|
2023-09-16 18:01:02 -04:00
|
|
|
#include <QtQml/qqmlregistration.h>
|
2023-08-18 23:27:29 -04:00
|
|
|
|
|
|
|
class LauncherCore;
|
|
|
|
|
|
|
|
class CompatibilityToolInstaller : public QObject
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
2023-09-16 18:01:02 -04:00
|
|
|
QML_ELEMENT
|
|
|
|
QML_UNCREATABLE("Use LauncherCore.createCompatInstaller")
|
|
|
|
|
2023-08-18 23:27:29 -04:00
|
|
|
public:
|
2023-09-16 21:26:46 -04:00
|
|
|
explicit CompatibilityToolInstaller(LauncherCore &launcher, QObject *parent = nullptr);
|
2023-08-18 23:27:29 -04:00
|
|
|
|
|
|
|
Q_INVOKABLE void installCompatibilityTool();
|
|
|
|
Q_INVOKABLE void removeCompatibilityTool();
|
|
|
|
|
|
|
|
Q_SIGNALS:
|
|
|
|
void installFinished();
|
|
|
|
void error(QString message);
|
|
|
|
|
|
|
|
private:
|
|
|
|
LauncherCore &m_launcher;
|
|
|
|
};
|