|
@@ -630,13 +630,18 @@ void CModListView::on_installButton_clicked()
|
|
|
|
|
|
void CModListView::on_installFromFileButton_clicked()
|
|
|
{
|
|
|
- QString filter = tr("All supported files") + " (*.h3m *.vmap *.h3c *.vcmp *.zip *.json);;" + tr("Maps") + " (*.h3m *.vmap);;" + tr("Campaigns") + " (*.h3c *.vcmp);;" + tr("Configs") + " (*.json);;" + tr("Mods") + " (*.zip)";
|
|
|
- QStringList files = QFileDialog::getOpenFileNames(this, tr("Select files (configs, mods, maps, campaigns) to install..."), QDir::homePath(), filter);
|
|
|
-
|
|
|
- for (const auto & file : files)
|
|
|
+ // iOS can't display modal dialogs when called directly on button press
|
|
|
+ // https://bugreports.qt.io/browse/QTBUG-98651
|
|
|
+ QTimer::singleShot(0, this, [this]
|
|
|
{
|
|
|
- manualInstallFile(file);
|
|
|
- }
|
|
|
+ QString filter = tr("All supported files") + " (*.h3m *.vmap *.h3c *.vcmp *.zip *.json);;" + tr("Maps") + " (*.h3m *.vmap);;" + tr("Campaigns") + " (*.h3c *.vcmp);;" + tr("Configs") + " (*.json);;" + tr("Mods") + " (*.zip)";
|
|
|
+ QStringList files = QFileDialog::getOpenFileNames(this, tr("Select files (configs, mods, maps, campaigns) to install..."), QDir::homePath(), filter);
|
|
|
+
|
|
|
+ for(const auto & file : files)
|
|
|
+ {
|
|
|
+ manualInstallFile(file);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
void CModListView::manualInstallFile(QString filePath)
|