You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

56 lines
1.7 KiB

// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include <QObject>
class GameListModel;
class MainWindowInterface : public QObject {
Q_OBJECT
Q_PROPERTY(bool firmwareGood READ firmwareGood WRITE setFirmwareGood NOTIFY firmwareGoodChanged FINAL)
Q_PROPERTY(QString firmwareTooltip READ firmwareTooltip WRITE setFirmwareTooltip NOTIFY
firmwareTooltipChanged FINAL)
Q_PROPERTY(QString firmwareDisplay READ firmwareDisplay WRITE setFirmwareDisplay NOTIFY
firmwareDisplayChanged FINAL)
public:
explicit MainWindowInterface(GameListModel* model, QObject* parent = nullptr);
Q_INVOKABLE void installFirmware();
Q_INVOKABLE void installFirmwareZip();
Q_INVOKABLE void verifyIntegrity();
Q_INVOKABLE void checkFirmwareDecryption();
Q_INVOKABLE void installDecryptionKeys();
bool firmwareGood() const;
void setFirmwareGood(bool newFirmwareGood);
QString firmwareTooltip() const;
void setFirmwareTooltip(const QString& newFirmwareTooltip);
QString firmwareDisplay() const;
void setFirmwareDisplay(const QString& newFirmwareDisplay);
public slots:
void openRootDataFolder();
void openNANDFolder();
void openSDMCFolder();
void openModFolder();
void openLogFolder();
signals:
void firmwareGoodChanged(bool firmwareGood);
void firmwareTooltipChanged(QString firmwareTooltip);
void firmwareDisplayChanged(QString firmwareDisplay);
private:
GameListModel* m_gameList;
void setFirmwareVersion();
bool m_firmwareGood = false;
QString m_firmwareDisplay{};
QString m_firmwareTooltip{};
};