citra-emu
/
citra-canary
Archived
1
0
Fork 0

Merge pull request #4948 from vvanelslande/amiibo-dad

citra_qt: add amiibo drag and drop support
This commit is contained in:
Weiyi Wang 2019-10-05 10:47:46 -04:00 committed by GitHub
commit 35690e3ac7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 4 deletions

View File

@ -1461,6 +1461,10 @@ void GMainWindow::OnLoadAmiibo() {
return; return;
} }
LoadAmiibo(filename);
}
void GMainWindow::LoadAmiibo(const QString& filename) {
Core::System& system{Core::System::GetInstance()}; Core::System& system{Core::System::GetInstance()};
Service::SM::ServiceManager& sm = system.ServiceManager(); Service::SM::ServiceManager& sm = system.ServiceManager();
auto nfc = sm.GetService<Service::NFC::Module::Interface>("nfc:u"); auto nfc = sm.GetService<Service::NFC::Module::Interface>("nfc:u");
@ -1857,10 +1861,21 @@ static bool IsSingleFileDropEvent(QDropEvent* event) {
} }
void GMainWindow::dropEvent(QDropEvent* event) { void GMainWindow::dropEvent(QDropEvent* event) {
if (IsSingleFileDropEvent(event) && ConfirmChangeGame()) { if (!IsSingleFileDropEvent(event)) {
const QMimeData* mimeData = event->mimeData(); return;
QString filename = mimeData->urls().at(0).toLocalFile(); }
BootGame(filename);
const QMimeData* mime_data = event->mimeData();
const QString& filename = mime_data->urls().at(0).toLocalFile();
if (emulation_running && QFileInfo(filename).suffix() == "bin") {
// Amiibo
LoadAmiibo(filename);
} else {
// Game
if (ConfirmChangeGame()) {
BootGame(filename);
}
} }
} }

View File

@ -120,6 +120,7 @@ private:
void ShowNoUpdatePrompt(); void ShowNoUpdatePrompt();
void CheckForUpdates(); void CheckForUpdates();
void SetDiscordEnabled(bool state); void SetDiscordEnabled(bool state);
void LoadAmiibo(const QString& filename);
/** /**
* Stores the filename in the recently loaded files list. * Stores the filename in the recently loaded files list.