5 #if defined(HAVE_CONFIG_H) 18 #include <validation.h> 22 #include <QDataWidgetMapper> 24 #include <QIntValidator> 26 #include <QMessageBox> 27 #include <QSystemTrayIcon> 56 ui->
proxyPort->setValidator(
new QIntValidator(1, 65535,
this));
88 QDir translations(
":translations");
96 ui->
lang->addItem(QString(
"(") + tr(
"default") + QString(
")"), QVariant(
""));
97 for (
const QString &langStr : translations.entryList())
99 QLocale locale(langStr);
102 if(langStr.contains(
"_"))
105 ui->
lang->addItem(locale.nativeLanguageName() + QString(
" - ") + locale.nativeCountryName() + QString(
" (") + langStr + QString(
")"), QVariant(langStr));
110 ui->
lang->addItem(locale.nativeLanguageName() + QString(
" (") + langStr + QString(
")"), QVariant(langStr));
116 mapper =
new QDataWidgetMapper(
this);
117 mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
118 mapper->setOrientation(Qt::Vertical);
122 mapper->setItemDelegate(delegate);
132 if (!QSystemTrayIcon::isSystemTrayAvailable()) {
149 this->
model = _model;
159 ui->
pruneSize->setRange(nMinDiskSpace, std::numeric_limits<int>::max());
162 if (strLabel.isEmpty())
163 strLabel = tr(
"none");
189 connect(
ui->
thirdPartyTxUrls, &QLineEdit::textChanged, [
this]{ showRestartWarning(); });
194 QWidget *tab_widget =
nullptr;
195 if (tab == OptionsDialog::Tab::TAB_NETWORK) tab_widget =
ui->
tabNetwork;
196 if (tab == OptionsDialog::Tab::TAB_MAIN) tab_widget =
ui->
tabMain;
197 if (tab_widget &&
ui->
tabWidget->currentWidget() != tab_widget) {
229 if (QSystemTrayIcon::isSystemTrayAvailable()) {
252 QMessageBox::StandardButton btnRetVal = QMessageBox::question(
this, tr(
"Confirm options reset"),
253 tr(
"Client restart required to activate changes.") +
"<br><br>" + tr(
"Client will be shut down. Do you want to proceed?"),
254 QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel);
256 if(btnRetVal == QMessageBox::Cancel)
261 QApplication::quit();
268 QMessageBox::information(
this, tr(
"Configuration options"),
269 tr(
"The configuration file is used to specify advanced user options which override GUI settings. " 270 "Additionally, any command-line options will override this configuration file."));
274 QMessageBox::critical(
this, tr(
"Error"), tr(
"The configuration file could not be opened."));
313 ui->
statusLabel->setText(tr(
"Client restart required to activate changes."));
317 ui->
statusLabel->setText(tr(
"This change would require a client restart."));
345 ui->
statusLabel->setText(tr(
"The supplied proxy address is invalid."));
352 std::string strProxy;
353 QString strDefaultProxyGUI;
383 return QValidator::Acceptable;
385 return QValidator::Invalid;
QCheckBox * spendZeroConfChange
QCheckBox * proxyReachIPv6
OptionsDialog(QWidget *parent, bool enableWallet)
Bitcoin unit definitions.
Proxy address widget validator, checks for a valid proxy address.
CService LookupNumeric(const std::string &name, int portDefault)
Resolve a service string with a numeric IP to its first corresponding service.
QSpinBox * threadsScriptVerif
QPushButton * openBitcoinConfButton
void setupUi(QDialog *OptionsDialog)
int GetNumCores()
Return the number of cores available on the current system.
std::string ToStringIP() const
virtual bool getProxy(Network net, proxyType &proxy_info)=0
Get proxy.
if(it!=peer.m_getdata_requests.end()&&!pfrom.fPauseSend)
void setOkButtonState(bool fState)
const QString & getOverriddenByCommandLine()
static const int64_t nMinDbCache
min. -dbcache (MiB)
QCheckBox * minimizeToTray
static constexpr uint64_t GB_BYTES
void on_resetButton_clicked()
bool isRestartRequired() const
Line edit that can be marked as "invalid" to show input validation feedback.
State
The various states a (txhash,peer) pair can be in.
void togglePruneWarning(bool enabled)
void on_openBitcoinConfButton_clicked()
void handleCloseWindowShortcut(QWidget *w)
A combination of a network address (CNetAddr) and a (TCP) port.
QCheckBox * allowIncoming
void validationDidChange(QValidatedLineEdit *validatedLineEdit)
void setModel(OptionsModel *model)
QDataWidgetMapper * mapper
void on_okButton_clicked()
void updateDefaultProxyNets()
QCheckBox * proxyReachIPv4
void setCurrentTab(OptionsDialog::Tab tab)
QCheckBox * connectSocksTor
void on_hideTrayIcon_stateChanged(int fState)
static constexpr uint16_t DEFAULT_GUI_PROXY_PORT
QLabel * overriddenByCommandLineLabel
interfaces::Node & node() const
QValidatedLineEdit * proxyIpTor
QCheckBox * minimizeOnClose
QLineEdit * thirdPartyTxUrls
Interface from Qt to configuration data structure for Bitcoin client.
QSpacerItem * horizontalSpacer_0_Main
QLabel * thirdPartyTxUrlsLabel
QCheckBox * bitcoinAtStartup
QCheckBox * proxyReachTor
static const int64_t nMaxDbCache
max. -dbcache (MiB)
QVBoxLayout * verticalLayout_Main
void showRestartWarning(bool fPersistent=false)
void setCheckValidator(const QValidator *v)
void setEnabled(bool enabled)
void on_cancelButton_clicked()
QValidatedLineEdit * proxyIp
std::string ToStringPort() const
void updateProxyValidationState()
static const uint64_t MIN_DISK_SPACE_FOR_BLOCK_FILES
QCheckBox * coinControlFeatures
ProxyAddressValidator(QObject *parent)
static const int MAX_SCRIPTCHECK_THREADS
Maximum number of dedicated script-checking threads allowed.
State validate(QString &input, int &pos) const override