Refactoring
[novacoin.git] / src / qt / optionsdialog.cpp
index 777e046..c69ad82 100644 (file)
@@ -5,6 +5,7 @@
 #include "monitoreddatamapper.h"
 #include "netbase.h"
 #include "optionsmodel.h"
+#include "dialogwindowflags.h"
 
 #include <QDir>
 #include <QIntValidator>
 #include <QRegExpValidator>
 
 OptionsDialog::OptionsDialog(QWidget *parent) :
-    QDialog(parent),
+    QDialog(parent, DIALOGWINDOWHINTS),
     ui(new Ui::OptionsDialog),
     model(0),
     mapper(0),
     fRestartWarningDisplayed_Proxy(false),
     fRestartWarningDisplayed_Lang(false),
+    fRestartWarningDisplayed_URL(false),
     fProxyIpValid(true)
 {
     ui->setupUi(this);
@@ -80,6 +82,11 @@ OptionsDialog::OptionsDialog(QWidget *parent) :
         }
     }
 
+#if QT_VERSION >= 0x040700
+    ui->thirdPartyTxUrls->setPlaceholderText("https://example.com/tx/%s");
+#endif
+
+
     ui->unit->setModel(new BitcoinUnits(this));
 
     /* Widget-to-option mapper */
@@ -118,6 +125,7 @@ void OptionsDialog::setModel(OptionsModel *model)
 
     /* warn only when language selection changes by user action (placed here so init via mapper doesn't trigger this) */
     connect(ui->lang, SIGNAL(valueChanged()), this, SLOT(showRestartWarning_Lang()));
+    connect(ui->thirdPartyTxUrls, SIGNAL(textChanged(const QString &)), this, SLOT(showRestartWarning_URL()));
 
     /* disable apply button after settings are loaded as there is nothing to save */
     disableApplyButton();
@@ -148,6 +156,8 @@ void OptionsDialog::setMapper()
     mapper->addMapping(ui->lang, OptionsModel::Language);
     mapper->addMapping(ui->unit, OptionsModel::DisplayUnit);
     mapper->addMapping(ui->displayAddresses, OptionsModel::DisplayAddresses);
+    mapper->addMapping(ui->coinControlFeatures, OptionsModel::CoinControlFeatures);
+    mapper->addMapping(ui->thirdPartyTxUrls, OptionsModel::ThirdPartyTxUrls);
 }
 
 void OptionsDialog::enableApplyButton()
@@ -213,6 +223,16 @@ void OptionsDialog::showRestartWarning_Lang()
     }
 }
 
+void OptionsDialog::showRestartWarning_URL()
+{
+    if(!fRestartWarningDisplayed_URL)
+    {
+        QMessageBox::warning(this, tr("Warning"), tr("This setting will take effect after restarting NovaCoin."), QMessageBox::Ok);
+        fRestartWarningDisplayed_URL = true;
+    }
+}
+
+
 void OptionsDialog::updateDisplayUnit()
 {
     if(model)