Merge pull request #3058 from FearlessTobi/port-4948
Port citra-emu/citra#4948: "citra_qt: add amiibo drag and drop support"
This commit is contained in:
commit
bec7e3b7d9
|
@ -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,12 +2193,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();
|
}
|
||||||
|
|
||||||
|
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);
|
BootGame(filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void GMainWindow::dragEnterEvent(QDragEnterEvent* event) {
|
void GMainWindow::dragEnterEvent(QDragEnterEvent* event) {
|
||||||
if (IsSingleFileDropEvent(event)) {
|
if (IsSingleFileDropEvent(event)) {
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
Reference in New Issue