citra_qt: add amiibo drag and drop support

Co-Authored-By: Valentin Vanelslande <vvanelslandedev@gmail.com>
master
FearlessTobi 2019-11-02 19:22:36 +07:00
parent 11e39da02b
commit 727ba2f2d0
2 changed files with 18 additions and 4 deletions

@ -1839,6 +1839,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::NFP::Module::Interface>("nfp:user"); auto nfc = sm.GetService<Service::NFP::Module::Interface>("nfp:user");
@ -2189,10 +2193,19 @@ 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() == QStringLiteral("bin")) {
LoadAmiibo(filename);
} else {
if (ConfirmChangeGame()) {
BootGame(filename);
}
} }
} }

@ -142,6 +142,7 @@ private:
void ShowTelemetryCallout(); void ShowTelemetryCallout();
void SetDiscordEnabled(bool state); void SetDiscordEnabled(bool state);
void LoadAmiibo(const QString& filename);
void SelectAndSetCurrentUser(); void SelectAndSetCurrentUser();