2017-05-04 06:19:51 +02:00
|
|
|
// Copyright 2017 Dolphin Emulator Project
|
2021-07-05 03:22:19 +02:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2017-05-04 06:19:51 +02:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
2023-11-28 07:06:08 +01:00
|
|
|
class ConfigBool;
|
2017-05-04 06:19:51 +02:00
|
|
|
class QCheckBox;
|
|
|
|
class QComboBox;
|
|
|
|
class QLabel;
|
|
|
|
class QPushButton;
|
2017-05-05 12:38:59 +02:00
|
|
|
class QRadioButton;
|
2017-05-04 06:19:51 +02:00
|
|
|
class QSlider;
|
|
|
|
class QVBoxLayout;
|
2024-05-18 21:47:22 +02:00
|
|
|
class ToolTipCheckBox;
|
2024-04-23 05:38:04 +02:00
|
|
|
class ToolTipComboBox;
|
2024-04-26 08:10:38 +02:00
|
|
|
class ToolTipPushButton;
|
2017-05-04 06:19:51 +02:00
|
|
|
|
2018-04-21 22:09:46 +02:00
|
|
|
namespace Core
|
|
|
|
{
|
|
|
|
enum class State;
|
|
|
|
}
|
|
|
|
|
2017-05-04 06:19:51 +02:00
|
|
|
class GeneralPane final : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit GeneralPane(QWidget* parent = nullptr);
|
|
|
|
|
|
|
|
private:
|
|
|
|
void CreateLayout();
|
|
|
|
void ConnectLayout();
|
|
|
|
void CreateBasic();
|
2018-03-22 12:20:15 +01:00
|
|
|
void CreateAutoUpdate();
|
2020-11-28 21:09:37 +01:00
|
|
|
void CreateFallbackRegion();
|
2023-11-28 07:06:08 +01:00
|
|
|
void AddDescriptions();
|
2017-05-04 06:19:51 +02:00
|
|
|
|
|
|
|
void LoadConfig();
|
|
|
|
void OnSaveConfig();
|
2018-04-21 22:09:46 +02:00
|
|
|
void OnEmulationStateChanged(Core::State state);
|
2017-05-04 06:19:51 +02:00
|
|
|
|
|
|
|
// Widgets
|
|
|
|
QVBoxLayout* m_main_layout;
|
2024-04-23 05:38:04 +02:00
|
|
|
ToolTipComboBox* m_combobox_speedlimit;
|
2024-04-26 05:32:16 +02:00
|
|
|
ToolTipComboBox* m_combobox_update_track;
|
2024-04-26 05:52:07 +02:00
|
|
|
ToolTipComboBox* m_combobox_fallback_region;
|
2023-11-28 07:06:08 +01:00
|
|
|
ConfigBool* m_checkbox_dualcore;
|
2023-11-28 07:47:28 +01:00
|
|
|
ConfigBool* m_checkbox_cheats;
|
2023-11-28 08:17:46 +01:00
|
|
|
ConfigBool* m_checkbox_override_region_settings;
|
2023-11-28 20:19:09 +01:00
|
|
|
ConfigBool* m_checkbox_auto_disc_change;
|
2018-06-01 04:54:15 +02:00
|
|
|
#ifdef USE_DISCORD_PRESENCE
|
2024-05-18 21:47:22 +02:00
|
|
|
ToolTipCheckBox* m_checkbox_discord_presence;
|
2018-06-01 04:54:15 +02:00
|
|
|
#endif
|
2017-05-04 06:19:51 +02:00
|
|
|
|
|
|
|
// Analytics related
|
|
|
|
#if defined(USE_ANALYTICS) && USE_ANALYTICS
|
|
|
|
void CreateAnalytics();
|
|
|
|
void GenerateNewIdentity();
|
|
|
|
|
2024-04-26 08:10:38 +02:00
|
|
|
ToolTipPushButton* m_button_generate_new_identity;
|
2024-04-26 08:08:51 +02:00
|
|
|
ToolTipCheckBox* m_checkbox_enable_analytics;
|
2017-05-04 06:19:51 +02:00
|
|
|
#endif
|
|
|
|
};
|