dolphin/Source/Core/DolphinQt/Config/NewPatchDialog.h

51 lines
945 B
C++

// Copyright 2018 Dolphin Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include <memory>
#include <vector>
#include <QDialog>
#include <QWidget>
namespace PatchEngine
{
struct Patch;
struct PatchEntry;
} // namespace PatchEngine
class QDialogButtonBox;
class QGroupBox;
class QLineEdit;
class QVBoxLayout;
class QPushButton;
struct NewPatchEntry;
class NewPatchDialog : public QDialog
{
public:
explicit NewPatchDialog(QWidget* parent, PatchEngine::Patch& patch);
~NewPatchDialog() override;
private:
void CreateWidgets();
void ConnectWidgets();
void AddEntry();
void accept() override;
QGroupBox* CreateEntry(const PatchEngine::PatchEntry& entry);
QLineEdit* m_name_edit;
QWidget* m_entry_widget;
QVBoxLayout* m_entry_layout;
QPushButton* m_add_button;
QDialogButtonBox* m_button_box;
std::vector<std::unique_ptr<NewPatchEntry>> m_entries;
PatchEngine::Patch& m_patch;
};