From b6a8b46de06a9d5d722f7a4837727f99fed2ce78 Mon Sep 17 00:00:00 2001 From: harry Date: Sun, 26 Mar 2023 17:05:19 -0400 Subject: [PATCH] For Qt GUI, added feature that allows save state files to be loaded via window drag n drop from a file dialog. --- src/drivers/Qt/ConsoleWindow.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/drivers/Qt/ConsoleWindow.cpp b/src/drivers/Qt/ConsoleWindow.cpp index 4deb3a79..3b94cfb9 100644 --- a/src/drivers/Qt/ConsoleWindow.cpp +++ b/src/drivers/Qt/ConsoleWindow.cpp @@ -786,9 +786,21 @@ void consoleWin_t::dropEvent(QDropEvent *event) QFileInfo fi( filename ); QString suffix = fi.suffix(); + bool isStateSaveFile = (suffix.size() == 3) && + (suffix[0] == 'f') && (suffix[1] == 'c') && + ( (suffix[2] == 's') || suffix[2].isDigit() ); + //printf("DragNDrop Suffix: %s\n", suffix.toStdString().c_str() ); - if ( suffix.compare("lua", Qt::CaseInsensitive) == 0 ) + if (isStateSaveFile) + { + FCEU_WRAPPER_LOCK(); + FCEUI_LoadState( filename.toStdString().c_str() ); + FCEU_WRAPPER_UNLOCK(); + + event->accept(); + } + else if ( suffix.compare("lua", Qt::CaseInsensitive) == 0 ) { int luaLoadSuccess;