summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Achievements/AchievementsWindow.h
blob: 6287821218bc2bd017ef62165489b3d4b214a044 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright 2023 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#ifdef USE_RETRO_ACHIEVEMENTS
#include <QDialog>

#include "Common/HookableEvent.h"
#include "Core/AchievementManager.h"

class AchievementHeaderWidget;
class AchievementLeaderboardWidget;
class AchievementSettingsWidget;
class AchievementProgressWidget;
class QDialogButtonBox;
class QTabWidget;
class UpdateCallback;

class AchievementsWindow : public QDialog
{
  Q_OBJECT
public:
  explicit AchievementsWindow(QWidget* parent);
  void UpdateData(const AchievementManager::UpdatedItems& updated_items);
  void ForceSettingsTab();

private:
  void CreateMainLayout();
  void showEvent(QShowEvent* event) override;
  void ConnectWidgets();

  AchievementHeaderWidget* m_header_widget;
  QTabWidget* m_tab_widget;
  AchievementSettingsWidget* m_settings_widget;
  AchievementProgressWidget* m_progress_widget;
  AchievementLeaderboardWidget* m_leaderboard_widget;
  QDialogButtonBox* m_button_box;

  Common::EventHook m_event_hook;
};

#endif  // USE_RETRO_ACHIEVEMENTS