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