Qt: Add option to create non-existant memory cards on edit

This commit is contained in:
Connor McLaughlin
2021-06-21 17:34:38 +10:00
parent 84fe9aae0e
commit b2e8aa2d30
3 changed files with 46 additions and 4 deletions

View File

@ -44,9 +44,17 @@ MemoryCardEditorDialog::~MemoryCardEditorDialog() = default;
bool MemoryCardEditorDialog::setCardA(const QString& path)
{
const int index = m_ui.cardAPath->findData(QVariant(QDir::toNativeSeparators(path)));
int index = m_ui.cardAPath->findData(QVariant(QDir::toNativeSeparators(path)));
if (index < 0)
return false;
{
QFileInfo file(path);
if (!file.exists())
return false;
QSignalBlocker sb(m_card_a.path_cb);
m_card_a.path_cb->addItem(file.baseName(), QVariant(path));
index = m_card_a.path_cb->count() - 1;
}
m_ui.cardAPath->setCurrentIndex(index);
return true;
@ -54,14 +62,30 @@ bool MemoryCardEditorDialog::setCardA(const QString& path)
bool MemoryCardEditorDialog::setCardB(const QString& path)
{
const int index = m_ui.cardBPath->findData(QVariant(QDir::toNativeSeparators(path)));
int index = m_ui.cardBPath->findData(QVariant(QDir::toNativeSeparators(path)));
if (index < 0)
return false;
{
QFileInfo file(path);
if (!file.exists())
return false;
QSignalBlocker sb(m_card_b.path_cb);
m_card_b.path_cb->addItem(file.baseName(), QVariant(path));
index = m_card_b.path_cb->count() - 1;
}
m_ui.cardBPath->setCurrentIndex(index);
return true;
}
bool MemoryCardEditorDialog::createMemoryCard(const QString& path)
{
MemoryCardImage::DataArray data;
MemoryCardImage::Format(&data);
return MemoryCardImage::SaveToFile(data, path.toUtf8().constData());
}
void MemoryCardEditorDialog::resizeEvent(QResizeEvent* ev)
{
QtUtils::ResizeColumnsForTableView(m_card_a.table, {32, -1, 155, 45});