mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-21 03:45:39 -04:00
Qt: Add memory card editor
This commit is contained in:
63
src/duckstation-qt/memorycardeditordialog.h
Normal file
63
src/duckstation-qt/memorycardeditordialog.h
Normal file
@ -0,0 +1,63 @@
|
||||
#pragma once
|
||||
#include "core/memory_card_image.h"
|
||||
#include "ui_memorycardeditordialog.h"
|
||||
#include <QtWidgets/QComboBox>
|
||||
#include <QtWidgets/QDialog>
|
||||
#include <QtWidgets/QLabel>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QTableWidget>
|
||||
|
||||
class MemoryCardEditorDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
MemoryCardEditorDialog(QWidget* parent);
|
||||
~MemoryCardEditorDialog();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent* ev);
|
||||
void closeEvent(QCloseEvent* ev);
|
||||
|
||||
private Q_SLOTS:
|
||||
void onCardASelectionChanged();
|
||||
void onCardBSelectionChanged();
|
||||
void doCopyFile();
|
||||
void doDeleteFile();
|
||||
|
||||
private:
|
||||
struct Card
|
||||
{
|
||||
std::string filename;
|
||||
MemoryCardImage::DataArray data;
|
||||
std::vector<MemoryCardImage::FileInfo> files;
|
||||
u32 blocks_free = 0;
|
||||
bool dirty = false;
|
||||
|
||||
QComboBox* path_cb = nullptr;
|
||||
QTableWidget* table = nullptr;
|
||||
QLabel* blocks_free_label = nullptr;
|
||||
QPushButton* save_button = nullptr;
|
||||
};
|
||||
|
||||
void connectUi();
|
||||
void populateComboBox(QComboBox* cb);
|
||||
void clearSelection();
|
||||
void loadCardFromComboBox(Card* card, int index);
|
||||
bool loadCard(const QString& filename, Card* card);
|
||||
void updateCardTable(Card* card);
|
||||
void updateCardBlocksFree(Card* card);
|
||||
void setCardDirty(Card* card);
|
||||
void newCard(Card* card);
|
||||
void saveCard(Card* card);
|
||||
void promptForSave(Card* card);
|
||||
void importCard(Card* card);
|
||||
|
||||
std::tuple<Card*, const MemoryCardImage::FileInfo*> getSelectedFile();
|
||||
void updateButtonState();
|
||||
|
||||
Ui::MemoryCardEditorDialog m_ui;
|
||||
|
||||
Card m_card_a;
|
||||
Card m_card_b;
|
||||
};
|
Reference in New Issue
Block a user