|
|
@@ -16,6 +16,24 @@
|
|
|
#include "../../lib/GameConstants.h"
|
|
|
#include "../../lib/VCMIDirs.h"
|
|
|
|
|
|
+#ifdef VCMI_IOS
|
|
|
+#include "ios/revealdirectoryinfiles.h"
|
|
|
+#endif
|
|
|
+
|
|
|
+namespace
|
|
|
+{
|
|
|
+void revealDirectoryInFileBrowser(QLineEdit * dirLineEdit)
|
|
|
+{
|
|
|
+ const auto dirUrl = QUrl::fromLocalFile(QFileInfo{dirLineEdit->text()}.absoluteFilePath());
|
|
|
+#ifdef VCMI_IOS
|
|
|
+ iOS_utils::revealDirectoryInFiles(dirUrl);
|
|
|
+#else
|
|
|
+ QDesktopServices::openUrl(dirUrl);
|
|
|
+#endif
|
|
|
+}
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
void AboutProjectView::hideAndStretchWidget(QGridLayout * layout, QWidget * toHide, QWidget * toStretch)
|
|
|
{
|
|
|
toHide->hide();
|
|
|
@@ -47,10 +65,12 @@ AboutProjectView::AboutProjectView(QWidget * parent)
|
|
|
// On mobile platforms these directories are generally not accessible from phone itself, only via USB connection from PC
|
|
|
// Remove "Open" buttons and stretch line with text into now-empty space
|
|
|
hideAndStretchWidget(ui->gridLayout, ui->openGameDataDir, ui->lineEditGameDir);
|
|
|
+#ifdef VCMI_ANDROID
|
|
|
hideAndStretchWidget(ui->gridLayout, ui->openUserDataDir, ui->lineEditUserDataDir);
|
|
|
hideAndStretchWidget(ui->gridLayout, ui->openTempDir, ui->lineEditTempDir);
|
|
|
hideAndStretchWidget(ui->gridLayout, ui->openConfigDir, ui->lineEditConfigDir);
|
|
|
#endif
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
void AboutProjectView::changeEvent(QEvent *event)
|
|
|
@@ -68,22 +88,22 @@ void AboutProjectView::on_updatesButton_clicked()
|
|
|
|
|
|
void AboutProjectView::on_openGameDataDir_clicked()
|
|
|
{
|
|
|
- QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditGameDir->text()).absoluteFilePath()));
|
|
|
+ revealDirectoryInFileBrowser(ui->lineEditGameDir);
|
|
|
}
|
|
|
|
|
|
void AboutProjectView::on_openUserDataDir_clicked()
|
|
|
{
|
|
|
- QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditUserDataDir->text()).absoluteFilePath()));
|
|
|
+ revealDirectoryInFileBrowser(ui->lineEditUserDataDir);
|
|
|
}
|
|
|
|
|
|
void AboutProjectView::on_openTempDir_clicked()
|
|
|
{
|
|
|
- QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditTempDir->text()).absoluteFilePath()));
|
|
|
+ revealDirectoryInFileBrowser(ui->lineEditTempDir);
|
|
|
}
|
|
|
|
|
|
void AboutProjectView::on_openConfigDir_clicked()
|
|
|
{
|
|
|
- QDesktopServices::openUrl(QUrl::fromLocalFile(QFileInfo(ui->lineEditConfigDir->text()).absoluteFilePath()));
|
|
|
+ revealDirectoryInFileBrowser(ui->lineEditConfigDir);
|
|
|
}
|
|
|
|
|
|
void AboutProjectView::on_pushButtonDiscord_clicked()
|
|
|
@@ -106,7 +126,6 @@ void AboutProjectView::on_pushButtonHomepage_clicked()
|
|
|
QDesktopServices::openUrl(QUrl("https://vcmi.eu/"));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
void AboutProjectView::on_pushButtonBugreport_clicked()
|
|
|
{
|
|
|
QDesktopServices::openUrl(QUrl("https://github.com/vcmi/vcmi/issues"));
|