mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-05 12:26:33 +01:00
![LillyJadeKatrin](/assets/img/avatar_default.png)
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
|