memorycardsettingswidget.h (1150B)
1 // SPDX-FileCopyrightText: 2019-2022 Connor McLaughlin <stenzek@gmail.com> 2 // SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0) 3 4 #pragma once 5 #include "core/types.h" 6 7 #include <QtWidgets/QComboBox> 8 #include <QtWidgets/QGroupBox> 9 #include <QtWidgets/QLineEdit> 10 #include <QtWidgets/QVBoxLayout> 11 #include <QtWidgets/QWidget> 12 #include <array> 13 #include <vector> 14 15 class SettingsWindow; 16 17 class MemoryCardSettingsWidget : public QWidget 18 { 19 Q_OBJECT 20 21 public: 22 MemoryCardSettingsWidget(SettingsWindow* dialog, QWidget* parent); 23 ~MemoryCardSettingsWidget(); 24 25 private: 26 SettingsWindow* m_dialog; 27 28 struct PortSettingsUI 29 { 30 QGroupBox* container; 31 QVBoxLayout* layout; 32 QComboBox* memory_card_type; 33 QLineEdit* memory_card_path; 34 }; 35 36 void createUi(SettingsWindow* dialog); 37 void createPortSettingsUi(SettingsWindow* dialog, int index, PortSettingsUI* ui); 38 void onBrowseMemoryCardPathClicked(int index); 39 void onResetMemoryCardPathClicked(int index); 40 void onMemoryCardPathChanged(int index); 41 void updateMemoryCardPath(int index); 42 43 std::array<PortSettingsUI, 2> m_port_ui = {}; 44 QLineEdit* m_memory_card_directory = nullptr; 45 };