diff --git a/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.cpp b/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.cpp index 29f53bb28a..ea8f8ea92c 100644 --- a/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.cpp +++ b/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.cpp @@ -396,7 +396,7 @@ void GlobalSettings::connect_row_with_download(const std::string& resource_slug, GlobalSettings_Descriptor::GlobalSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "", "Global Settings", "Global Settings", @@ -406,9 +406,8 @@ GlobalSettings_Descriptor::GlobalSettings_Descriptor() {} -GlobalSettingsPanel::GlobalSettingsPanel(const GlobalSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GlobalSettings::instance()) +GlobalSettingsPanel::GlobalSettingsPanel() + : settings(GlobalSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.h b/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.h index 458404e388..0eee994631 100644 --- a/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.h +++ b/SerialPrograms/Source/CommonFramework/GlobalSettingsPanel.h @@ -16,7 +16,7 @@ //#include "Common/Cpp/Options/SimpleIntegerOption.h" #include "Common/Cpp/Options/StringOption.h" #include "Common/Cpp/Options/ButtonOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" #include "CommonFramework/Panels/PanelTools.h" #include "CommonFramework/ResourceDownload/SettingsResourceDownloadOptions.h" #include "CommonFramework/ResourceDownload/SettingsResourceDownloadTable.h" @@ -136,11 +136,11 @@ class GlobalSettings : public BatchOption, private ConfigOption::Listener, priva class GlobalSettingsPanel; -class GlobalSettings_Descriptor : public PanelDescriptor{ +class GlobalSettings_Descriptor : public OptionsPanelDescriptor{ public: GlobalSettings_Descriptor(); public: - using Wrapper = PanelDescriptorWrapper; + using Wrapper = OptionsPanelWrapper; static Wrapper& instance(){ static Wrapper wrapper; return wrapper; @@ -148,9 +148,9 @@ class GlobalSettings_Descriptor : public PanelDescriptor{ }; -class GlobalSettingsPanel : public SettingsPanelInstance{ +class GlobalSettingsPanel : public OptionsPanelInstance{ public: - GlobalSettingsPanel(const GlobalSettings_Descriptor& descriptor); + GlobalSettingsPanel(); private: GlobalSettings& settings; }; diff --git a/SerialPrograms/Source/CommonFramework/Panels/OptionsPanel.cpp b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanel.cpp new file mode 100644 index 0000000000..91eb70bace --- /dev/null +++ b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanel.cpp @@ -0,0 +1,64 @@ +/* Options Panel + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#include "Common/Cpp/Json/JsonValue.h" +#include "OptionsPanel.h" +#include "OptionsPanelSession.h" + +namespace PokemonAutomation{ + + + +OptionsPanelDescriptor::OptionsPanelDescriptor( + Color color, + std::string identifier, + std::string category, std::string display_name, + std::string doc_link, + std::string description, + PanelDeprecation deprecation, + bool restore_defaults_button +) + : PanelDescriptor( + color, + std::move(identifier), + std::move(category), std::move(display_name), + std::move(doc_link), + std::move(description), + deprecation + ) + , m_restore_defaults_button(restore_defaults_button) +{} +std::unique_ptr OptionsPanelDescriptor::make_panel() const{ + return std::make_unique(*this); +} + + + + +OptionsPanelInstance::OptionsPanelInstance() + : m_options(LockMode::LOCK_WHILE_RUNNING) +{} + +void OptionsPanelInstance::add_option(ConfigOption& option, std::string serialization_string){ + m_options.add_option(option, std::move(serialization_string)); +} +JsonValue OptionsPanelInstance::to_json() const{ + return m_options.to_json(); +} +void OptionsPanelInstance::load_json(const JsonValue& json){ + m_options.load_json(json); +} +void OptionsPanelInstance::restore_defaults(){ + m_options.restore_defaults(); +} + + + + + + + +} diff --git a/SerialPrograms/Source/CommonFramework/Panels/OptionsPanel.h b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanel.h new file mode 100644 index 0000000000..96115e6a43 --- /dev/null +++ b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanel.h @@ -0,0 +1,94 @@ +/* Options Panel + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#ifndef PokemonAutomation_OptionsPanel_H +#define PokemonAutomation_OptionsPanel_H + +#include "Common/Cpp/Options/ConfigOption.h" +#include "Common/Cpp/Options/BatchOption.h" +#include "CommonFramework/Panels/PanelSession.h" + +namespace PokemonAutomation{ + + +class OptionsPanelInstance; + + + +class OptionsPanelDescriptor : public PanelDescriptor{ +public: + OptionsPanelDescriptor( + Color color, + std::string identifier, + std::string category, std::string display_name, + std::string doc_link, + std::string description, + PanelDeprecation deprecation = PanelDeprecation::NOT_DEPRECATED, + bool restore_defaults_button = true + ); + + bool restore_defaults_button() const{ return m_restore_defaults_button; } + + virtual std::unique_ptr make_panel() const override; + virtual std::unique_ptr make_instance() const = 0; + + +private: + const bool m_restore_defaults_button; +}; + + + +class OptionsPanelInstance{ +public: + virtual ~OptionsPanelInstance() = default; + OptionsPanelInstance(const OptionsPanelInstance&) = delete; + void operator=(const OptionsPanelInstance&) = delete; + + +public: + OptionsPanelInstance(); + + +public: + // Serialization + virtual JsonValue to_json() const; + virtual void load_json(const JsonValue& json); + + virtual void restore_defaults(); + + +protected: + friend class OptionsPanelSession; + + BatchOption m_options; + void add_option(ConfigOption& option, std::string serialization_string); +}; + + + + +template +class OptionsPanelWrapper : public Descriptor{ +public: + virtual std::unique_ptr make_instance() const override{ + return std::make_unique(); + } +}; + + +template +std::unique_ptr make_OptionsPanel(){ + return std::make_unique>(); +} + + + + +} +#endif + + diff --git a/SerialPrograms/Source/CommonFramework/Panels/OptionsPanelSession.cpp b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanelSession.cpp new file mode 100644 index 0000000000..082b55bf8d --- /dev/null +++ b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanelSession.cpp @@ -0,0 +1,40 @@ +/* Options Panel Session + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#include "Common/Cpp/EarlyShutdown.h" +#include "Common/Cpp/Logging/GlobalLogger.h" +#include "Common/Cpp/Json/JsonValue.h" +#include "Common/Cpp/Json/JsonObject.h" +#include "OptionsPanelSession.h" + +namespace PokemonAutomation{ + + + +OptionsPanelSession::OptionsPanelSession(const OptionsPanelDescriptor& descriptor) + : UiState(descriptor) + , m_descriptor(descriptor) + , m_instance(descriptor.make_instance()) +{} + +ConfigOption& OptionsPanelSession::options(){ + return m_instance->m_options; +} +void OptionsPanelSession::restore_defaults(){ + m_instance->restore_defaults(); +} + + +JsonValue OptionsPanelSession::to_json() const{ + return m_instance->to_json(); +} +void OptionsPanelSession::load_json(const JsonValue& json){ + m_instance->load_json(json); +} + + + +} diff --git a/SerialPrograms/Source/CommonFramework/Panels/OptionsPanelSession.h b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanelSession.h new file mode 100644 index 0000000000..f6ef647459 --- /dev/null +++ b/SerialPrograms/Source/CommonFramework/Panels/OptionsPanelSession.h @@ -0,0 +1,44 @@ +/* Options Panel Session + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#ifndef PokemonAutomation_OptionsPanelSession_H +#define PokemonAutomation_OptionsPanelSession_H + +#include "CommonFramework/Panels/PanelSession.h" +#include "OptionsPanel.h" + +namespace PokemonAutomation{ + + + +class OptionsPanelSession final : public UiState{ +public: + OptionsPanelSession(const OptionsPanelDescriptor& descriptor); + + void restore_defaults(); + + +public: + const OptionsPanelDescriptor& descriptor() const{ return m_descriptor; } + + ConfigOption& options(); + + +private: + virtual JsonValue to_json() const override; + virtual void load_json(const JsonValue& json) override; + + +private: + const OptionsPanelDescriptor& m_descriptor; + + std::unique_ptr m_instance; +}; + + + +} +#endif diff --git a/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.cpp b/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.cpp index a388c3583c..71c3698a43 100644 --- a/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.cpp +++ b/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.cpp @@ -16,6 +16,7 @@ PanelDescriptor::PanelDescriptor( std::string category, std::string display_name, std::string doc_link, std::string description, + PanelDeprecation deprecation, std::vector required_resources ) : m_color(color) @@ -24,6 +25,7 @@ PanelDescriptor::PanelDescriptor( , m_display_name(std::move(display_name)) , m_doc_link(std::move(doc_link)) , m_description(std::move(description)) + , m_deprecation(deprecation) , m_required_resources(std::move(required_resources)) {} std::unique_ptr PanelDescriptor::make_panel() const{ diff --git a/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.h b/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.h index c5f2f3af2a..6e7603bf51 100644 --- a/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.h +++ b/SerialPrograms/Source/CommonFramework/Panels/PanelDescriptor.h @@ -16,6 +16,13 @@ namespace PokemonAutomation{ class PanelSession; + +enum class PanelDeprecation{ + NOT_DEPRECATED, + DEPRECATED, +}; + + // Abstract base class that sets the interface for program descriptors. // A program descriptor contains various information (descriptions) of a program panel UI. // It can also use function `make_panel()` to create the corresponding panel. @@ -27,6 +34,7 @@ class PanelDescriptor{ std::string category, std::string display_name, std::string doc_link, std::string description, + PanelDeprecation deprecation = PanelDeprecation::NOT_DEPRECATED, std::vector required_resources = {} ); virtual ~PanelDescriptor() = default; @@ -37,6 +45,7 @@ class PanelDescriptor{ const std::string& display_name() const{ return m_display_name; } const std::string& doc_link() const{ return m_doc_link; } const std::string& description() const{ return m_description; } + PanelDeprecation deprecation() const{ return m_deprecation; } const std::vector& required_resources() const{ return m_required_resources; } virtual std::unique_ptr make_panel() const = 0; @@ -48,6 +57,7 @@ class PanelDescriptor{ const std::string m_display_name; const std::string m_doc_link; const std::string m_description; + const PanelDeprecation m_deprecation; const std::vector m_required_resources; }; diff --git a/SerialPrograms/Source/CommonFramework/Panels/PanelTools.h b/SerialPrograms/Source/CommonFramework/Panels/PanelTools.h index bde50ad252..9b58fd40eb 100644 --- a/SerialPrograms/Source/CommonFramework/Panels/PanelTools.h +++ b/SerialPrograms/Source/CommonFramework/Panels/PanelTools.h @@ -95,12 +95,6 @@ template std::unique_ptr make_panel(){ return std::make_unique>(); } -template -std::unique_ptr make_settings(){ - auto ret = std::make_unique>(); - ret->make_panel()->load_json(); - return ret; -} diff --git a/SerialPrograms/Source/CommonFramework/Panels/SettingsPanel.cpp b/SerialPrograms/Source/CommonFramework/Panels/SettingsPanel.cpp deleted file mode 100644 index a2430cff0b..0000000000 --- a/SerialPrograms/Source/CommonFramework/Panels/SettingsPanel.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* Settings Panel - * - * From: https://github.com/PokemonAutomation/ - * - */ - -#include "Common/Cpp/Json/JsonValue.h" -#include "SettingsPanel.h" - - -namespace PokemonAutomation{ - - -SettingsPanelInstance::SettingsPanelInstance(const PanelDescriptor& descriptor) - : UiState(descriptor) - , m_options(LockMode::LOCK_WHILE_RUNNING) -{} - -JsonValue SettingsPanelInstance::to_json() const{ - return m_options.to_json(); -} -void SettingsPanelInstance::load_json(const JsonValue& json){ - m_options.load_json(json); -} - - - - - - - -} diff --git a/SerialPrograms/Source/CommonFramework/Panels/SettingsPanel.h b/SerialPrograms/Source/CommonFramework/Panels/SettingsPanel.h deleted file mode 100644 index 1a1977d33d..0000000000 --- a/SerialPrograms/Source/CommonFramework/Panels/SettingsPanel.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Settings Panel - * - * From: https://github.com/PokemonAutomation/ - * - */ - -#ifndef PokemonAutomation_SettingsPanel_H -#define PokemonAutomation_SettingsPanel_H - -#include "Common/Cpp/Options/ConfigOption.h" -#include "Common/Cpp/Options/BatchOption.h" -#include "CommonFramework/Panels/PanelSession.h" - -namespace PokemonAutomation{ - - - -class SettingsPanelInstance : public UiState{ -public: - SettingsPanelInstance(const PanelDescriptor& descriptor); - - void add_option(ConfigOption& option, std::string serialization_string){ - m_options.add_option(option, std::move(serialization_string)); - } - -public: - // Serialization - virtual JsonValue to_json() const override; - virtual void load_json(const JsonValue& json) override; - -protected: - friend class SettingsPanelWidget; - BatchOption m_options; -}; - - - - -} -#endif - - diff --git a/SerialPrograms/Source/CommonFramework/Panels/UI/OptionsPanelWidget.cpp b/SerialPrograms/Source/CommonFramework/Panels/UI/OptionsPanelWidget.cpp new file mode 100644 index 0000000000..58a4ff623d --- /dev/null +++ b/SerialPrograms/Source/CommonFramework/Panels/UI/OptionsPanelWidget.cpp @@ -0,0 +1,92 @@ +/* Options Panel Widget + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#include +#include +#include +#include "Common/Qt/CollapsibleGroupBox.h" +#include "Common/Qt/Options/ConfigWidget.h" +#include "CommonFramework/Panels/UI/PanelElements.h" +#include "OptionsPanelWidget.h" + +namespace PokemonAutomation{ + +template class RegisterUiStateQtWidget; + + + + +OptionsPanelWidget::OptionsPanelWidget( + QWidget& parent, + OptionsPanelSession& session +) + : QWidget(&parent) + , m_session(session) +{ + m_layout = new QVBoxLayout(this); + m_layout->setContentsMargins(0, 0, 0, 0); + + const OptionsPanelDescriptor& descriptor = session.descriptor(); + + CollapsibleGroupBox* header = make_panel_header( + *this, + descriptor.display_name(), + descriptor.doc_link(), + descriptor.description() + ); + m_layout->addWidget(header); + + { + QScrollArea* scroll_outer = new QScrollArea(this); + m_layout->addWidget(scroll_outer); + scroll_outer->setWidgetResizable(true); + + QWidget* scroll_inner = new QWidget(scroll_outer); + scroll_outer->setWidget(scroll_inner); + QVBoxLayout* scroll_layout = new QVBoxLayout(scroll_inner); + scroll_layout->setAlignment(Qt::AlignTop); + + m_options = ConfigWidget::make_from_option(session.options(), this); + scroll_layout->addWidget(&m_options->widget()); + + scroll_layout->addStretch(1); + } + + if (session.descriptor().restore_defaults_button()){ + QGroupBox* actions_widget = new QGroupBox("Actions", &parent); + + QHBoxLayout* action_layout = new QHBoxLayout(actions_widget); +// action_layout->setContentsMargins(0, 0, 0, 0); + QPushButton* default_button = new QPushButton("Restore Defaults", actions_widget); + { + action_layout->addWidget(default_button, 1); + QFont font = default_button->font(); + font.setPointSize(16); + default_button->setFont(font); + } + + connect( + default_button, &QPushButton::clicked, + this, [this](bool){ + QMessageBox::StandardButton button = QMessageBox::question( + nullptr, + "Restore Defaults", + "Are you sure you wish to restore settings back to defaults? This will wipe the current settings.", + QMessageBox::Ok | QMessageBox::Cancel + ); + if (button == QMessageBox::Ok){ + m_session.restore_defaults(); + } + } + ); + m_layout->addWidget(actions_widget); + } +} + + + + +} diff --git a/SerialPrograms/Source/CommonFramework/Panels/UI/OptionsPanelWidget.h b/SerialPrograms/Source/CommonFramework/Panels/UI/OptionsPanelWidget.h new file mode 100644 index 0000000000..a83ca2f6cc --- /dev/null +++ b/SerialPrograms/Source/CommonFramework/Panels/UI/OptionsPanelWidget.h @@ -0,0 +1,43 @@ +/* Options Panel Widget + * + * From: https://github.com/PokemonAutomation/ + * + */ + +#ifndef PokemonAutomation_OptionsPanelWidget_H +#define PokemonAutomation_OptionsPanelWidget_H + +#include +#include +#include "Common/Qt/UiStateQtWidget.h" +#include "CommonFramework/Panels/OptionsPanel.h" +#include "CommonFramework/Panels/OptionsPanelSession.h" + +class QPushButton; + +namespace PokemonAutomation{ + +class BatchWidget; + + +class OptionsPanelWidget final : public QWidget, public UiComponentQtWidget{ +public: + using ParentState = OptionsPanelSession; + +public: + OptionsPanelWidget(QWidget& parent, OptionsPanelSession& session); + + virtual QWidget& widget() override{ + return *this; + } + +private: + OptionsPanelSession& m_session; + QVBoxLayout* m_layout; + ConfigWidget* m_options; +}; + + + +} +#endif diff --git a/SerialPrograms/Source/CommonFramework/Panels/UI/SettingsPanelWidget.cpp b/SerialPrograms/Source/CommonFramework/Panels/UI/SettingsPanelWidget.cpp deleted file mode 100644 index f21bddb79d..0000000000 --- a/SerialPrograms/Source/CommonFramework/Panels/UI/SettingsPanelWidget.cpp +++ /dev/null @@ -1,92 +0,0 @@ -/* Settings Panel - * - * From: https://github.com/PokemonAutomation/ - * - */ - -#include -#include -#include -#include -#include -#include "Common/Qt/CollapsibleGroupBox.h" -#include "Common/Qt/Options/BatchWidget.h" -#include "SettingsPanelWidget.h" - -namespace PokemonAutomation{ - - -template class RegisterUiStateQtWidget; - - - - -SettingsPanelWidget::SettingsPanelWidget( - QWidget& parent, - SettingsPanelInstance& session -) - : PanelWidget(parent, session) -{ - QVBoxLayout* layout = new QVBoxLayout(this); - layout->setContentsMargins(0, 0, 0, 0); - layout->addWidget(make_header()); - - QScrollArea* scroll = new QScrollArea(this); - layout->addWidget(scroll); - scroll->setWidgetResizable(true); - - scroll->setWidget(make_options(*scroll)); - layout->addWidget(make_actions(*this)); -} -QWidget* SettingsPanelWidget::make_options(QWidget& parent){ - QWidget* options_widget = new QWidget(&parent); - (new QVBoxLayout(&parent))->addWidget(options_widget); - - QVBoxLayout* options_layout = new QVBoxLayout(options_widget); - options_layout->setAlignment(Qt::AlignTop); - - SettingsPanelInstance& instance = static_cast(m_session); - m_options = static_cast(ConfigWidget::make_from_option(instance.m_options, &parent)); - options_layout->addWidget(m_options); - options_layout->addStretch(); - - return options_widget; -} -QWidget* SettingsPanelWidget::make_actions(QWidget& parent){ - QGroupBox* actions_widget = new QGroupBox("Actions", &parent); - - QHBoxLayout* action_layout = new QHBoxLayout(actions_widget); -// action_layout->setContentsMargins(0, 0, 0, 0); - { - m_default_button = new QPushButton("Restore Defaults", actions_widget); - action_layout->addWidget(m_default_button, 1); - QFont font = m_default_button->font(); - font.setPointSize(16); - m_default_button->setFont(font); - } - - connect( - m_default_button, &QPushButton::clicked, - this, [this](bool){ - QMessageBox::StandardButton button = QMessageBox::question( - nullptr, - "Restore Defaults", - "Are you sure you wish to restore settings back to defaults? This will wipe the current settings.", - QMessageBox::Ok | QMessageBox::Cancel - ); - if (button == QMessageBox::Ok){ - restore_defaults(); - } - } - ); - - return actions_widget; -} - -void SettingsPanelWidget::restore_defaults(){ - m_options->option().restore_defaults(); -} - - - -} diff --git a/SerialPrograms/Source/CommonFramework/Panels/UI/SettingsPanelWidget.h b/SerialPrograms/Source/CommonFramework/Panels/UI/SettingsPanelWidget.h deleted file mode 100644 index 1dd9620087..0000000000 --- a/SerialPrograms/Source/CommonFramework/Panels/UI/SettingsPanelWidget.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Settings Panel - * - * From: https://github.com/PokemonAutomation/ - * - */ - -#ifndef PokemonAutomation_SettingsPanelWidget_H -#define PokemonAutomation_SettingsPanelWidget_H - -#include "PanelWidget.h" -#include "CommonFramework/Panels/SettingsPanel.h" - -class QPushButton; - -namespace PokemonAutomation{ - -class BatchWidget; - - -class SettingsPanelWidget final : public PanelWidget{ -public: - using ParentState = SettingsPanelInstance; - -public: - SettingsPanelWidget(QWidget& parent, SettingsPanelInstance& session); - - void restore_defaults(); - -private: - QWidget* make_options(QWidget& parent); - QWidget* make_actions(QWidget& parent); - -private: - friend class SettingsPanelInstance; - - BatchWidget* m_options; - QPushButton* m_default_button; -}; - - - -} -#endif diff --git a/SerialPrograms/Source/ComputerPrograms/ComputerProgram.cpp b/SerialPrograms/Source/ComputerPrograms/ComputerProgram.cpp index c6a0c81d33..35f7297d68 100644 --- a/SerialPrograms/Source/ComputerPrograms/ComputerProgram.cpp +++ b/SerialPrograms/Source/ComputerPrograms/ComputerProgram.cpp @@ -15,14 +15,16 @@ ComputerProgramDescriptor::ComputerProgramDescriptor( std::string identifier, std::string category, std::string display_name, std::string doc_link, - std::string description + std::string description, + PanelDeprecation deprecation ) : ProgramDescriptor( COLOR_DARKCYAN, std::move(identifier), std::move(category), std::move(display_name), std::move(doc_link), - std::move(description) + std::move(description), + deprecation ) {} std::unique_ptr ComputerProgramDescriptor::make_panel() const{ diff --git a/SerialPrograms/Source/ComputerPrograms/ComputerProgram.h b/SerialPrograms/Source/ComputerPrograms/ComputerProgram.h index 6c1f6dc10e..442eabe9ab 100644 --- a/SerialPrograms/Source/ComputerPrograms/ComputerProgram.h +++ b/SerialPrograms/Source/ComputerPrograms/ComputerProgram.h @@ -24,7 +24,8 @@ class ComputerProgramDescriptor : public ProgramDescriptor{ std::string identifier, std::string category, std::string display_name, std::string doc_link, - std::string description + std::string description, + PanelDeprecation deprecation = PanelDeprecation::NOT_DEPRECATED ); virtual std::unique_ptr make_panel() const override; diff --git a/SerialPrograms/Source/GameConsole/ConsolePanel.cpp b/SerialPrograms/Source/GameConsole/ConsolePanel.cpp index d1f60a83bc..f4169830f2 100644 --- a/SerialPrograms/Source/GameConsole/ConsolePanel.cpp +++ b/SerialPrograms/Source/GameConsole/ConsolePanel.cpp @@ -19,17 +19,19 @@ ConsolePanelDescriptor::ConsolePanelDescriptor( std::string category, std::string display_name, std::string doc_link, std::string description, - size_t num_controllers, - bool deprecated + PanelDeprecation deprecation, + bool restore_defaults_button, + size_t num_controllers ) : PanelDescriptor( color, std::move(identifier), std::move(category), std::move(display_name), std::move(doc_link), - std::move(description) + std::move(description), + deprecation ) - , m_deprecated(deprecated) + , m_restore_defaults_button(restore_defaults_button) , m_num_controllers(num_controllers) {} std::unique_ptr ConsolePanelDescriptor::make_panel() const{ diff --git a/SerialPrograms/Source/GameConsole/ConsolePanel.h b/SerialPrograms/Source/GameConsole/ConsolePanel.h index 752ee27edd..71ffac7b47 100644 --- a/SerialPrograms/Source/GameConsole/ConsolePanel.h +++ b/SerialPrograms/Source/GameConsole/ConsolePanel.h @@ -29,11 +29,12 @@ class ConsolePanelDescriptor : public PanelDescriptor{ std::string category, std::string display_name, std::string doc_link, std::string description, - size_t num_controllers = 1, - bool deprecated = false + PanelDeprecation deprecation = PanelDeprecation::NOT_DEPRECATED, + bool restore_defaults_button = true, + size_t num_controllers = 1 ); - bool deprecated() const{ return m_deprecated; } + bool restore_defaults_button() const{ return m_restore_defaults_button; } size_t num_controllers() const{ return m_num_controllers; } virtual std::unique_ptr make_panel() const override; @@ -41,7 +42,7 @@ class ConsolePanelDescriptor : public PanelDescriptor{ private: - const bool m_deprecated; + const bool m_restore_defaults_button; const size_t m_num_controllers; }; @@ -94,7 +95,6 @@ class ConsolePanelWrapper : public Descriptor{ } }; -// Create a program PanelDescriptor template std::unique_ptr make_ConsolePanel(){ return std::make_unique>(); diff --git a/SerialPrograms/Source/GameConsole/Panels/BoxDraw.cpp b/SerialPrograms/Source/GameConsole/Panels/BoxDraw.cpp index 688d2377d1..0498b6738f 100644 --- a/SerialPrograms/Source/GameConsole/Panels/BoxDraw.cpp +++ b/SerialPrograms/Source/GameConsole/Panels/BoxDraw.cpp @@ -22,7 +22,9 @@ BoxDraw_Descriptor::BoxDraw_Descriptor() "GameConsole:BoxDraw", "Game Console", "Box Draw", "", - "Test box coordinates for development." + "Test box coordinates for development.", + PanelDeprecation::NOT_DEPRECATED, + false ) {} diff --git a/SerialPrograms/Source/GameConsole/Panels/VirtualConsole.h b/SerialPrograms/Source/GameConsole/Panels/VirtualConsole.h index bb9feda140..406a71c429 100644 --- a/SerialPrograms/Source/GameConsole/Panels/VirtualConsole.h +++ b/SerialPrograms/Source/GameConsole/Panels/VirtualConsole.h @@ -24,6 +24,8 @@ class VirtualConsole_Descriptor : public ConsolePanelDescriptor{ "Virtual Console", "Programs/NintendoSwitch/VirtualConsole.html", "Play your console from your computer.", + PanelDeprecation::NOT_DEPRECATED, + false, 1 ) {} @@ -40,6 +42,8 @@ class MultiControllerTester_Descriptor : public ConsolePanelDescriptor{ "Multi-Controller Tester", "Programs/NintendoSwitch/VirtualConsole.html", "Test multiple controllers at once.", + PanelDeprecation::NOT_DEPRECATED, + false, 8 ) {} diff --git a/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.cpp b/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.cpp index c4c30d71d0..1708a0e928 100644 --- a/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.cpp +++ b/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.cpp @@ -4,6 +4,8 @@ * */ +#include +#include #include #include "Common/Qt/ShutdownWithEvents.h" #include "Common/Qt/Options/ConfigWidget.h" @@ -65,6 +67,36 @@ ConsolePanelWidget::ConsolePanelWidget( scroll_layout->addStretch(1); } + + if (session.descriptor().restore_defaults_button()){ + QGroupBox* actions_widget = new QGroupBox("Actions", &parent); + + QHBoxLayout* action_layout = new QHBoxLayout(actions_widget); +// action_layout->setContentsMargins(0, 0, 0, 0); + QPushButton* default_button = new QPushButton("Restore Defaults", actions_widget); + { + action_layout->addWidget(default_button, 1); + QFont font = default_button->font(); + font.setPointSize(16); + default_button->setFont(font); + } + + connect( + default_button, &QPushButton::clicked, + this, [this](bool){ + QMessageBox::StandardButton button = QMessageBox::question( + nullptr, + "Restore Defaults", + "Are you sure you wish to restore settings back to defaults? This will wipe the current settings.", + QMessageBox::Ok | QMessageBox::Cancel + ); + if (button == QMessageBox::Ok){ + m_session.restore_defaults(); + } + } + ); + m_layout->addWidget(actions_widget); + } } diff --git a/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.h b/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.h index 383b4924ae..8092ad0dd0 100644 --- a/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.h +++ b/SerialPrograms/Source/GameConsole/UI/ConsolePanelWidget.h @@ -10,7 +10,6 @@ #include #include #include "Common/Qt/UiStateQtWidget.h" -//#include "CommonFramework/Panels/UI/PanelElements.h" #include "GameConsole/ConsolePanel.h" #include "GameConsole/ConsolePanelSession.h" diff --git a/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_ControllerSettings.cpp b/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_ControllerSettings.cpp index 7f6cce8a24..fb0cd3e5ab 100644 --- a/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_ControllerSettings.cpp +++ b/SerialPrograms/Source/NintendoSwitch/Controllers/NintendoSwitch_ControllerSettings.cpp @@ -585,7 +585,7 @@ ControllerProfile ControllerSettingsTable::get_or_make_profile( // This is brutal (tech-debt). The only way to force the settings to save // is to load the panel. TODO: Redesign panels to allow external editing. // This is also coming in from a different thread (not the main Qt thread). - PanelDescriptorWrapper().make_panel()->save_settings(); + OptionsPanelWrapper().make_panel()->save_settings(); #endif return profile; diff --git a/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_MultiSwitchProgramWidget.cpp b/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_MultiSwitchProgramWidget.cpp index c0784508e5..6feab5f41b 100644 --- a/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_MultiSwitchProgramWidget.cpp +++ b/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_MultiSwitchProgramWidget.cpp @@ -61,7 +61,7 @@ MultiSwitchProgramWidget2::MultiSwitchProgramWidget2( ); m_layout->addWidget(header); - if (descriptor.deprecated()){ + if (descriptor.deprecation() == PanelDeprecation::DEPRECATED){ QMessageBox box; box.warning( nullptr, diff --git a/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_SingleSwitchProgramWidget.cpp b/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_SingleSwitchProgramWidget.cpp index 4686198728..d2ac92f43b 100644 --- a/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_SingleSwitchProgramWidget.cpp +++ b/SerialPrograms/Source/NintendoSwitch/Framework/UI/NintendoSwitch_SingleSwitchProgramWidget.cpp @@ -62,7 +62,7 @@ SingleSwitchProgramWidget2::SingleSwitchProgramWidget2( ); m_layout->addWidget(header); - if (descriptor.deprecated()){ + if (descriptor.deprecation() == PanelDeprecation::DEPRECATED){ QMessageBox box; box.warning( nullptr, diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.cpp b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.cpp index 3bf5b488eb..468b9fb307 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.cpp +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.cpp @@ -115,7 +115,7 @@ MultiSwitchProgramDescriptor::MultiSwitchProgramDescriptor( size_t min_switches, size_t max_switches, size_t default_switches, - bool deprecated, + PanelDeprecation deprecation, std::vector required_resources ) : ProgramDescriptor( @@ -124,12 +124,12 @@ MultiSwitchProgramDescriptor::MultiSwitchProgramDescriptor( std::move(category), std::move(display_name), std::move(doc_link), std::move(description), + deprecation, std::move(required_resources) ) , m_color_class(color_class) , m_feedback(feedback) , m_allow_commands_while_running(allow_commands_while_running == AllowCommandsWhenRunning::ENABLE_COMMANDS) - , m_deprecated(deprecated) , m_min_switches(min_switches) , m_max_switches(max_switches) , m_default_switches(default_switches) diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.h b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.h index a7724cfddc..2139c40fe2 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.h +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_MultiSwitchProgram.h @@ -81,14 +81,13 @@ class MultiSwitchProgramDescriptor : public ProgramDescriptor{ size_t min_switches, size_t max_switches, size_t default_switches, - bool deprecated = false, + PanelDeprecation deprecation = PanelDeprecation::NOT_DEPRECATED, std::vector required_resources = {} ); ProgramControllerClass color_class() const{ return m_color_class; } FeedbackType feedback() const{ return m_feedback; } bool allow_commands_while_running() const{ return m_allow_commands_while_running; } - bool deprecated() const{ return m_deprecated; } size_t min_switches() const{ return m_min_switches; } size_t max_switches() const{ return m_max_switches; } @@ -101,7 +100,6 @@ class MultiSwitchProgramDescriptor : public ProgramDescriptor{ const ProgramControllerClass m_color_class; const FeedbackType m_feedback; const bool m_allow_commands_while_running; - const bool m_deprecated; const size_t m_min_switches; const size_t m_max_switches; diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Panels.cpp b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Panels.cpp index 27cad6708b..15b355f9b6 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Panels.cpp +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Panels.cpp @@ -56,7 +56,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- Virtual Consoles ----"); ret.emplace_back(GameConsole::make_ConsolePanel()); diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Settings.h b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Settings.h index a7517f41fb..d10360b76c 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Settings.h +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_Settings.h @@ -11,7 +11,6 @@ #include "Common/Cpp/Options/StaticTextOption.h" #include "Common/Cpp/Options/BooleanCheckBoxOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -// #include "CommonFramework/Panels/SettingsPanel.h" #include "Options/NintendoSwitch_CodeEntrySettingsOption.h" #include "Controllers/NintendoSwitch_ControllerSettings.h" #include "Controllers/NintendoSwitch_KeyboardMapping.h" diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.cpp b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.cpp index 5c34a1db1a..d23a2cbf7f 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.cpp +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.cpp @@ -15,7 +15,7 @@ namespace NintendoSwitch{ ConsoleSettings_Descriptor::ConsoleSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "NintendoSwitch:GlobalSettings", "Nintendo Switch", "Framework Settings", @@ -24,9 +24,8 @@ ConsoleSettings_Descriptor::ConsoleSettings_Descriptor() ) {} -ConsoleSettingsPanel::ConsoleSettingsPanel(const ConsoleSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(ConsoleSettings::instance()) +ConsoleSettingsPanel::ConsoleSettingsPanel() + : settings(ConsoleSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.h b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.h index 4bc37018d2..e418443293 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.h +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SettingsPanel.h @@ -9,7 +9,7 @@ #include "NintendoSwitch_Settings.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ @@ -18,15 +18,15 @@ namespace NintendoSwitch{ -class ConsoleSettings_Descriptor : public PanelDescriptor{ +class ConsoleSettings_Descriptor : public OptionsPanelDescriptor{ public: ConsoleSettings_Descriptor(); }; -class ConsoleSettingsPanel : public SettingsPanelInstance{ +class ConsoleSettingsPanel : public OptionsPanelInstance{ public: - ConsoleSettingsPanel(const ConsoleSettings_Descriptor& descriptor); + ConsoleSettingsPanel(); private: ConsoleSettings& settings; }; diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.cpp b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.cpp index f15c4355b1..4471712c7a 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.cpp +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.cpp @@ -33,7 +33,7 @@ SingleSwitchProgramDescriptor::SingleSwitchProgramDescriptor( ProgramControllerClass color_class, FeedbackType feedback, AllowCommandsWhenRunning allow_commands_while_running, - bool deprecated, + PanelDeprecation deprecation, std::vector required_resources ) : ProgramDescriptor( @@ -42,12 +42,12 @@ SingleSwitchProgramDescriptor::SingleSwitchProgramDescriptor( std::move(category), std::move(display_name), std::move(doc_link), std::move(description), + deprecation, std::move(required_resources) ) , m_color_class(color_class) , m_feedback(feedback) , m_allow_commands_while_running(allow_commands_while_running == AllowCommandsWhenRunning::ENABLE_COMMANDS) - , m_deprecated(deprecated) {} std::unique_ptr SingleSwitchProgramDescriptor::make_panel() const{ return std::make_unique(*this); diff --git a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.h b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.h index db55b89c32..bd940a14de 100644 --- a/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.h +++ b/SerialPrograms/Source/NintendoSwitch/NintendoSwitch_SingleSwitchProgram.h @@ -62,14 +62,13 @@ class SingleSwitchProgramDescriptor : public ProgramDescriptor{ ProgramControllerClass color_class, FeedbackType feedback, AllowCommandsWhenRunning allow_commands_while_running, - bool deprecated = false, + PanelDeprecation deprecation = PanelDeprecation::NOT_DEPRECATED, std::vector required_resources = {} ); ProgramControllerClass color_class() const{ return m_color_class; } FeedbackType feedback() const{ return m_feedback; } bool allow_commands_while_running() const{ return m_allow_commands_while_running; } - bool deprecated() const{ return m_deprecated; } virtual std::unique_ptr make_panel() const override; virtual std::unique_ptr make_instance( @@ -80,7 +79,6 @@ class SingleSwitchProgramDescriptor : public ProgramDescriptor{ const ProgramControllerClass m_color_class; const FeedbackType m_feedback; const bool m_allow_commands_while_running; - const bool m_deprecated; const std::vector m_required_resources; }; diff --git a/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Panels.cpp b/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Panels.cpp index 42ccc6c3c1..c31d544717 100644 --- a/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Panels.cpp +++ b/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Panels.cpp @@ -63,7 +63,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- General ----"); ret.emplace_back(make_single_switch_program()); diff --git a/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.cpp b/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.cpp index 718f19a741..8dea7f049f 100644 --- a/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.cpp +++ b/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.cpp @@ -171,7 +171,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonBDSP:GlobalSettings", STRING_POKEMON + " BDSP", "Game Settings", @@ -182,9 +182,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.h b/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.h index d4b017c417..2ab020bbae 100644 --- a/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.h +++ b/SerialPrograms/Source/PokemonBDSP/PokemonBDSP_Settings.h @@ -10,7 +10,7 @@ #include "Common/Cpp/Options/StaticTextOption.h" #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -58,15 +58,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Panels.cpp b/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Panels.cpp index 4f1a54b2f8..d99a4de67b 100644 --- a/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Panels.cpp +++ b/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Panels.cpp @@ -53,7 +53,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- Farming ----"); ret.emplace_back(make_single_switch_program()); diff --git a/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.cpp b/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.cpp index c1f99edd8e..0712b50178 100644 --- a/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.cpp +++ b/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.cpp @@ -137,7 +137,7 @@ void GameSettings::on_config_value_changed(void* object){ GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonFRLG:GlobalSettings", STRING_POKEMON + " FRLG", "Game Settings", @@ -148,9 +148,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.h b/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.h index 0fad539b9c..7a2ddd4113 100644 --- a/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.h +++ b/SerialPrograms/Source/PokemonFRLG/PokemonFRLG_Settings.h @@ -12,7 +12,7 @@ #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" #include "CommonFramework/Options/BoxOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -54,15 +54,15 @@ class GameSettings : public BatchOption, private ConfigOption::Listener{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.cpp b/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.cpp index 8fcd28382e..3ee5aab264 100644 --- a/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.cpp +++ b/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.cpp @@ -29,7 +29,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonHome:GlobalSettings", STRING_POKEMON + " Home", STRING_POKEMON + " Settings", @@ -40,9 +40,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.h b/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.h index 094cec1ebb..a4d8fbb963 100644 --- a/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.h +++ b/SerialPrograms/Source/PokemonHome/PokemonHome_Settings.h @@ -7,7 +7,7 @@ #ifndef PokemonAutomation_PokemonHome_Settings_H #define PokemonAutomation_PokemonHome_Settings_H -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -24,15 +24,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonLA/PokemonLA_Panels.cpp b/SerialPrograms/Source/PokemonLA/PokemonLA_Panels.cpp index 2f80953909..c6d81ec982 100644 --- a/SerialPrograms/Source/PokemonLA/PokemonLA_Panels.cpp +++ b/SerialPrograms/Source/PokemonLA/PokemonLA_Panels.cpp @@ -65,7 +65,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- General ----"); ret.emplace_back(make_single_switch_program()); diff --git a/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.cpp b/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.cpp index c5618aa52c..6b9f42b84b 100644 --- a/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.cpp +++ b/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.cpp @@ -114,7 +114,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonLA:GlobalSettings", STRING_POKEMON + " LA", "Game Settings", @@ -125,9 +125,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.h b/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.h index d2daaf75a2..75cc2e209f 100644 --- a/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.h +++ b/SerialPrograms/Source/PokemonLA/PokemonLA_Settings.h @@ -10,7 +10,7 @@ #include "Common/Cpp/Options/StaticTextOption.h" #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -46,15 +46,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Panels.cpp b/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Panels.cpp index 5b833d792e..1993724683 100644 --- a/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Panels.cpp +++ b/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Panels.cpp @@ -33,7 +33,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- General ----"); ret.emplace_back(make_single_switch_program()); diff --git a/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.cpp b/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.cpp index f9bb779ba5..8bd58d1cb4 100644 --- a/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.cpp +++ b/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.cpp @@ -76,7 +76,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonLGPE:GlobalSettings", STRING_POKEMON + " LGPE", "Game Settings", @@ -87,9 +87,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.h b/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.h index d8b55acc47..2427b71ca9 100644 --- a/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.h +++ b/SerialPrograms/Source/PokemonLGPE/PokemonLGPE_Settings.h @@ -10,7 +10,7 @@ #include "Common/Cpp/Options/StaticTextOption.h" #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -40,15 +40,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonLZA/PokemonLZA_Panels.cpp b/SerialPrograms/Source/PokemonLZA/PokemonLZA_Panels.cpp index d8d72aea0d..46b6c0cda6 100644 --- a/SerialPrograms/Source/PokemonLZA/PokemonLZA_Panels.cpp +++ b/SerialPrograms/Source/PokemonLZA/PokemonLZA_Panels.cpp @@ -72,7 +72,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- General ----"); ret.emplace_back(make_single_switch_program()); diff --git a/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.cpp b/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.cpp index 23e3356165..2fe94cc0db 100644 --- a/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.cpp +++ b/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.cpp @@ -50,7 +50,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonLZA:GlobalSettings", STRING_POKEMON + " LZA", "Game Settings", @@ -61,9 +61,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.h b/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.h index de185e48be..c0d65f36b7 100644 --- a/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.h +++ b/SerialPrograms/Source/PokemonLZA/PokemonLZA_Settings.h @@ -8,9 +8,8 @@ #define PokemonAutomation_PokemonLZA_Settings_H #include "Common/Cpp/Options/StaticTextOption.h" -#include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -36,15 +35,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Panels.cpp b/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Panels.cpp index 422c460f55..28f6d5a5fd 100644 --- a/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Panels.cpp +++ b/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Panels.cpp @@ -32,7 +32,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); // ret.emplace_back("---- Farming ----"); diff --git a/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.cpp b/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.cpp index 95989e3b0d..de2f292bdd 100644 --- a/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.cpp +++ b/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.cpp @@ -34,7 +34,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonPokopia:GlobalSettings", STRING_POKEMON + " Pokopia", "Game Settings", @@ -45,9 +45,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.h b/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.h index 392302cfca..1013fd067f 100644 --- a/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.h +++ b/SerialPrograms/Source/PokemonPokopia/PokemonPokopia_Settings.h @@ -10,7 +10,7 @@ #include "Common/Cpp/Options/StaticTextOption.h" #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -32,15 +32,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonRSE/PokemonRSE_Panels.cpp b/SerialPrograms/Source/PokemonRSE/PokemonRSE_Panels.cpp index 095c48095c..4f4e9334d7 100644 --- a/SerialPrograms/Source/PokemonRSE/PokemonRSE_Panels.cpp +++ b/SerialPrograms/Source/PokemonRSE/PokemonRSE_Panels.cpp @@ -38,7 +38,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); //ret.emplace_back("---- General ----"); diff --git a/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.cpp b/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.cpp index 74ad32216d..a6a512311c 100644 --- a/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.cpp +++ b/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.cpp @@ -139,7 +139,7 @@ void GameSettings::on_config_value_changed(void* object){ GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonRSE:GlobalSettings", STRING_POKEMON + " RSE", "Game Settings", @@ -150,9 +150,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.h b/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.h index fc6086e0e7..ce78d70393 100644 --- a/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.h +++ b/SerialPrograms/Source/PokemonRSE/PokemonRSE_Settings.h @@ -12,7 +12,7 @@ #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" #include "CommonFramework/Options/BoxOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -53,15 +53,15 @@ class GameSettings : public BatchOption, private ConfigOption::Listener{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonSV/PokemonSV_Panels.cpp b/SerialPrograms/Source/PokemonSV/PokemonSV_Panels.cpp index a0832257cc..8b1cacd95e 100644 --- a/SerialPrograms/Source/PokemonSV/PokemonSV_Panels.cpp +++ b/SerialPrograms/Source/PokemonSV/PokemonSV_Panels.cpp @@ -87,7 +87,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- General ----"); ret.emplace_back(make_single_switch_program()); diff --git a/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.cpp b/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.cpp index d7cea5c984..d5d7015192 100644 --- a/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.cpp +++ b/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.cpp @@ -91,7 +91,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonSV:GlobalSettings", STRING_POKEMON + " SV", "Game Settings", @@ -102,9 +102,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.h b/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.h index 9a723004f0..e1e0815446 100644 --- a/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.h +++ b/SerialPrograms/Source/PokemonSV/PokemonSV_Settings.h @@ -10,7 +10,7 @@ #include "Common/Cpp/Options/StaticTextOption.h" #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -41,15 +41,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp index 7453e57dbe..9354d47d54 100644 --- a/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp +++ b/SerialPrograms/Source/PokemonSV/Programs/AutoStory/PokemonSV_AutoStory.cpp @@ -380,7 +380,7 @@ AutoStory_Descriptor::AutoStory_Descriptor() ProgramControllerClass::StandardController_RequiresPrecision, FeedbackType::VIDEO_AUDIO, AllowCommandsWhenRunning::DISABLE_COMMANDS, - false, + PanelDeprecation::NOT_DEPRECATED, { "PokemonSV/AreaZero", } diff --git a/SerialPrograms/Source/PokemonSV/Programs/Farming/PokemonSV_BBQSoloFarmer.cpp b/SerialPrograms/Source/PokemonSV/Programs/Farming/PokemonSV_BBQSoloFarmer.cpp index b988629210..93e7ab1ed4 100644 --- a/SerialPrograms/Source/PokemonSV/Programs/Farming/PokemonSV_BBQSoloFarmer.cpp +++ b/SerialPrograms/Source/PokemonSV/Programs/Farming/PokemonSV_BBQSoloFarmer.cpp @@ -37,7 +37,7 @@ BBQSoloFarmer_Descriptor::BBQSoloFarmer_Descriptor() ProgramControllerClass::StandardController_RequiresPrecision, FeedbackType::REQUIRED, AllowCommandsWhenRunning::DISABLE_COMMANDS, - false, + PanelDeprecation::NOT_DEPRECATED, { "Tesseract", } diff --git a/SerialPrograms/Source/PokemonSV/Programs/ItemPrinter/PokemonSV_AutoItemPrinter.cpp b/SerialPrograms/Source/PokemonSV/Programs/ItemPrinter/PokemonSV_AutoItemPrinter.cpp index 83cbba94f1..8828f9adb5 100644 --- a/SerialPrograms/Source/PokemonSV/Programs/ItemPrinter/PokemonSV_AutoItemPrinter.cpp +++ b/SerialPrograms/Source/PokemonSV/Programs/ItemPrinter/PokemonSV_AutoItemPrinter.cpp @@ -38,7 +38,7 @@ AutoItemPrinter_Descriptor::AutoItemPrinter_Descriptor() ProgramControllerClass::StandardController_NoRestrictions, FeedbackType::REQUIRED, AllowCommandsWhenRunning::DISABLE_COMMANDS, - true + PanelDeprecation::DEPRECATED ) {} struct AutoItemPrinter_Descriptor::Stats : public StatsTracker{ diff --git a/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Panels.cpp b/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Panels.cpp index bc0cfa9d13..9fc4faf204 100644 --- a/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Panels.cpp +++ b/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Panels.cpp @@ -100,7 +100,7 @@ std::vector PanelListFactory::make_panels() const{ std::vector ret; ret.emplace_back("---- Settings ----"); - ret.emplace_back(make_settings()); + ret.emplace_back(make_OptionsPanel()); ret.emplace_back("---- QoL Macros ----"); ret.emplace_back(make_single_switch_program()); diff --git a/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.cpp b/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.cpp index 0f7f201de3..b68cbfe350 100644 --- a/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.cpp +++ b/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.cpp @@ -282,7 +282,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "PokemonSwSh:GlobalSettings", STRING_POKEMON + " SwSh", "Game Settings", @@ -293,9 +293,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.h b/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.h index 8ee31e4315..1cf1e127f5 100644 --- a/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.h +++ b/SerialPrograms/Source/PokemonSwSh/PokemonSwSh_Settings.h @@ -11,7 +11,7 @@ #include "Common/Cpp/Options/BooleanCheckBoxOption.h" #include "Common/Cpp/Options/FloatingPointOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -84,15 +84,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/Source/StaticRegistrationQt.cpp b/SerialPrograms/Source/StaticRegistrationQt.cpp index 1f11345edb..2ea57f012d 100644 --- a/SerialPrograms/Source/StaticRegistrationQt.cpp +++ b/SerialPrograms/Source/StaticRegistrationQt.cpp @@ -36,7 +36,7 @@ #include "CommonFramework/Options/QtWidget/LabelCellWidget.h" #include "CommonFramework/Notifications/EventNotificationWidget.h" #include "CommonFramework/Panels/UI/PanelWidget.h" -#include "CommonFramework/Panels/UI/SettingsPanelWidget.h" +#include "CommonFramework/Panels/UI/OptionsPanelWidget.h" // Resource Download #include "CommonFramework/ResourceDownload/SettingsResourceDownloadWidget.h" @@ -120,7 +120,7 @@ void register_all_statics(){ RegisterUiStateQtWidget(); RegisterUiStateQtWidget(); RegisterUiStateQtWidget(); - RegisterUiStateQtWidget(); + RegisterUiStateQtWidget(); // Resource Download RegisterUiStateQtWidget(); diff --git a/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.cpp b/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.cpp index 0bd8e002a9..fc2259adb7 100644 --- a/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.cpp +++ b/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.cpp @@ -60,7 +60,7 @@ GameSettings::GameSettings() GameSettings_Descriptor::GameSettings_Descriptor() - : PanelDescriptor( + : OptionsPanelDescriptor( Color(), "ZeldaTotK:GlobalSettings", "Zelda: TotK", "Tears of the Kingdom Settings", @@ -71,9 +71,8 @@ GameSettings_Descriptor::GameSettings_Descriptor() -GameSettingsPanel::GameSettingsPanel(const GameSettings_Descriptor& descriptor) - : SettingsPanelInstance(descriptor) - , settings(GameSettings::instance()) +GameSettingsPanel::GameSettingsPanel() + : settings(GameSettings::instance()) { PA_ADD_OPTION(settings); } diff --git a/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.h b/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.h index 9386f2908b..7d50c76305 100644 --- a/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.h +++ b/SerialPrograms/Source/ZeldaTotK/ZeldaTotK_Settings.h @@ -9,7 +9,7 @@ #include "Common/Cpp/Options/StaticTextOption.h" #include "Common/Cpp/Options/TimeDurationOption.h" -#include "CommonFramework/Panels/SettingsPanel.h" +#include "CommonFramework/Panels/OptionsPanel.h" namespace PokemonAutomation{ namespace NintendoSwitch{ @@ -35,15 +35,15 @@ class GameSettings : public BatchOption{ -class GameSettings_Descriptor : public PanelDescriptor{ +class GameSettings_Descriptor : public OptionsPanelDescriptor{ public: GameSettings_Descriptor(); }; -class GameSettingsPanel : public SettingsPanelInstance{ +class GameSettingsPanel : public OptionsPanelInstance{ public: - GameSettingsPanel(const GameSettings_Descriptor& descriptor); + GameSettingsPanel(); private: GameSettings& settings; }; diff --git a/SerialPrograms/cmake/SourceFiles.cmake b/SerialPrograms/cmake/SourceFiles.cmake index b5d541f973..e6074b515c 100644 --- a/SerialPrograms/cmake/SourceFiles.cmake +++ b/SerialPrograms/cmake/SourceFiles.cmake @@ -610,16 +610,18 @@ file(GLOB LIBRARY_SOURCES Source/CommonFramework/Panels/PanelTools.h Source/CommonFramework/Panels/ProgramDescriptor.cpp Source/CommonFramework/Panels/ProgramDescriptor.h - Source/CommonFramework/Panels/SettingsPanel.cpp - Source/CommonFramework/Panels/SettingsPanel.h + Source/CommonFramework/Panels/OptionsPanel.cpp + Source/CommonFramework/Panels/OptionsPanel.h + Source/CommonFramework/Panels/OptionsPanelSession.cpp + Source/CommonFramework/Panels/OptionsPanelSession.h + Source/CommonFramework/Panels/UI/OptionsPanelWidget.cpp + Source/CommonFramework/Panels/UI/OptionsPanelWidget.h Source/CommonFramework/Panels/UI/PanelElements.cpp Source/CommonFramework/Panels/UI/PanelElements.h Source/CommonFramework/Panels/UI/PanelListWidget.cpp Source/CommonFramework/Panels/UI/PanelListWidget.h Source/CommonFramework/Panels/UI/PanelWidget.cpp Source/CommonFramework/Panels/UI/PanelWidget.h - Source/CommonFramework/Panels/UI/SettingsPanelWidget.cpp - Source/CommonFramework/Panels/UI/SettingsPanelWidget.h Source/CommonFramework/PersistentSettings.cpp Source/CommonFramework/PersistentSettings.h Source/CommonFramework/ProgramSession.cpp