2023-06-03 01:25:01 +00:00
|
|
|
// Copyright 2023 Dolphin Emulator Project
|
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#ifdef USE_RETRO_ACHIEVEMENTS
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
#include "Common/CommonTypes.h"
|
2024-03-10 02:34:20 +00:00
|
|
|
#include "Core/AchievementManager.h"
|
2023-06-03 01:25:01 +00:00
|
|
|
|
2024-03-10 02:34:20 +00:00
|
|
|
class AchievementBox;
|
2023-06-03 01:25:01 +00:00
|
|
|
class QCheckBox;
|
|
|
|
class QGroupBox;
|
|
|
|
class QLineEdit;
|
|
|
|
class QPushButton;
|
|
|
|
class QVBoxLayout;
|
|
|
|
|
|
|
|
struct rc_api_achievement_definition_t;
|
|
|
|
|
|
|
|
class AchievementProgressWidget final : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit AchievementProgressWidget(QWidget* parent);
|
2024-03-10 02:34:20 +00:00
|
|
|
void UpdateData(bool clean_all);
|
|
|
|
void UpdateData(const std::set<AchievementManager::AchievementId>& update_ids);
|
2023-06-03 01:25:01 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
QGroupBox* m_common_box;
|
|
|
|
QVBoxLayout* m_common_layout;
|
2024-03-10 02:34:20 +00:00
|
|
|
std::map<AchievementManager::AchievementId, std::shared_ptr<AchievementBox>> m_achievement_boxes;
|
2023-06-03 01:25:01 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // USE_RETRO_ACHIEVEMENTS
|