Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/src/duckstation-qt/advancedsettingswidget.h
4802 views
1
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <[email protected]>
2
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
3
4
#pragma once
5
#include <QtCore/QVector>
6
#include <QtWidgets/QWidget>
7
8
#include "ui_advancedsettingswidget.h"
9
10
class SettingsWindow;
11
12
class AdvancedSettingsWidget : public QWidget
13
{
14
Q_OBJECT
15
16
public:
17
explicit AdvancedSettingsWidget(SettingsWindow* dialog, QWidget* parent);
18
~AdvancedSettingsWidget();
19
20
Q_SIGNALS:
21
void onShowDebugOptionsChanged(bool enabled);
22
23
private:
24
struct TweakOption
25
{
26
enum class Type
27
{
28
Boolean,
29
IntRange
30
};
31
32
Type type;
33
QString description;
34
std::string key;
35
std::string section;
36
37
union
38
{
39
struct
40
{
41
bool default_value;
42
} boolean;
43
44
struct
45
{
46
int min_value;
47
int max_value;
48
int default_value;
49
} int_range;
50
};
51
};
52
53
void addTweakOptions();
54
void onResetToDefaultClicked();
55
56
void onLogChannelsButtonClicked();
57
void onAnyLogSinksChanged();
58
void onShowDebugOptionsStateChanged();
59
60
SettingsWindow* m_dialog;
61
62
Ui::AdvancedSettingsWidget m_ui;
63
64
QVector<TweakOption> m_tweak_options;
65
};
66
67