QT5 fix
[novacoin.git] / src / qt / optionsdialog.cpp
index 4fc9ab8..adb6ffb 100644 (file)
 #include <QRegExp>
 #include <QRegExpValidator>
 #include <QKeyEvent>
+#include <QFileDialog>
+
+#if QT_VERSION < 0x050000
+#include <QDesktopServices>
+#else
+#include <QStandardPaths>
+#endif
 
 OptionsDialog::OptionsDialog(QWidget *parent) :
     QWidget(parent, DIALOGWINDOWHINTS),
@@ -30,10 +37,6 @@ OptionsDialog::OptionsDialog(QWidget *parent) :
     ui->setupUi(this);
 
     /* Network elements init */
-#ifndef USE_UPNP
-    ui->mapPortUpnp->setEnabled(false);
-#endif
-
     ui->proxyIp->setEnabled(false);
     ui->proxyPort->setEnabled(false);
     ui->proxyPort->setValidator(new QIntValidator(1, 65535, this));
@@ -158,8 +161,6 @@ void OptionsDialog::setMapper()
     mapper->addMapping(ui->detachDatabases, OptionsModel::DetachDatabases);
 
     /* Network */
-    mapper->addMapping(ui->mapPortUpnp, OptionsModel::MapPortUPnP);
-
     mapper->addMapping(ui->connectSocks, OptionsModel::ProxyUse);
     mapper->addMapping(ui->proxyIp, OptionsModel::ProxyIP);
     mapper->addMapping(ui->proxyPort, OptionsModel::ProxyPort);
@@ -170,6 +171,7 @@ void OptionsDialog::setMapper()
     mapper->addMapping(ui->torPort, OptionsModel::TorPort);
     mapper->addMapping(ui->TorOnly, OptionsModel::TorOnly);
     mapper->addMapping(ui->torName, OptionsModel::TorName);
+    mapper->addMapping(ui->externalSeederCommand, OptionsModel::ExternalSeeder);
 
 
     /* Window */
@@ -351,4 +353,17 @@ void OptionsDialog::keyPressEvent(QKeyEvent *event)
         close();
     }
 #endif
-}
\ No newline at end of file
+}
+void OptionsDialog::on_chooseSeeder_clicked()
+{
+#if QT_VERSION < 0x050000
+    QString openDir = QDesktopServices::storageLocation(QDesktopServices::ApplicationsLocation);
+#else
+    QString openDir = QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation);
+#endif
+
+    QString filename = QFileDialog::getOpenFileName(this, tr("Choose peer collector application"), openDir, tr("Applications (*.*)"));
+    if(!filename.isEmpty()) {
+        ui->externalSeederCommand->setText(filename);
+    }
+}