mirror of
https://github.com/dolphin-emu/dolphin
synced 2024-11-24 14:24:11 -05:00
c57be0efca
Similarly to the Progress widget (though without the separate object for each box, because each Leaderboard unit is just three text fields stacked vertically), AchievementLeaderboardWidget.UpdateData will now accept three options: destroy all and rebuild, update all, or update a set of rows. As part of this, AchievementManager::GetLeaderboardsInfo has been refactored to GetLeaderboardInfo to return a single leaderboard for the ID passed in.
30 lines
729 B
C++
30 lines
729 B
C++
// Copyright 2023 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#ifdef USE_RETRO_ACHIEVEMENTS
|
|
#include <QWidget>
|
|
|
|
#include "Core/AchievementManager.h"
|
|
|
|
class QGroupBox;
|
|
class QGridLayout;
|
|
|
|
class AchievementLeaderboardWidget final : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit AchievementLeaderboardWidget(QWidget* parent);
|
|
void UpdateData(bool clean_all);
|
|
void UpdateData(const std::set<AchievementManager::AchievementId>& update_ids);
|
|
void UpdateRow(AchievementManager::AchievementId leaderboard_id);
|
|
|
|
private:
|
|
QGroupBox* m_common_box;
|
|
QGridLayout* m_common_layout;
|
|
std::map<AchievementManager::AchievementId, int> m_leaderboard_order;
|
|
};
|
|
|
|
#endif // USE_RETRO_ACHIEVEMENTS
|