// Copyright 2018 Dolphin Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include 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> m_entries; PatchEngine::Patch& m_patch; };