Duckstation/src/duckstation-qt/advancedsettingswidget.h
Stenzek ac825855f7
Qt: Change settings dialogs to widgets/windows
Stops them breaking in Qt 6.6.
2023-11-06 23:17:58 +10:00

59 lines
1,002 B
C++

// SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#pragma once
#include <QtCore/QVector>
#include <QtWidgets/QWidget>
#include "ui_advancedsettingswidget.h"
class SettingsWindow;
class AdvancedSettingsWidget : public QWidget
{
Q_OBJECT
public:
explicit AdvancedSettingsWidget(SettingsWindow* dialog, QWidget* parent);
~AdvancedSettingsWidget();
private:
struct TweakOption
{
enum class Type
{
Boolean,
IntRange
};
Type type;
QString description;
std::string key;
std::string section;
union
{
struct
{
bool default_value;
} boolean;
struct
{
int min_value;
int max_value;
int default_value;
} int_range;
};
};
SettingsWindow* m_dialog;
Ui::AdvancedSettingsWidget m_ui;
QVector<TweakOption> m_tweak_options;
void addTweakOptions();
void onResetToDefaultClicked();
};