Merge pull request #1285 from CookiePLMonster/memcard-slashes-fix
Memory Card Editor fixes
This commit is contained in:
commit
4f9a5d0241
|
@ -33,7 +33,7 @@ MemoryCardEditorDialog::~MemoryCardEditorDialog() = default;
|
||||||
|
|
||||||
bool MemoryCardEditorDialog::setCardA(const QString& path)
|
bool MemoryCardEditorDialog::setCardA(const QString& path)
|
||||||
{
|
{
|
||||||
const int index = m_ui.cardAPath->findData(QVariant(path));
|
const int index = m_ui.cardAPath->findData(QVariant(QDir::toNativeSeparators(path)));
|
||||||
if (index < 0)
|
if (index < 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ bool MemoryCardEditorDialog::setCardA(const QString& path)
|
||||||
|
|
||||||
bool MemoryCardEditorDialog::setCardB(const QString& path)
|
bool MemoryCardEditorDialog::setCardB(const QString& path)
|
||||||
{
|
{
|
||||||
const int index = m_ui.cardBPath->findData(QVariant(path));
|
const int index = m_ui.cardBPath->findData(QVariant(QDir::toNativeSeparators(path)));
|
||||||
if (index < 0)
|
if (index < 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -114,7 +114,8 @@ void MemoryCardEditorDialog::loadCardFromComboBox(Card* card, int index)
|
||||||
QString filename;
|
QString filename;
|
||||||
if (index == 1)
|
if (index == 1)
|
||||||
{
|
{
|
||||||
filename = QFileDialog::getOpenFileName(this, tr("Select Memory Card"), QString(), tr(MEMORY_CARD_IMAGE_FILTER));
|
filename = QDir::toNativeSeparators(
|
||||||
|
QFileDialog::getOpenFileName(this, tr("Select Memory Card"), QString(), tr(MEMORY_CARD_IMAGE_FILTER)));
|
||||||
if (!filename.isEmpty())
|
if (!filename.isEmpty())
|
||||||
{
|
{
|
||||||
// add to combo box
|
// add to combo box
|
||||||
|
@ -238,8 +239,8 @@ void MemoryCardEditorDialog::newCard(Card* card)
|
||||||
{
|
{
|
||||||
promptForSave(card);
|
promptForSave(card);
|
||||||
|
|
||||||
QString filename =
|
QString filename = QDir::toNativeSeparators(
|
||||||
QFileDialog::getSaveFileName(this, tr("Select Memory Card"), QString(), tr(MEMORY_CARD_IMAGE_FILTER));
|
QFileDialog::getSaveFileName(this, tr("Select Memory Card"), QString(), tr(MEMORY_CARD_IMAGE_FILTER)));
|
||||||
if (filename.isEmpty())
|
if (filename.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -264,8 +265,8 @@ void MemoryCardEditorDialog::openCard(Card* card)
|
||||||
{
|
{
|
||||||
promptForSave(card);
|
promptForSave(card);
|
||||||
|
|
||||||
QString filename =
|
QString filename = QDir::toNativeSeparators(
|
||||||
QFileDialog::getOpenFileName(this, tr("Select Memory Card"), QString(), tr(MEMORY_CARD_IMAGE_FILTER));
|
QFileDialog::getOpenFileName(this, tr("Select Memory Card"), QString(), tr(MEMORY_CARD_IMAGE_FILTER)));
|
||||||
if (filename.isEmpty())
|
if (filename.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,8 @@
|
||||||
#include <QtWidgets/QFileDialog>
|
#include <QtWidgets/QFileDialog>
|
||||||
#include <QtWidgets/QLabel>
|
#include <QtWidgets/QLabel>
|
||||||
|
|
||||||
static constexpr char MEMORY_CARD_IMAGE_FILTER[] = QT_TRANSLATE_NOOP("MemoryCardSettingsWidget", "All Memory Card Types (*.mcd *.mcr *.mc)");
|
static constexpr char MEMORY_CARD_IMAGE_FILTER[] =
|
||||||
|
QT_TRANSLATE_NOOP("MemoryCardSettingsWidget", "All Memory Card Types (*.mcd *.mcr *.mc)");
|
||||||
|
|
||||||
MemoryCardSettingsWidget::MemoryCardSettingsWidget(QtHostInterface* host_interface, QWidget* parent,
|
MemoryCardSettingsWidget::MemoryCardSettingsWidget(QtHostInterface* host_interface, QWidget* parent,
|
||||||
SettingsDialog* dialog)
|
SettingsDialog* dialog)
|
||||||
|
@ -104,8 +105,8 @@ void MemoryCardSettingsWidget::createPortSettingsUi(SettingsDialog* dialog, int
|
||||||
|
|
||||||
void MemoryCardSettingsWidget::onBrowseMemoryCardPathClicked(int index)
|
void MemoryCardSettingsWidget::onBrowseMemoryCardPathClicked(int index)
|
||||||
{
|
{
|
||||||
QString path =
|
QString path = QDir::toNativeSeparators(QFileDialog::getOpenFileName(this, tr("Select path to memory card image"),
|
||||||
QFileDialog::getOpenFileName(this, tr("Select path to memory card image"), QString(), tr(MEMORY_CARD_IMAGE_FILTER));
|
QString(), tr(MEMORY_CARD_IMAGE_FILTER)));
|
||||||
if (path.isEmpty())
|
if (path.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
|
@ -950,7 +950,7 @@ void QtHostInterface::populateGameListContextMenu(const GameListEntry* entry, QW
|
||||||
|
|
||||||
QAction* open_memory_cards_action = menu->addAction(tr("Edit Memory Cards..."));
|
QAction* open_memory_cards_action = menu->addAction(tr("Edit Memory Cards..."));
|
||||||
connect(open_memory_cards_action, &QAction::triggered, [this, entry]() {
|
connect(open_memory_cards_action, &QAction::triggered, [this, entry]() {
|
||||||
std::string paths[2];
|
QString paths[2];
|
||||||
for (u32 i = 0; i < 2; i++)
|
for (u32 i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
MemoryCardType type = g_settings.memory_card_types[i];
|
MemoryCardType type = g_settings.memory_card_types[i];
|
||||||
|
@ -962,21 +962,29 @@ void QtHostInterface::populateGameListContextMenu(const GameListEntry* entry, QW
|
||||||
case MemoryCardType::None:
|
case MemoryCardType::None:
|
||||||
continue;
|
continue;
|
||||||
case MemoryCardType::Shared:
|
case MemoryCardType::Shared:
|
||||||
paths[i] =
|
if (g_settings.memory_card_paths[i].empty())
|
||||||
g_settings.memory_card_paths[i].empty() ? GetSharedMemoryCardPath(i) : g_settings.memory_card_paths[i];
|
{
|
||||||
|
paths[i] = QString::fromStdString(GetSharedMemoryCardPath(i));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QFileInfo path(QString::fromStdString(g_settings.memory_card_paths[i]));
|
||||||
|
path.makeAbsolute();
|
||||||
|
paths[i] = QDir::toNativeSeparators(path.canonicalFilePath());
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MemoryCardType::PerGame:
|
case MemoryCardType::PerGame:
|
||||||
paths[i] = GetGameMemoryCardPath(entry->code.c_str(), i);
|
paths[i] = QString::fromStdString(GetGameMemoryCardPath(entry->code.c_str(), i));
|
||||||
break;
|
break;
|
||||||
case MemoryCardType::PerGameTitle:
|
case MemoryCardType::PerGameTitle:
|
||||||
paths[i] = GetGameMemoryCardPath(entry->title.c_str(), i);
|
paths[i] = QString::fromStdString(GetGameMemoryCardPath(entry->title.c_str(), i));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_main_window->openMemoryCardEditor(QString::fromStdString(paths[0]), QString::fromStdString(paths[1]));
|
m_main_window->openMemoryCardEditor(paths[0], paths[1]);
|
||||||
});
|
});
|
||||||
|
|
||||||
const bool has_any_states = resume_action->isEnabled() || load_state_menu->isEnabled();
|
const bool has_any_states = resume_action->isEnabled() || load_state_menu->isEnabled();
|
||||||
|
|
Loading…
Reference in New Issue