forked from dolphin-emu/dolphin
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright 2018 Dolphin Emulator Project
 | |
| // Licensed under GPLv2+
 | |
| // Refer to the license.txt file included.
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <array>
 | |
| #include <memory>
 | |
| #include <utility>
 | |
| #include <vector>
 | |
| 
 | |
| #include <QDialog>
 | |
| 
 | |
| class GCMemcard;
 | |
| 
 | |
| class QDialogButtonBox;
 | |
| class QGroupBox;
 | |
| class QLabel;
 | |
| class QLineEdit;
 | |
| class QPushButton;
 | |
| class QTableWidget;
 | |
| class QTimer;
 | |
| 
 | |
| class GCMemcardManager : public QDialog
 | |
| {
 | |
|   Q_OBJECT
 | |
| public:
 | |
|   explicit GCMemcardManager(QWidget* parent = nullptr);
 | |
|   ~GCMemcardManager();
 | |
| 
 | |
| private:
 | |
|   void CreateWidgets();
 | |
|   void ConnectWidgets();
 | |
| 
 | |
|   void UpdateActions();
 | |
|   void UpdateSlotTable(int slot);
 | |
|   void SetSlotFile(int slot, QString path);
 | |
|   void SetSlotFileInteractive(int slot);
 | |
|   void SetActiveSlot(int slot);
 | |
| 
 | |
|   void CopyFiles();
 | |
|   void ImportFile();
 | |
|   void DeleteFiles();
 | |
|   void ExportFiles(bool prompt);
 | |
|   void ExportAllFiles();
 | |
|   void FixChecksums();
 | |
|   void DrawIcons();
 | |
| 
 | |
|   QPixmap GetBannerFromSaveFile(int file_index, int slot);
 | |
|   std::vector<QPixmap> GetIconFromSaveFile(int file_index, int slot);
 | |
| 
 | |
|   // Actions
 | |
|   QPushButton* m_select_button;
 | |
|   QPushButton* m_copy_button;
 | |
|   QPushButton* m_export_button;
 | |
|   QPushButton* m_export_all_button;
 | |
|   QPushButton* m_import_button;
 | |
|   QPushButton* m_delete_button;
 | |
|   QPushButton* m_fix_checksums_button;
 | |
| 
 | |
|   // Slots
 | |
|   static constexpr int SLOT_COUNT = 2;
 | |
|   std::array<std::vector<std::pair<int, std::vector<QPixmap>>>, SLOT_COUNT> m_slot_active_icons;
 | |
|   std::array<std::unique_ptr<GCMemcard>, SLOT_COUNT> m_slot_memcard;
 | |
|   std::array<QGroupBox*, SLOT_COUNT> m_slot_group;
 | |
|   std::array<QLineEdit*, SLOT_COUNT> m_slot_file_edit;
 | |
|   std::array<QPushButton*, SLOT_COUNT> m_slot_file_button;
 | |
|   std::array<QTableWidget*, SLOT_COUNT> m_slot_table;
 | |
|   std::array<QLabel*, SLOT_COUNT> m_slot_stat_label;
 | |
| 
 | |
|   int m_active_slot;
 | |
|   int m_current_frame;
 | |
| 
 | |
|   QDialogButtonBox* m_button_box;
 | |
|   QTimer* m_timer;
 | |
| };
 |