mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-27 20:42:47 +01:00
Currently only the name of the option is shown for GUI options overridden by command line (or configuration file). This commit adds the value of the options as well, which is useful for troubleshooting.
87 lines
2.8 KiB
C++
87 lines
2.8 KiB
C++
// Copyright (c) 2011-2013 The Bitcoin developers
|
|
// Distributed under the MIT/X11 software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef OPTIONSMODEL_H
|
|
#define OPTIONSMODEL_H
|
|
|
|
#include <QAbstractListModel>
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
class QNetworkProxy;
|
|
QT_END_NAMESPACE
|
|
|
|
/** Interface from Qt to configuration data structure for Bitcoin client.
|
|
To Qt, the options are presented as a list with the different options
|
|
laid out vertically.
|
|
This can be changed to a tree once the settings become sufficiently
|
|
complex.
|
|
*/
|
|
class OptionsModel : public QAbstractListModel
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit OptionsModel(QObject *parent = 0);
|
|
|
|
enum OptionID {
|
|
StartAtStartup, // bool
|
|
MinimizeToTray, // bool
|
|
MapPortUPnP, // bool
|
|
MinimizeOnClose, // bool
|
|
ProxyUse, // bool
|
|
ProxyIP, // QString
|
|
ProxyPort, // int
|
|
ProxySocksVersion, // int
|
|
Fee, // qint64
|
|
DisplayUnit, // BitcoinUnits::Unit
|
|
DisplayAddresses, // bool
|
|
Language, // QString
|
|
CoinControlFeatures, // bool
|
|
ThreadsScriptVerif, // int
|
|
DatabaseCache, // int
|
|
SpendZeroConfChange, // bool
|
|
OptionIDRowCount,
|
|
};
|
|
|
|
void Init();
|
|
void Reset();
|
|
|
|
int rowCount(const QModelIndex & parent = QModelIndex()) const;
|
|
QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
|
|
bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
|
|
|
|
/* Explicit getters */
|
|
bool getMinimizeToTray() { return fMinimizeToTray; }
|
|
bool getMinimizeOnClose() { return fMinimizeOnClose; }
|
|
int getDisplayUnit() { return nDisplayUnit; }
|
|
bool getDisplayAddresses() { return bDisplayAddresses; }
|
|
bool getProxySettings(QNetworkProxy& proxy) const;
|
|
bool getCoinControlFeatures() { return fCoinControlFeatures; }
|
|
const QString& getOverriddenByCommandLine() { return strOverriddenByCommandLine; }
|
|
|
|
/* Restart flag helper */
|
|
void setRestartRequired(bool fRequired);
|
|
bool isRestartRequired();
|
|
|
|
private:
|
|
/* Qt-only settings */
|
|
bool fMinimizeToTray;
|
|
bool fMinimizeOnClose;
|
|
QString language;
|
|
int nDisplayUnit;
|
|
bool bDisplayAddresses;
|
|
bool fCoinControlFeatures;
|
|
/* settings that were overriden by command-line */
|
|
QString strOverriddenByCommandLine;
|
|
|
|
/// Add option to list of GUI options overridden through command line/config file
|
|
void addOverriddenOption(const std::string &option);
|
|
|
|
signals:
|
|
void displayUnitChanged(int unit);
|
|
void transactionFeeChanged(qint64);
|
|
void coinControlFeaturesChanged(bool);
|
|
};
|
|
|
|
#endif // OPTIONSMODEL_H
|