Procházet zdrojové kódy

yuzu: Remove amiibos on drag and drop

german77 před 4 roky
rodič
revize
b504df9d02
1 změnil soubory, kde provedl 10 přidání a 0 odebrání
  1. 10 0
      src/yuzu/main.cpp

+ 10 - 0
src/yuzu/main.cpp

@@ -2937,6 +2937,7 @@ void GMainWindow::OnLoadAmiibo() {
     if (nfc_state == Service::NFP::DeviceState::TagFound ||
         nfc_state == Service::NFP::DeviceState::TagMounted) {
         nfc->CloseAmiibo();
+        QMessageBox::warning(this, tr("Amiibo"), tr("The current amiibo has been removed"));
         return;
     }
 
@@ -2965,6 +2966,15 @@ void GMainWindow::LoadAmiibo(const QString& filename) {
         return;
     }
 
+    // Remove amiibo if one is connected
+    const auto nfc_state = nfc->GetCurrentState();
+    if (nfc_state == Service::NFP::DeviceState::TagFound ||
+        nfc_state == Service::NFP::DeviceState::TagMounted) {
+        nfc->CloseAmiibo();
+        QMessageBox::warning(this, tr("Amiibo"), tr("The current amiibo has been removed"));
+        return;
+    }
+
     QFile nfc_file{filename};
     if (!nfc_file.open(QIODevice::ReadOnly)) {
         QMessageBox::warning(this, tr("Error opening Amiibo data file"),