diff options
author | Zephyron <zephyron@citron-emu.org> | 2024-12-31 16:19:25 +1000 |
---|---|---|
committer | Zephyron <zephyron@citron-emu.org> | 2024-12-31 16:19:25 +1000 |
commit | 9427e27e24a7135880ee2881c3c44988e174b41a (patch) | |
tree | 83f0062a35be144f6b162eaa823c5b3c7620146e /src/citron/compatdb.h | |
parent | b35ae725d20960411e8588b11c12a2d55f86c9d0 (diff) |
chore: update project branding to citron
Diffstat (limited to 'src/citron/compatdb.h')
-rw-r--r-- | src/citron/compatdb.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/citron/compatdb.h b/src/citron/compatdb.h new file mode 100644 index 000000000..37e11278b --- /dev/null +++ b/src/citron/compatdb.h @@ -0,0 +1,43 @@ +// SPDX-FileCopyrightText: 2017 Citra Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include <memory> +#include <QFutureWatcher> +#include <QWizard> +#include "core/telemetry_session.h" + +namespace Ui { +class CompatDB; +} + +enum class CompatibilityStatus { + Perfect = 0, + Playable = 1, + // Unused: Okay = 2, + Ingame = 3, + IntroMenu = 4, + WontBoot = 5, +}; + +class CompatDB : public QWizard { + Q_OBJECT + +public: + explicit CompatDB(Core::TelemetrySession& telemetry_session_, QWidget* parent = nullptr); + ~CompatDB(); + int nextId() const override; + +private: + QFutureWatcher<bool> testcase_watcher; + + std::unique_ptr<Ui::CompatDB> ui; + + void Submit(); + CompatibilityStatus CalculateCompatibility() const; + void OnTestcaseSubmitted(); + void EnableNext(); + + Core::TelemetrySession& telemetry_session; +}; |